z390development / z390

z390 Portable Mainframe Assembler and Emulator Project
GNU General Public License v2.0
39 stars 15 forks source link

RPI 1632: path to .390 file does not support .. (prior dir) #203

Open adelosa opened 3 years ago

adelosa commented 3 years ago

Raised by Hugh Sweeney 2019/02/09 Calling z390 using .. in the path to the .390 module leads to Java NullPointerException while opening SYSTERM file. See mail by Hugh Sweeney dd 2019-02-09 13:41 and 2019-02-21 13:10

z390org commented 3 years ago

Email by Hugh Sweeney:

Morning, chaps. I have diagnosed the/a Systerm problem.

On Wed, 23 Jan 2019 at 20:35, Abe Kornelis abe@bixoft.nl wrote:

Hugh,
Op 23/01/2019 om 17:51 schreef Hugh Sweeney:
Abe, Brief notes on some bugs etc, when you get around to catching up with all the emails
**--> reverse chronologically, so starting right here ;-)
    First, I posted a narrative to the forum, but I don't see it. I guess my email address is once again stuck in moderation.

**--> If you're using the same email address you are using for these emails: it is not blocked. I just double-checked. could it be you never actually sent the email, or addressed it incorrectly?

    One of the items that I reported in that post is an abend (nullpointer exception on opening SYSTERM). This was at 1.5.06 and I was unable to reproduce it. But Melvyn got the same abend using my Beta12.jar. And he may be able to reproduce it. In both cases a common context was that the working directory was not the default.

**--> If it is reproducible on Beta 12 or later, then I'll gladly open an RPI. For now I will take no action just yet.

HS: I can reproduce it at will on Beta 12, on both Ubuntu and Windows, Java 8 in both cases. See linked SYSTERM_abort_log.txt below.

In that log, the 'java' command issued by my script is long and wraps to about 4 lines. It ends with the string "zvsam(1)", including quotes. The significant difference between the successful and failing runs is in the string immediately preceding that string. It is the path to my load module (wto1) that is run by EZ390. In all the failing cases, the path contains a "../" element; in all the successful cases it doesn't. The two dots refer to the parent directory of the directory immediately preceding it in the path. (Ignore the fact that in my script the path then continues with the same child directory: it fails for any use of the double-dot notation that I have tried.) In both OSes, in both the successful and failing cases I am running the same load module. The failure appears on the log before vz390 has issued its initialising message, therefore before ez390 has attempted to load my prog.

I first encountered this problem in circumstances that were not exactly the same as above, but my memory is that I had inadvertently keyed in a path modification. Melvyn encountered the same error but I don't know if his setup was like the above.

Hugh

z390org commented 3 years ago

Attachment belonging with the mail above:

Ubuntu 12.04:

hsweeney@ugo-AO531h:/media/CRUZER2/Dev/zVSAM$ rexx wto1
Issuing: java -cp /media/CRUZER2/Dev/zVSAM/classes:/media/CRUZER2/Dev/zVSAM/classes//../../z390b12.jar:/media/CRUZER2/Dev/zVSAM/../z/z390.jar ez390 /media/CRUZER2/Dev/zVSAM/wto1 "zvsam(1)"
09:58:08 wto1   EZ390 START USING z390 V1.6.00b12 ON J2SE 1.8.0_111 02/21/19
!! VZ390: init_vz390 about to choose VSAM handler version...
!! VZ390: zVSAM V1 chosen.
JUST ONE LINE.
09:58:10 wto1   EZ390 ENDED   RC= 0 SEC= 2 MEM(MB)= 11 IO=21 INS=13
hsweeney@ugo-AO531h:/media/CRUZER2/Dev/zVSAM$

hsweeney@ugo-AO531h:/media/CRUZER2/Dev/zVSAM$ rexx wto1
Issuing: java -cp /media/CRUZER2/Dev/zVSAM/classes:/media/CRUZER2/Dev/zVSAM/classes//../../z390b12.jar:/media/CRUZER2/Dev/zVSAM/../z/z390.jar ez390 /media/CRUZER2/Dev/zVSAM/../zVSAM/wto1 "zvsam(1)"
TZ390E abort error 10 - systerm file open error java.lang.NullPointerException
z390_abort_request
wto1    EZ390 TZ390E abort error 10 - systerm file open error java.lang.NullPointerException
    14 *-* address system cmd
    +++ RC=16 +++
RC: 16
hsweeney@ugo-AO531h:/media/CRUZER2/Dev/zVSAM$

Windows 7:

J:\Dev\zVSAM>\regina\rexx wto1 
Issuing: java -cp \Dev\zVSAM\classes;\Dev\zVSAM\classes\/../../z390b12.jar;\Dev\zVSAM\..\z\z390.jar ez390 \Dev\zVSAM\wto1 "zvsam(1)"
11:33:05 wto1      EZ390 START USING z390 V1.6.00b12 ON J2SE 1.8.0_144 02/21/19
!! VZ390: init_vz390 about to choose VSAM handler version...
!! VZ390: zVSAM V1 chosen.
JUST ONE LINE.
11:33:05 wto1      EZ390 ENDED   RC= 0 SEC= 0 MEM(MB)= 11 IO=21 INS=13

J:\Dev\zVSAM>\regina\rexx wto1 
Issuing: java -cp \Dev\zVSAM\classes;\Dev\zVSAM\classes\/../../z390b12.jar;\Dev\zVSAM\..\z\z390.jar ez390 \Dev\zVSAM\..\zVSAM\wto1 "zvsam(1)"
TZ390E abort error 10 - systerm file open error java.lang.NullPointerException
z390_abort_request
wto1      EZ390 TZ390E abort error 10 - systerm file open error java.lang.NullPointerException
    14 *-* address system cmd
       +++ RC=16 +++
RC: 16