|
|
|
|
|
|
| Author |
Message |
Frans Slothouber *nix forums beginner
Joined: 12 Jan 2006
Posts: 5
|
Posted: Thu Jan 12, 2006 8:20 am Post subject:
Crash of 5.8.7 on a `show default`
|
|
|
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, as in:
DKWS38>set def foo$exe:
DKWS38>dir
%DIRECT-E-OPENIN, error opening foo$:[EXE]*.*;* as input
-RMS-E-PRV, insufficient privilege or file protection violation
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
Have fun,
Frans. |
|
| Back to top |
|
 |
Craig A. Berry *nix forums Guru Wannabe
Joined: 27 May 2005
Posts: 143
|
Posted: Fri Jan 13, 2006 12:00 am Post subject:
Re: Crash of 5.8.7 on a `show default`
|
|
|
At 9:20 AM +0100 1/12/06, Frans Slothouber wrote:
| Quote: | 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, as in:
DKWS38>set def foo$exe:
DKWS38>dir
%DIRECT-E-OPENIN, error opening foo$:[EXE]*.*;* as input
-RMS-E-PRV, insufficient privilege or file protection violation
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:
$ DIR
%DIRECT-E-OPENIN, error opening DISK$ALPHASYS:[000000]*.*;* as input
-RMS-E-PRV, insufficient privilege or file protection violation
$ RECA PERL -E
$ perl -e "my $x=`show default`; print qq/hello $x\n/;"
hello disk$alphasys:[000000]
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.
--
________________________________________
Craig A. Berry
mailto:craigberry@mac.com
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser |
|
| Back to top |
|
 |
Frans Slothouber *nix forums beginner
Joined: 12 Jan 2006
Posts: 5
|
Posted: Fri Jan 13, 2006 1:23 pm Post subject:
Re: Crash of 5.8.7 on a `show default`
|
|
|
Craig Berry wrote:
| Quote: | 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. |
|
| Back to top |
|
 |
Frans Slothouber *nix forums beginner
Joined: 12 Jan 2006
Posts: 5
|
Posted: Mon Jan 16, 2006 7:16 am Post subject:
Re: Crash of 5.8.7 on a `show default`
|
|
|
| Quote: | Craig Berry wrote:
At 9:20 AM +0100 1/12/06, Frans Slothouber wrote:
I ran into the following bug today:
DKWS38>type sys$login:tt.pl
my $t = `show default`;
print "hello $t\n";
DKWS38>perl sys$login:tt.pl
[snip]
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
[snip]
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
[snip]
%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.
|
Tried it with
5.8.7 with
Locally applied patches:
MAINT26840
and it results in:
$ perl sys$login:tt.pl
%DCL-I-INVDEF, OVI$:[EXE] does not exist
hello OVI$:[EXE]
%DCL-I-INVDEF, OVI$:[EXE] does not exist
So it seems the bug is gone as it doesn't crash anymore.
(Though the resulting informational is a bit confusing, it is
not that the directory does not exist, but rather that I don't
have permission to access it. But I guess that is not Perl's fault).
Have fun,
Frans. |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|
|
The time now is Tue Dec 02, 2008 4:49 pm | All times are GMT
|
|
Internet Advertising | Loans | Loans | Credit Cards | Personal Loans
|
|
Copyright © 2004-2005 DeniX Solutions SRL
|
|
|
|
Other DeniX Solutions sites:
Unix/Linux blog |
electronics forum |
medicine forum |
science forum |
|
|
Privacy Policy
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|