Craig Berry wrote: > At 9:20 AM +0100 1/12/06, Frans Slothouber wrote: >>I ran into the following bug today: >> >>If the following program >> >> DKWS38>type sys$login:tt.pl >> >> my $t = `show default`; >> print "hello $t\n"; >> >>is run, while my current directory is set to >>a directory I do not have access to, >>perl crashes with the following message: >> >> DKWS38>perl sys$login:tt.pl >> >> Fatal VMS error (status=98970) at >>DISK$PROSY_USER:[PROSY.FRANS.PERL-INTRAFFIC-5_8_7]VMS.C;1, >> line 6896 at sys$login:tt.pl line 1. >> %RMS-E-PRV, insufficient privilege or file protection violation > > I can't reproduce this with the latest development snapshot: > If you have the privs to do it, try
> $ set process/priv=CMKRNL > $ set watch file/class=major > > then run the perl example again. Turn it off with > > $ set watch file/class=none > > That should tell you what it's trying to access that it can't. When > you spawn a process with backticks, there is a a command file called > vmspipe.com that it tries to locate, and if it can't find it, it will > create a temporary version in sys$scratch, sys$login, and sys$disk:[] > (trying each in order). It's possible it's trying to create one of > these temporary files, though that shouldn't happen if vmspipe.com is > available at a reasonable location in your installation tree. Tried it. It seems to have no trouble finding VMSPIPE.COM. The problem really seems to be in the look-up of the offending directory (in this case OVI.DIR) ... %XQP, Thread #0, Access VMSPIPE.COM;1 (30862,1,0) Status: 00000001 %XQP, Thread #0, Control function VMSPIPE.COM;1 (30862,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (30862,1,0) Reads: 0, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Lookup (0,0,0) Status: 00000910 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Access SYSUAF.DAT;1 (11882,1,0) Status: 00000001 %XQP, Thread #0, Deaccess (11882,1,0) Reads: 4, Writes: 0, Status: 00000001 %XQP, Thread #0, Lookup OVI.DIR;1 (1972,1,0) Status: 00000024 Fatal VMS error (status=98970) at DISK$PROSY_USER:[PROSY.FRANS.PERL-INTRAFFIC-5_ 8_7]VMS.C;1, line 6896 at sys$login:tt.pl line 1. %RMS-E-PRV, insufficient privilege or file protection violation I shall try to run this with the latest development release and report back. Have fun, Frans.