LWP::Simple crashes on VMSperl

Discussion in 'Perl Misc' started by juna, Mar 24, 2006.

  1. juna

    juna Guest

    Hello all,

    I have a perl script called getprint_test.pl to fetch and display a web
    page:

    use LWP::Simple;
    getprint "http://www.google.com";

    It crashes on my VMSperl with the following message:

    Fatal VMS error (status=316) at P_ROOT:[000000]VMS.C;2, line 662 at
    /perl_root/lib/site_perl/LWP/Simple.pm line 20.
    Compilation failed in require at getprint_test.pl line 1.
    BEGIN failed--compilation aborted at getprint.pl line 1.
    %SYSTEM-F-IVCHAN, invalid I/O channel

    I'm running OpenVMS v8.2 on an Alpha DS10. Perl v5.8.6
    I tried re-installing libwww-perl versions 5.805, 5.800, 5.69, 5.51,
    5.10 with the same result.

    Here's a snip of mmk test on libwww-perl v5.805:
    :
    local/autoload........
    ok
    local/get.............
    Fatal VMS error (status=100052) at P_ROOT:[000000]VMS.C;2, line 644 at
    .../blib/lib/LWP/Simple.pm line 20.
    Compilation failed in require at local/get.t line 31.
    BEGIN failed--compilation aborted at local/get.t line 31.
    %RMS-F-SYN, file specification syntax error
    Use of uninitialized value in concatenation (.) or string at
    /perl_root/lib/Test/Harness.pm line 809.
    dubious
    Test returned status (wstat 1024, 0x400)
    Use of uninitialized value in concatenation (.) or string at
    /perl_root/lib/Test/Harness.pm line 812.
    (VMS status is )
    local/http-get........
    skipped
    all skipped: Can't talk to ourself (misconfigured system)
    local/http............
    skipped
    all skipped: Can't talk to ourself (misconfigured system)
    local/protosub........
    ok
    Failed Test Stat Wstat Total Fail Failed List of Failed
    -------------------------------------------------------------------------------
    html/form.t 122 1 0.82% 20
    Use of uninitialized value in formline at (eval 5) line 3.
    local/get.t 1024 ?? ?? % ??
    4 tests skipped.
    Failed 2/30 test scripts, 93.33% okay. 1/744 subtests failed, 99.87%
    okay.
    %SYSTEM-F-ABORT, abort
    %MMK-F-ERRUPD, error status %X0000002C occurred when updating target
    TEST

    I have installed all the required prereqs:
    MIME::Base64 v3.07
    URI v1.35
    Digest::MD5 v2.36
    HTML::parser v3.50
    HTML::Tagset v3.10
    Bundle::libnet v1.00
    Compress-Zlib v1.41

    Any ideas?

    Thanks in advance,

    Juna
    juna, Mar 24, 2006
    #1
    1. Advertising

  2. In article <>,
    "juna" <> wrote:

    > I have a perl script called getprint_test.pl to fetch and display a web
    > page:
    >
    > use LWP::Simple;
    > getprint "http://www.google.com";
    >
    > It crashes on my VMSperl with the following message:
    >
    > Fatal VMS error (status=316) at P_ROOT:[000000]VMS.C;2, line 662 at
    > /perl_root/lib/site_perl/LWP/Simple.pm line 20.
    > Compilation failed in require at getprint_test.pl line 1.
    > BEGIN failed--compilation aborted at getprint.pl line 1.
    > %SYSTEM-F-IVCHAN, invalid I/O channel
    >
    > I'm running OpenVMS v8.2 on an Alpha DS10. Perl v5.8.6
    > I tried re-installing libwww-perl versions 5.805, 5.800, 5.69, 5.51,
    > 5.10 with the same result.
    >


    I can't reproduce this with Perl 5.8.4, LWP 5.79, which is what I
    happen to have installed. The error you are getting is where it
    spawns a subprocess running SHOW LOGICAL * and then reads and parses
    the output in order to populate the %ENV hash. You should check your
    PRCLM quota to make sure you aren't exceeding the number of
    subprocesses you're allowed to create and also make sure you have
    NETMBX and TMPMBX privileges since the IPC is done through a mailbox.

    You might want to debug this further by seeing if you can run anything
    that accesses %ENV, such as:

    $ perl -e "print join qq/\n/, keys %ENV;"
    *** Free account sponsored by SecureIX.com ***
    *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
    Craig A. Berry, Mar 25, 2006
    #2
    1. Advertising

  3. juna

    juna Guest

    Craig,

    I tried your one-liner with all privs turned on and it gave me a fatal
    error:
    $ perl -e "print join qq/\n/, keys %ENV;"
    Fatal VMS error (status=100052) at P_ROOT:[000000]VMS.C;2, line 644 at
    -e line 1.
    %RMS-F-SYN, file specification syntax error

    I also ran the same thing under Perl 5.6.0 and it worked with minimum
    privs.
    What now?

    Juna
    juna, Mar 27, 2006
    #3
  4. juna

    juna Guest

    It seems that my last post didn't go through. It went like this:

    Craig,

    The crash goes away when I deassign the logical PERL_ENV_TABLES.
    I had it defined to LNM$PROCESS because the readme.vms in
    DBD-Oracle1.16 told me to.
    After a little more reading on the subject, I can keep DBD-Oracle
    happy and prevent the crash if I do a
    define PERL_ENV_TABLES crtl_env,clisym_global,lnm$process.

    Can you (or any other VMSperl expert) tell me if my fix is okay?
    or am I going to break something else?

    Regards,

    Juna

    PS. My apologies to the creator(s) of LWP::Simple. Your module
    wasn't the problem, just the messenger.
    juna, Apr 10, 2006
    #4
  5. In article <>,
    "juna" <> wrote:

    > It seems that my last post didn't go through. It went like this:
    >
    > Craig,
    >
    > The crash goes away when I deassign the logical PERL_ENV_TABLES.
    > I had it defined to LNM$PROCESS because the readme.vms in
    > DBD-Oracle1.16 told me to.
    > After a little more reading on the subject, I can keep DBD-Oracle
    > happy and prevent the crash if I do a
    > define PERL_ENV_TABLES crtl_env,clisym_global,lnm$process.
    >
    > Can you (or any other VMSperl expert) tell me if my fix is okay?
    > or am I going to break something else?
    >
    > Regards,
    >
    > Juna
    >
    > PS. My apologies to the creator(s) of LWP::Simple. Your module
    > wasn't the problem, just the messenger.


    Thanks for narrowing it down to the definition of PERL_ENV_TABLES.
    I've now been able to reproduce the bug in the current development
    release of Perl by simply doing the following:

    $ define perl_env_tables lnm$process
    $ perl -e "print join qq/\n/, keys %ENV;"
    Fatal VMS error (status=100052) at D0:[CRAIG.perl]vms.c;1, line 1071 at
    -e line 1.
    %RMS-F-SYN, file specification syntax error

    So this should be fairly straightforward to fix. In the meantime, your
    workaround sounds as good as any. There is of course no way to
    guarantee that any particular definition of PERL_ENV_TABLES will work
    for every script or module you may encounter.
    *** Free account sponsored by SecureIX.com ***
    *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
    Craig A. Berry, Apr 12, 2006
    #5
  6. In article <>,
    "Craig A. Berry" <> wrote:

    > In article <>,
    > "juna" <> wrote:
    >
    > > It seems that my last post didn't go through. It went like this:
    > >
    > > Craig,
    > >
    > > The crash goes away when I deassign the logical PERL_ENV_TABLES.
    > > I had it defined to LNM$PROCESS because the readme.vms in
    > > DBD-Oracle1.16 told me to.
    > > After a little more reading on the subject, I can keep DBD-Oracle
    > > happy and prevent the crash if I do a
    > > define PERL_ENV_TABLES crtl_env,clisym_global,lnm$process.
    > >
    > > Can you (or any other VMSperl expert) tell me if my fix is okay?
    > > or am I going to break something else?
    > >
    > > Regards,
    > >
    > > Juna
    > >
    > > PS. My apologies to the creator(s) of LWP::Simple. Your module
    > > wasn't the problem, just the messenger.

    >
    > Thanks for narrowing it down to the definition of PERL_ENV_TABLES.
    > I've now been able to reproduce the bug in the current development
    > release of Perl by simply doing the following:
    >
    > $ define perl_env_tables lnm$process
    > $ perl -e "print join qq/\n/, keys %ENV;"
    > Fatal VMS error (status=100052) at D0:[CRAIG.perl]vms.c;1, line 1071 at
    > -e line 1.
    > %RMS-F-SYN, file specification syntax error
    >
    > So this should be fairly straightforward to fix. In the meantime, your
    > workaround sounds as good as any. There is of course no way to
    > guarantee that any particular definition of PERL_ENV_TABLES will work
    > for every script or module you may encounter.


    I've just committed a patch for this issue, which turned out to just be
    the removal of a wayward exclamation mark. The patch is visible here:

    http://public.activestate.com/cgi-bin/perlbrowse?patch=27808

    That should make it into Perl 5.8.9.
    *** Posted via a free Usenet account from http://www.teranews.com ***
    Craig A. Berry, Apr 15, 2006
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. cp
    Replies:
    3
    Views:
    6,024
  2. Thomas =?ISO-8859-15?Q?G=F6tz?=

    LWP::Simple and utf8 problem

    Thomas =?ISO-8859-15?Q?G=F6tz?=, Apr 19, 2004, in forum: Perl
    Replies:
    0
    Views:
    706
    Thomas =?ISO-8859-15?Q?G=F6tz?=
    Apr 19, 2004
  3. Tmk
    Replies:
    2
    Views:
    416
  4. format bug in vmsperl

    , Dec 19, 2005, in forum: Perl Misc
    Replies:
    0
    Views:
    69
  5. ggl.20.jjpon@spamgourmetDOT-SEE-OH-EM

    format bug in vmsperl

    ggl.20.jjpon@spamgourmetDOT-SEE-OH-EM, Dec 19, 2005, in forum: Perl Misc
    Replies:
    2
    Views:
    82
    John Santos
    Dec 20, 2005
Loading...

Share This Page