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.





Reply via email to