niXforums Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   PreferencesPreferences   Log in to check your private messagesLog in to check your private messages   Log inLog in 
·  nixdoc.net ·  man pages ·  Linux HOWTOs ·  FreeBSD Tips ·  Forums
navigation Forum index » Not Unix » VMS » vmsperl
Crash of 5.8.7 on a `show default`
Post new topic   Reply to topic Page 1 of 1 [4 Posts] View previous topic :: View next topic
Author Message
Frans Slothouber
*nix forums beginner


Joined: 12 Jan 2006
Posts: 5

PostPosted: Thu Jan 12, 2006 8:20 am    Post subject: Crash of 5.8.7 on a `show default` Reply with 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



Have fun,
Frans.
Back to top
Craig A. Berry
*nix forums Guru Wannabe


Joined: 27 May 2005
Posts: 143

PostPosted: Fri Jan 13, 2006 12:00 am    Post subject: Re: Crash of 5.8.7 on a `show default` Reply with quote

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

PostPosted: Fri Jan 13, 2006 1:23 pm    Post subject: Re: Crash of 5.8.7 on a `show default` Reply with quote

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

PostPosted: Mon Jan 16, 2006 7:16 am    Post subject: Re: Crash of 5.8.7 on a `show default` Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [4 Posts] View previous topic :: View next topic
The time now is Tue Dec 02, 2008 4:49 pm | All times are GMT
navigation Forum index » Not Unix » VMS » vmsperl
Jump to:  

Similar Topics
Topic Author Forum Replies Last Post
No new posts change default install directory when using bdist_rpm krithika.sridhar@gmail.co python 1 Fri Jul 21, 2006 4:09 am
No new posts Regular Expressions crash course elyob PHP 1 Thu Jul 20, 2006 8:07 pm
No new posts Bizarre Crash Recovery Michel Esber IBM DB2 1 Thu Jul 20, 2006 6:24 pm
No new posts does the default constructor initialize values? NewToCPP C++ 12 Thu Jul 20, 2006 3:37 pm
No new posts How to show the last time Solaris 8 machine was patched Arizona Solaris 2 Thu Jul 20, 2006 1:42 pm

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
[ Time: 0.2017s ][ Queries: 16 (0.1061s) ][ GZIP on - Debug on ]