Server to Windx failure

Started by michaelgreer, June 30, 2023, 10:56:28 AM

Previous topic - Next topic

michaelgreer

I'm almost embarassed to post this as we are talking pvx 7.7, but here goes.  I customer is replacing their Redhat 5.7 server with a new Centos 7 server.  PVX seems to run fine, but any time it tries to do certain things via Windx, the session drops. So, this program will cause the issue on the write record:

0010 open (hfn,isz=-1)"/tmp/4586-1.out"; let IN=lfo
0015 let THIS_FILE$="[wdx]c:\infor\jmg.pdf"
0020 execute "[wdx]serial "+$22$+THIS_FILE$(6)+$22$
0025 open lock (hfn,isz=-1)THIS_FILE$; let OUT=lfo
0030 read record (IN,siz=512)XX$
0035 write record (OUT)XX$

If I change the IP address that the Windx client is using to be the old server, everything works.  Any insight here would be appreciated.

Thanks!  Michael

Mike King

You have doubled the [wdx] references.

You are passing the SERIAL command to windx due the [wdx] prefix on the EXECUTE string, and there the file name is [wdx]c:\in... which would be wrong since the command is already executing on the WindX workstation.

And yes, you should be embarrassed for still running that old a version ;)
Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

michaelgreer

Mike,  I *think* you missed the substring on the "this_File$" in the execute command.

Mike King

Ah -- you are correct.

Now as for your issue we would need to know which instruction is failing.
Also, I assume you are using the WindX that matched the version of ProvideX you are using.  Older ProvideX may have issues with PxPlus WindX as there were additional features such as security to consider.
Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

michaelgreer

I verified that the Windx version matches the version of Providex.  The instruction that fails is he write record. When I step through that command providex drops.  I am trying to re-connect with the customer and see if an error branch will trap an error (I doubt it, but I'm going to try).

michaelgreer

I added the error branch on the write record.  Providex still dropped out on the write record. So, to be clear, I can create the serial file on the Windx Client machine; I can open the file. As soon as I try a write record of any size (I did create a file and do a write record of the word "test" with no issue) providex exits.

James Zukowski

Just to confirm: After the drop, there's an empty file on the user's PC, correct?
James Zukowski
Sr. Developer - J&E

BRAND>SAFWAY
Brand Industrial Services

Mike King

We have no way to assist as that software is from 2008 and no longer supported (Its over 15 years old).

I would probably try a different local file pathname (perhaps c:\infor is read only). If they are running anti-virus software you might try disabling that in case it kills any program that it doesn't recognize that attempts to write to the PC disc.

Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

michaelgreer

James, Yes, empty file.  Mike, I will check on the AV issue; if I can create the file (which I can) doesn't that prove that the directory is writeable?

Mike King

Michael

Yes -- I would expect Windows to complain if the directory was not writable when creating a file.

One thing you might try is when connected via WindX try entering the following at PxPlus command line:

cp ** [lcl]c:\somedir\somefile

The CP command does basically what you are trying to do -- so the above will copy the system utility ** to the local c:\somedir\somefile.  Do this without an error_handler active so any error should be reported locally.
Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

michaelgreer

Mike,

I think we got off a little bit.  I am trying to read data from a linux file and write it to a local file.  I open the linux source; I create and open the windows target. I read the linux file with a block.  When I issue the write to the local windows file, it PxPlus dies.  The customer provided this grid:
                        IP               OS                       PVX VERSION   
LIVE SERVER   192.168.101.6       Red Hat Enterprise 5.7   514(32 bit)   
TEST SERVER   192.168.101.66       Centos 7                   771(64 bit)   
TEST CLIENT   192.168.101.161    Windows 10 Home           771(64 bit)   

What is odd is that if the  test client is pointed over to the Centos Server the failure does not occur.

Mike King

Okay if I follow what you are saying ...


  • Running on the Red Hat 5.7 server using ProvideX 5.14 dies when you issue the WRITE RECORD to the WindX file.
  • Running on the Centos 7 server using ProvideX 7.71 works when you issue the WRITE RECORD to the WindX file.
(You cannot be running PxPlus anywhere given the versions you are quoting)

If the above is correct the issue is likely an incompatibility between ProvideX 5.14 and whatever WindX you are using which would not be surprising given the age of ProvideX 5.14.

You might be able to use an older WindX when connecting to version 5.14 ProvideX, but frankly I would suggest you upgrade the systems to software made at least within the past decade. 

Version 5.14 came out in 2004 and 7.71 in 2008.  Neither of these were ever designed to run on Centos 7 (circa 2014) or Windows 10 (circa 2015) so problems are to be expected.




Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

michaelgreer

A final note here. I have no idea why this works, but if I adjust the block size down to 256 bytes when I am transferring from Linux to windows it all works.  I had cut down to 1024, and then 512. Both of those failed, so I stopped.  Go figure.