Loading ...
Sorry, an error occurred while loading the content.

Re: [soaplite] Re: Diesignal and Expath.pm

Expand Messages
  • Paul Kulchenko
    Hi Tim, ... This one? (XML::Parser::Lite.pm) - eval qq{sub parse_re { use re eval ; 1 while $_[0] =~ m{$_}go }; 1} or die; + eval qq{sub parse_re { use
    Message 1 of 11 , Nov 11, 2002
    • 0 Attachment
      Hi Tim,

      > This is an old bug (>6 months). There is a problem with one of the
      > pattern
      > matches in the pure-perl parser (a bug in the perl detainting). I

      This one?

      (XML::Parser::Lite.pm)
      - eval qq{sub parse_re { use re "eval"; 1 while \$_[0] =~
      m{$_}go }; 1} or die;
      + eval qq{sub parse_re { use re "eval"; my \$t = \$_[0]; 1 while
      \$t =~ m{$_}go }; 1} or die;

      Trond, does this help? Can't think of anything else.

      Best wishes, Paul.

      --- Tim Jenness <t.jenness@...> wrote:
      >
      > This is an old bug (>6 months). There is a problem with one of the
      > pattern
      > matches in the pure-perl parser (a bug in the perl detainting). I
      > think
      > Paul has a workaround (it came up in perl5-porters prior to the
      > release of
      > perl 5.8.0) but I can't remember exactly what that work around is
      > (I was
      > hoping he would make a new release with this fix in).
      >
      > Tim
      >
      > On Mon, 11 Nov 2002, trond_straume wrote:
      >
      > > But with:
      > >
      > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
      > >
      > > I'm not able to run Perl in Tainted mode. The script "stops
      > > processing" after recieving the response from the server (just
      > > waiting to timeout)...
      > >
      > > Why?
      > >
      > > Regards
      > > Trond Straume
      > >
      > > --- In soaplite@y..., "trond_straume" <trond.straume@o...> wrote:
      > > > When I included:
      > > >
      > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
      > > >
      > > > to my code, everything seems to work fine (though it runs a bit
      >
      > > > slower).
      > > >
      > > > Is it possible that the problem is due to my installation of
      > > > XML::Parser?
      > > >
      > > > (I'm using perl 5.6.1)
      > > >
      > > > Regards
      > > >
      > > > Trond Straume
      > > >
      > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
      > wrote:
      > > > > Hi!
      > > > >
      > > > > when I'm including this code to mye Soap::Lite client:
      > > > >
      > > > > sub BEGIN {
      > > > > $diehandler = $SIG{'__DIE__'};
      > > > > $SIG{'__DIE__'} = \&print_error;
      > > > > }
      > > > >
      > > > > sub END {
      > > > > $SIG{'__DIE__'} = $diehandler;
      > > > > }
      > > > >
      > > > > it produces this strange errormessage:
      > > > >
      > > > > Can't use string ("<?xml version='1.0' encoding='UT") as a
      > symbol
      > > > ref
      > > > > while "strict refs" in use
      > > > > at /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
      > > > > ld/XML/Parser/Expat.pm line 456.
      > > > >
      > > > > The thing is that the response from the soap-server, includes
      >
      > > this
      > > > > declaration:
      > > > >
      > > > > <?xml version='1.0' encoding='UTF-8'?>
      > > > > blah blah
      > > > > blah
      > > > > .
      > > > > .
      > > > >
      > > > > Are there any known problems, when using single quotes (')
      > > instead
      > > > of
      > > > > double ("), or is the error due to other problems?
      > > > >
      > > > > Regards
      > > > >
      > > > > Trond Straume
      > >
      > >
      > >
      > > To unsubscribe from this group, send an email to:
      > > soaplite-unsubscribe@yahoogroups.com
      > >
      > >
      > >
      > > Your use of Yahoo! Groups is subject to
      > http://docs.yahoo.com/info/terms/
      > >
      > >
      > >
      >
      > --
      > Tim Jenness
      > JAC software
      > http://www.jach.hawaii.edu/~timj
      >
      >
      >
      > ------------------------ Yahoo! Groups Sponsor
      >
      > To unsubscribe from this group, send an email to:
      > soaplite-unsubscribe@yahoogroups.com
      >
      >
      >
      > Your use of Yahoo! Groups is subject to
      > http://docs.yahoo.com/info/terms/
      >
      >


      __________________________________________________
      Do you Yahoo!?
      U2 on LAUNCH - Exclusive greatest hits videos
      http://launch.yahoo.com/u2
    • trond_straume
      Hi! Yes, this works just fine! But I still don t get it why XML/Parser/Expat.pm line 456. sends diesignal when using XML::Parser. May it be due to 5.6.1?
      Message 2 of 11 , Nov 12, 2002
      • 0 Attachment
        Hi!

        Yes, this works just fine!

        But I still don't get it why "XML/Parser/Expat.pm line 456." sends
        diesignal when using XML::Parser. May it be due to 5.6.1?

        Trond

        --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
        > Hi Tim,
        >
        > > This is an old bug (>6 months). There is a problem with one of the
        > > pattern
        > > matches in the pure-perl parser (a bug in the perl detainting). I
        >
        > This one?
        >
        > (XML::Parser::Lite.pm)
        > - eval qq{sub parse_re { use re "eval"; 1 while \$_[0] =~
        > m{$_}go }; 1} or die;
        > + eval qq{sub parse_re { use re "eval"; my \$t = \$_[0]; 1
        while
        > \$t =~ m{$_}go }; 1} or die;
        >
        > Trond, does this help? Can't think of anything else.
        >
        > Best wishes, Paul.
        >
        > --- Tim Jenness <t.jenness@j...> wrote:
        > >
        > > This is an old bug (>6 months). There is a problem with one of the
        > > pattern
        > > matches in the pure-perl parser (a bug in the perl detainting). I
        > > think
        > > Paul has a workaround (it came up in perl5-porters prior to the
        > > release of
        > > perl 5.8.0) but I can't remember exactly what that work around is
        > > (I was
        > > hoping he would make a new release with this fix in).
        > >
        > > Tim
        > >
        > > On Mon, 11 Nov 2002, trond_straume wrote:
        > >
        > > > But with:
        > > >
        > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
        > > >
        > > > I'm not able to run Perl in Tainted mode. The script "stops
        > > > processing" after recieving the response from the server (just
        > > > waiting to timeout)...
        > > >
        > > > Why?
        > > >
        > > > Regards
        > > > Trond Straume
        > > >
        > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
        wrote:
        > > > > When I included:
        > > > >
        > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
        > > > >
        > > > > to my code, everything seems to work fine (though it runs a
        bit
        > >
        > > > > slower).
        > > > >
        > > > > Is it possible that the problem is due to my installation of
        > > > > XML::Parser?
        > > > >
        > > > > (I'm using perl 5.6.1)
        > > > >
        > > > > Regards
        > > > >
        > > > > Trond Straume
        > > > >
        > > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
        > > wrote:
        > > > > > Hi!
        > > > > >
        > > > > > when I'm including this code to mye Soap::Lite client:
        > > > > >
        > > > > > sub BEGIN {
        > > > > > $diehandler = $SIG{'__DIE__'};
        > > > > > $SIG{'__DIE__'} = \&print_error;
        > > > > > }
        > > > > >
        > > > > > sub END {
        > > > > > $SIG{'__DIE__'} = $diehandler;
        > > > > > }
        > > > > >
        > > > > > it produces this strange errormessage:
        > > > > >
        > > > > > Can't use string ("<?xml version='1.0' encoding='UT") as a
        > > symbol
        > > > > ref
        > > > > > while "strict refs" in use
        > > > > > at /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
        > > > > > ld/XML/Parser/Expat.pm line 456.
        > > > > >
        > > > > > The thing is that the response from the soap-server,
        includes
        > >
        > > > this
        > > > > > declaration:
        > > > > >
        > > > > > <?xml version='1.0' encoding='UTF-8'?>
        > > > > > blah blah
        > > > > > blah
        > > > > > .
        > > > > > .
        > > > > >
        > > > > > Are there any known problems, when using single quotes (')
        > > > instead
        > > > > of
        > > > > > double ("), or is the error due to other problems?
        > > > > >
        > > > > > Regards
        > > > > >
        > > > > > Trond Straume
        > > >
        > > >
        > > >
        > > > To unsubscribe from this group, send an email to:
        > > > soaplite-unsubscribe@y...
        > > >
        > > >
        > > >
        > > > Your use of Yahoo! Groups is subject to
        > > http://docs.yahoo.com/info/terms/
        > > >
        > > >
        > > >
        > >
        > > --
        > > Tim Jenness
        > > JAC software
        > > http://www.jach.hawaii.edu/~timj
        > >
        > >
        > >
        > > ------------------------ Yahoo! Groups Sponsor
        > >
        > > To unsubscribe from this group, send an email to:
        > > soaplite-unsubscribe@y...
        > >
        > >
        > >
        > > Your use of Yahoo! Groups is subject to
        > > http://docs.yahoo.com/info/terms/
        > >
        > >
        >
        >
        > __________________________________________________
        > Do you Yahoo!?
        > U2 on LAUNCH - Exclusive greatest hits videos
        > http://launch.yahoo.com/u2
      • Sean.Meisner@VerizonWireless.com
        Expat.pm does something squirrely. It has a method that allows you to pass in a scalar containing a string of XML, OR a handle to a file that presumably
        Message 3 of 11 , Nov 12, 2002
        • 0 Attachment
          Expat.pm does something squirrely. It has a method that
          allows you to pass in a scalar containing a string of XML,
          OR a handle to a file that presumably contains some XML.

          In order to ascertain whether it's been passed a
          string or a filehandle, the method first attempts to
          treat the variable as a filehandle. This generates a
          die signal if the variable you have passed was a string.
          The method catches the die signal using eval {} so normally
          you would never know the signal was generated.

          This is all good UNLESS the default die handler is overidden.
          Then, you'll see strange behaviour. This has caused problems
          for me when using CGI::Carp in conjunction with Expat,
          because CGI::Carp also overrides the default die handler.

          Cheers,

          Sean


          > -----Original Message-----
          > From: trond_straume [mailto:trond.straume@...]
          > Sent: Tuesday, November 12, 2002 4:08 AM
          > To: soaplite@yahoogroups.com
          > Subject: [soaplite] Re: Diesignal and Expath.pm
          >
          >
          > Hi!
          >
          > Yes, this works just fine!
          >
          > But I still don't get it why "XML/Parser/Expat.pm line 456." sends
          > diesignal when using XML::Parser. May it be due to 5.6.1?
          >
          > Trond
          >
          > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
          > > Hi Tim,
          > >
          > > > This is an old bug (>6 months). There is a problem with one of the
          > > > pattern
          > > > matches in the pure-perl parser (a bug in the perl detainting). I
          > >
          > > This one?
          > >
          > > (XML::Parser::Lite.pm)
          > > - eval qq{sub parse_re { use re "eval"; 1 while \$_[0] =~
          > > m{$_}go }; 1} or die;
          > > + eval qq{sub parse_re { use re "eval"; my \$t = \$_[0]; 1
          > while
          > > \$t =~ m{$_}go }; 1} or die;
          > >
          > > Trond, does this help? Can't think of anything else.
          > >
          > > Best wishes, Paul.
          > >
          > > --- Tim Jenness <t.jenness@j...> wrote:
          > > >
          > > > This is an old bug (>6 months). There is a problem with one of the
          > > > pattern
          > > > matches in the pure-perl parser (a bug in the perl detainting). I
          > > > think
          > > > Paul has a workaround (it came up in perl5-porters prior to the
          > > > release of
          > > > perl 5.8.0) but I can't remember exactly what that work around is
          > > > (I was
          > > > hoping he would make a new release with this fix in).
          > > >
          > > > Tim
          > > >
          > > > On Mon, 11 Nov 2002, trond_straume wrote:
          > > >
          > > > > But with:
          > > > >
          > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
          > > > >
          > > > > I'm not able to run Perl in Tainted mode. The script "stops
          > > > > processing" after recieving the response from the server (just
          > > > > waiting to timeout)...
          > > > >
          > > > > Why?
          > > > >
          > > > > Regards
          > > > > Trond Straume
          > > > >
          > > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
          > wrote:
          > > > > > When I included:
          > > > > >
          > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
          > > > > >
          > > > > > to my code, everything seems to work fine (though it runs a
          > bit
          > > >
          > > > > > slower).
          > > > > >
          > > > > > Is it possible that the problem is due to my installation of
          > > > > > XML::Parser?
          > > > > >
          > > > > > (I'm using perl 5.6.1)
          > > > > >
          > > > > > Regards
          > > > > >
          > > > > > Trond Straume
          > > > > >
          > > > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
          > > > wrote:
          > > > > > > Hi!
          > > > > > >
          > > > > > > when I'm including this code to mye Soap::Lite client:
          > > > > > >
          > > > > > > sub BEGIN {
          > > > > > > $diehandler = $SIG{'__DIE__'};
          > > > > > > $SIG{'__DIE__'} = \&print_error;
          > > > > > > }
          > > > > > >
          > > > > > > sub END {
          > > > > > > $SIG{'__DIE__'} = $diehandler;
          > > > > > > }
          > > > > > >
          > > > > > > it produces this strange errormessage:
          > > > > > >
          > > > > > > Can't use string ("<?xml version='1.0' encoding='UT") as a
          > > > symbol
          > > > > > ref
          > > > > > > while "strict refs" in use
          > > > > > > at /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
          > > > > > > ld/XML/Parser/Expat.pm line 456.
          > > > > > >
          > > > > > > The thing is that the response from the soap-server,
          > includes
          > > >
          > > > > this
          > > > > > > declaration:
          > > > > > >
          > > > > > > <?xml version='1.0' encoding='UTF-8'?>
          > > > > > > blah blah
          > > > > > > blah
          > > > > > > .
          > > > > > > .
          > > > > > >
          > > > > > > Are there any known problems, when using single quotes (')
          > > > > instead
          > > > > > of
          > > > > > > double ("), or is the error due to other problems?
          > > > > > >
          > > > > > > Regards
          > > > > > >
          > > > > > > Trond Straume
          > > > >
          > > > >
          > > > >
          > > > > To unsubscribe from this group, send an email to:
          > > > > soaplite-unsubscribe@y...
          > > > >
          > > > >
          > > > >
          > > > > Your use of Yahoo! Groups is subject to
          > > > http://docs.yahoo.com/info/terms/
          > > > >
          > > > >
          > > > >
          > > >
          > > > --
          > > > Tim Jenness
          > > > JAC software
          > > > http://www.jach.hawaii.edu/~timj
          > > >
          > > >
          > > >
          > > > ------------------------ Yahoo! Groups Sponsor
          > > >
          > > > To unsubscribe from this group, send an email to:
          > > > soaplite-unsubscribe@y...
          > > >
          > > >
          > > >
          > > > Your use of Yahoo! Groups is subject to
          > > > http://docs.yahoo.com/info/terms/
          > > >
          > > >
          > >
          > >
          > > __________________________________________________
          > > Do you Yahoo!?
          > > U2 on LAUNCH - Exclusive greatest hits videos
          > > http://launch.yahoo.com/u2
          >
          >
          > To unsubscribe from this group, send an email to:
          > soaplite-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to
          http://docs.yahoo.com/info/terms/
        • Paul Kulchenko
          Hi Sean, ... Absolutely true. However, knowing this effect, I do have local $SIG{__DIE__}; deep in my handler, so you shouldn t see parser errors (you won t
          Message 4 of 11 , Nov 12, 2002
          • 0 Attachment
            Hi Sean,

            > This is all good UNLESS the default die handler is overidden.
            > Then, you'll see strange behaviour. This has caused problems
            Absolutely true. However, knowing this effect, I do have "local
            $SIG{__DIE__};" deep in my handler, so you shouldn't see parser
            errors (you won't be able to catch them either). I wonder why that
            doesn't work.

            Best wishes, Paul.

            --- Sean.Meisner@... wrote:
            > Expat.pm does something squirrely. It has a method that
            > allows you to pass in a scalar containing a string of XML,
            > OR a handle to a file that presumably contains some XML.
            >
            > In order to ascertain whether it's been passed a
            > string or a filehandle, the method first attempts to
            > treat the variable as a filehandle. This generates a
            > die signal if the variable you have passed was a string.
            > The method catches the die signal using eval {} so normally
            > you would never know the signal was generated.
            >
            > This is all good UNLESS the default die handler is overidden.
            > Then, you'll see strange behaviour. This has caused problems
            > for me when using CGI::Carp in conjunction with Expat,
            > because CGI::Carp also overrides the default die handler.
            >
            > Cheers,
            >
            > Sean
            >
            >
            > > -----Original Message-----
            > > From: trond_straume [mailto:trond.straume@...]
            > > Sent: Tuesday, November 12, 2002 4:08 AM
            > > To: soaplite@yahoogroups.com
            > > Subject: [soaplite] Re: Diesignal and Expath.pm
            > >
            > >
            > > Hi!
            > >
            > > Yes, this works just fine!
            > >
            > > But I still don't get it why "XML/Parser/Expat.pm line 456."
            > sends
            > > diesignal when using XML::Parser. May it be due to 5.6.1?
            > >
            > > Trond
            > >
            > > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
            > > > Hi Tim,
            > > >
            > > > > This is an old bug (>6 months). There is a problem with one
            > of the
            > > > > pattern
            > > > > matches in the pure-perl parser (a bug in the perl
            > detainting). I
            > > >
            > > > This one?
            > > >
            > > > (XML::Parser::Lite.pm)
            > > > - eval qq{sub parse_re { use re "eval"; 1 while \$_[0] =~
            > > > m{$_}go }; 1} or die;
            > > > + eval qq{sub parse_re { use re "eval"; my \$t = \$_[0]; 1
            >
            > > while
            > > > \$t =~ m{$_}go }; 1} or die;
            > > >
            > > > Trond, does this help? Can't think of anything else.
            > > >
            > > > Best wishes, Paul.
            > > >
            > > > --- Tim Jenness <t.jenness@j...> wrote:
            > > > >
            > > > > This is an old bug (>6 months). There is a problem with one
            > of the
            > > > > pattern
            > > > > matches in the pure-perl parser (a bug in the perl
            > detainting). I
            > > > > think
            > > > > Paul has a workaround (it came up in perl5-porters prior to
            > the
            > > > > release of
            > > > > perl 5.8.0) but I can't remember exactly what that work
            > around is
            > > > > (I was
            > > > > hoping he would make a new release with this fix in).
            > > > >
            > > > > Tim
            > > > >
            > > > > On Mon, 11 Nov 2002, trond_straume wrote:
            > > > >
            > > > > > But with:
            > > > > >
            > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
            > > > > >
            > > > > > I'm not able to run Perl in Tainted mode. The script "stops
            >
            > > > > > processing" after recieving the response from the server
            > (just
            > > > > > waiting to timeout)...
            > > > > >
            > > > > > Why?
            > > > > >
            > > > > > Regards
            > > > > > Trond Straume
            > > > > >
            > > > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
            > > wrote:
            > > > > > > When I included:
            > > > > > >
            > > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
            > > > > > >
            > > > > > > to my code, everything seems to work fine (though it runs
            > a
            > > bit
            > > > >
            > > > > > > slower).
            > > > > > >
            > > > > > > Is it possible that the problem is due to my installation
            > of
            > > > > > > XML::Parser?
            > > > > > >
            > > > > > > (I'm using perl 5.6.1)
            > > > > > >
            > > > > > > Regards
            > > > > > >
            > > > > > > Trond Straume
            > > > > > >
            > > > > > > --- In soaplite@y..., "trond_straume"
            > <trond.straume@o...>
            > > > > wrote:
            > > > > > > > Hi!
            > > > > > > >
            > > > > > > > when I'm including this code to mye Soap::Lite client:
            > > > > > > >
            > > > > > > > sub BEGIN {
            > > > > > > > $diehandler = $SIG{'__DIE__'};
            > > > > > > > $SIG{'__DIE__'} = \&print_error;
            > > > > > > > }
            > > > > > > >
            > > > > > > > sub END {
            > > > > > > > $SIG{'__DIE__'} = $diehandler;
            > > > > > > > }
            > > > > > > >
            > > > > > > > it produces this strange errormessage:
            > > > > > > >
            > > > > > > > Can't use string ("<?xml version='1.0' encoding='UT")
            > as a
            > > > > symbol
            > > > > > > ref
            > > > > > > > while "strict refs" in use
            > > > > > > > at /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
            > > > > > > > ld/XML/Parser/Expat.pm line 456.
            > > > > > > >
            > > > > > > > The thing is that the response from the soap-server,
            > > includes
            > > > >
            > > > > > this
            > > > > > > > declaration:
            > > > > > > >
            > > > > > > > <?xml version='1.0' encoding='UTF-8'?>
            > > > > > > > blah blah
            > > > > > > > blah
            > > > > > > > .
            > > > > > > > .
            > > > > > > >
            > > > > > > > Are there any known problems, when using single quotes
            > (')
            > > > > > instead
            > > > > > > of
            > > > > > > > double ("), or is the error due to other problems?
            > > > > > > >
            > > > > > > > Regards
            > > > > > > >
            > > > > > > > Trond Straume
            > > > > >
            > > > > >
            > > > > >
            > > > > > To unsubscribe from this group, send an email to:
            > > > > > soaplite-unsubscribe@y...
            > > > > >
            > > > > >
            > > > > >
            > > > > > Your use of Yahoo! Groups is subject to
            > > > > http://docs.yahoo.com/info/terms/
            > > > > >
            > > > > >
            > > > > >
            > > > >
            > > > > --
            > > > > Tim Jenness
            > > > > JAC software
            > > > > http://www.jach.hawaii.edu/~timj
            > > > >
            > > > >
            > > > >
            > > > > ------------------------ Yahoo! Groups Sponsor
            > > > >
            > > > > To unsubscribe from this group, send an email to:
            > > > > soaplite-unsubscribe@y...
            > > > >
            > > > >
            > > > >
            > > > > Your use of Yahoo! Groups is subject to
            > > > > http://docs.yahoo.com/info/terms/
            > > > >
            > > > >
            > > >
            > > >
            > > > __________________________________________________
            > > > Do you Yahoo!?
            >
            === message truncated ===


            __________________________________________________
            Do you Yahoo!?
            U2 on LAUNCH - Exclusive greatest hits videos
            http://launch.yahoo.com/u2
          • Sean.Meisner@VerizonWireless.com
            Hi Paul, That wouldn t help if the die handler has already been overidden before your method gets called. It would localize the value but it wouldn t reset
            Message 5 of 11 , Nov 12, 2002
            • 0 Attachment
              Hi Paul,

              That wouldn't help if the die handler has already been overidden
              before your method gets called. It would localize the value but
              it wouldn't reset it. But you might be able to set it back to
              the default handler for the scope of your method. Something like:

              {
              local($SIG{'__DIE__'}) = 'DEFAULT';
              ...
              ...
              }


              Cheers,

              Sean


              > -----Original Message-----
              > From: Paul Kulchenko [mailto:paulclinger@...]
              > Sent: Tuesday, November 12, 2002 3:13 PM
              > To: Sean.Meisner@...; soaplite@yahoogroups.com
              > Subject: RE: [soaplite] Re: Diesignal and Expath.pm
              >
              >
              > Hi Sean,
              >
              > > This is all good UNLESS the default die handler is overidden.
              > > Then, you'll see strange behaviour. This has caused problems
              > Absolutely true. However, knowing this effect, I do have "local
              > $SIG{__DIE__};" deep in my handler, so you shouldn't see parser
              > errors (you won't be able to catch them either). I wonder why that
              > doesn't work.
              >
              > Best wishes, Paul.
              >
              > --- Sean.Meisner@... wrote:
              > > Expat.pm does something squirrely. It has a method that
              > > allows you to pass in a scalar containing a string of XML,
              > > OR a handle to a file that presumably contains some XML.
              > >
              > > In order to ascertain whether it's been passed a
              > > string or a filehandle, the method first attempts to
              > > treat the variable as a filehandle. This generates a
              > > die signal if the variable you have passed was a string.
              > > The method catches the die signal using eval {} so normally
              > > you would never know the signal was generated.
              > >
              > > This is all good UNLESS the default die handler is overidden.
              > > Then, you'll see strange behaviour. This has caused problems
              > > for me when using CGI::Carp in conjunction with Expat,
              > > because CGI::Carp also overrides the default die handler.
              > >
              > > Cheers,
              > >
              > > Sean
              > >
              > >
              > > > -----Original Message-----
              > > > From: trond_straume [mailto:trond.straume@...]
              > > > Sent: Tuesday, November 12, 2002 4:08 AM
              > > > To: soaplite@yahoogroups.com
              > > > Subject: [soaplite] Re: Diesignal and Expath.pm
              > > >
              > > >
              > > > Hi!
              > > >
              > > > Yes, this works just fine!
              > > >
              > > > But I still don't get it why "XML/Parser/Expat.pm line 456."
              > > sends
              > > > diesignal when using XML::Parser. May it be due to 5.6.1?
              > > >
              > > > Trond
              > > >
              > > > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
              > > > > Hi Tim,
              > > > >
              > > > > > This is an old bug (>6 months). There is a problem with one
              > > of the
              > > > > > pattern
              > > > > > matches in the pure-perl parser (a bug in the perl
              > > detainting). I
              > > > >
              > > > > This one?
              > > > >
              > > > > (XML::Parser::Lite.pm)
              > > > > - eval qq{sub parse_re { use re "eval"; 1 while \$_[0] =~
              > > > > m{$_}go }; 1} or die;
              > > > > + eval qq{sub parse_re { use re "eval"; my \$t = \$_[0]; 1
              > >
              > > > while
              > > > > \$t =~ m{$_}go }; 1} or die;
              > > > >
              > > > > Trond, does this help? Can't think of anything else.
              > > > >
              > > > > Best wishes, Paul.
              > > > >
              > > > > --- Tim Jenness <t.jenness@j...> wrote:
              > > > > >
              > > > > > This is an old bug (>6 months). There is a problem with one
              > > of the
              > > > > > pattern
              > > > > > matches in the pure-perl parser (a bug in the perl
              > > detainting). I
              > > > > > think
              > > > > > Paul has a workaround (it came up in perl5-porters prior to
              > > the
              > > > > > release of
              > > > > > perl 5.8.0) but I can't remember exactly what that work
              > > around is
              > > > > > (I was
              > > > > > hoping he would make a new release with this fix in).
              > > > > >
              > > > > > Tim
              > > > > >
              > > > > > On Mon, 11 Nov 2002, trond_straume wrote:
              > > > > >
              > > > > > > But with:
              > > > > > >
              > > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
              > > > > > >
              > > > > > > I'm not able to run Perl in Tainted mode. The script "stops
              > >
              > > > > > > processing" after recieving the response from the server
              > > (just
              > > > > > > waiting to timeout)...
              > > > > > >
              > > > > > > Why?
              > > > > > >
              > > > > > > Regards
              > > > > > > Trond Straume
              > > > > > >
              > > > > > > --- In soaplite@y..., "trond_straume" <trond.straume@o...>
              > > > wrote:
              > > > > > > > When I included:
              > > > > > > >
              > > > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
              > > > > > > >
              > > > > > > > to my code, everything seems to work fine (though it runs
              > > a
              > > > bit
              > > > > >
              > > > > > > > slower).
              > > > > > > >
              > > > > > > > Is it possible that the problem is due to my installation
              > > of
              > > > > > > > XML::Parser?
              > > > > > > >
              > > > > > > > (I'm using perl 5.6.1)
              > > > > > > >
              > > > > > > > Regards
              > > > > > > >
              > > > > > > > Trond Straume
              > > > > > > >
              > > > > > > > --- In soaplite@y..., "trond_straume"
              > > <trond.straume@o...>
              > > > > > wrote:
              > > > > > > > > Hi!
              > > > > > > > >
              > > > > > > > > when I'm including this code to mye Soap::Lite client:
              > > > > > > > >
              > > > > > > > > sub BEGIN {
              > > > > > > > > $diehandler = $SIG{'__DIE__'};
              > > > > > > > > $SIG{'__DIE__'} = \&print_error;
              > > > > > > > > }
              > > > > > > > >
              > > > > > > > > sub END {
              > > > > > > > > $SIG{'__DIE__'} = $diehandler;
              > > > > > > > > }
              > > > > > > > >
              > > > > > > > > it produces this strange errormessage:
              > > > > > > > >
              > > > > > > > > Can't use string ("<?xml version='1.0' encoding='UT")
              > > as a
              > > > > > symbol
              > > > > > > > ref
              > > > > > > > > while "strict refs" in use
              > > > > > > > > at /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
              > > > > > > > > ld/XML/Parser/Expat.pm line 456.
              > > > > > > > >
              > > > > > > > > The thing is that the response from the soap-server,
              > > > includes
              > > > > >
              > > > > > > this
              > > > > > > > > declaration:
              > > > > > > > >
              > > > > > > > > <?xml version='1.0' encoding='UTF-8'?>
              > > > > > > > > blah blah
              > > > > > > > > blah
              > > > > > > > > .
              > > > > > > > > .
              > > > > > > > >
              > > > > > > > > Are there any known problems, when using single quotes
              > > (')
              > > > > > > instead
              > > > > > > > of
              > > > > > > > > double ("), or is the error due to other problems?
              > > > > > > > >
              > > > > > > > > Regards
              > > > > > > > >
              > > > > > > > > Trond Straume
              > > > > > >
              > > > > > >
              > > > > > >
              > > > > > > To unsubscribe from this group, send an email to:
              > > > > > > soaplite-unsubscribe@y...
              > > > > > >
              > > > > > >
              > > > > > >
              > > > > > > Your use of Yahoo! Groups is subject to
              > > > > > http://docs.yahoo.com/info/terms/
              > > > > > >
              > > > > > >
              > > > > > >
              > > > > >
              > > > > > --
              > > > > > Tim Jenness
              > > > > > JAC software
              > > > > > http://www.jach.hawaii.edu/~timj
              > > > > >
              > > > > >
              > > > > >
              > > > > > ------------------------ Yahoo! Groups Sponsor
              > > > > >
              > > > > > To unsubscribe from this group, send an email to:
              > > > > > soaplite-unsubscribe@y...
              > > > > >
              > > > > >
              > > > > >
              > > > > > Your use of Yahoo! Groups is subject to
              > > > > > http://docs.yahoo.com/info/terms/
              > > > > >
              > > > > >
              > > > >
              > > > >
              > > > > __________________________________________________
              > > > > Do you Yahoo!?
              > >
              > === message truncated ===
              >
              >
              > __________________________________________________
              > Do you Yahoo!?
              > U2 on LAUNCH - Exclusive greatest hits videos
              > http://launch.yahoo.com/u2
              >
            • Paul Kulchenko
              Hi Sean, Thanks for the hint. For some reason I assumed that local $SIG{foo}; is the same as local $SIG{foo} = DEFAULT ; I ll fix that. Best wishes, Paul. ...
              Message 6 of 11 , Nov 12, 2002
              • 0 Attachment
                Hi Sean,

                Thanks for the hint. For some reason I assumed that

                local $SIG{foo};

                is the same as

                local $SIG{foo} = 'DEFAULT';

                I'll fix that.

                Best wishes, Paul.

                --- Sean.Meisner@... wrote:
                > Hi Paul,
                >
                > That wouldn't help if the die handler has already been overidden
                > before your method gets called. It would localize the value but
                > it wouldn't reset it. But you might be able to set it back to
                > the default handler for the scope of your method. Something like:
                >
                > {
                > local($SIG{'__DIE__'}) = 'DEFAULT';
                > ...
                > ...
                > }
                >
                >
                > Cheers,
                >
                > Sean
                >
                >
                > > -----Original Message-----
                > > From: Paul Kulchenko [mailto:paulclinger@...]
                > > Sent: Tuesday, November 12, 2002 3:13 PM
                > > To: Sean.Meisner@...; soaplite@yahoogroups.com
                > > Subject: RE: [soaplite] Re: Diesignal and Expath.pm
                > >
                > >
                > > Hi Sean,
                > >
                > > > This is all good UNLESS the default die handler is overidden.
                > > > Then, you'll see strange behaviour. This has caused problems
                > > Absolutely true. However, knowing this effect, I do have "local
                > > $SIG{__DIE__};" deep in my handler, so you shouldn't see parser
                > > errors (you won't be able to catch them either). I wonder why
                > that
                > > doesn't work.
                > >
                > > Best wishes, Paul.
                > >
                > > --- Sean.Meisner@... wrote:
                > > > Expat.pm does something squirrely. It has a method that
                > > > allows you to pass in a scalar containing a string of XML,
                > > > OR a handle to a file that presumably contains some XML.
                > > >
                > > > In order to ascertain whether it's been passed a
                > > > string or a filehandle, the method first attempts to
                > > > treat the variable as a filehandle. This generates a
                > > > die signal if the variable you have passed was a string.
                > > > The method catches the die signal using eval {} so normally
                > > > you would never know the signal was generated.
                > > >
                > > > This is all good UNLESS the default die handler is overidden.
                > > > Then, you'll see strange behaviour. This has caused problems
                > > > for me when using CGI::Carp in conjunction with Expat,
                > > > because CGI::Carp also overrides the default die handler.
                > > >
                > > > Cheers,
                > > >
                > > > Sean
                > > >
                > > >
                > > > > -----Original Message-----
                > > > > From: trond_straume [mailto:trond.straume@...]
                > > > > Sent: Tuesday, November 12, 2002 4:08 AM
                > > > > To: soaplite@yahoogroups.com
                > > > > Subject: [soaplite] Re: Diesignal and Expath.pm
                > > > >
                > > > >
                > > > > Hi!
                > > > >
                > > > > Yes, this works just fine!
                > > > >
                > > > > But I still don't get it why "XML/Parser/Expat.pm line 456."
                > > > sends
                > > > > diesignal when using XML::Parser. May it be due to 5.6.1?
                > > > >
                > > > > Trond
                > > > >
                > > > > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...>
                > wrote:
                > > > > > Hi Tim,
                > > > > >
                > > > > > > This is an old bug (>6 months). There is a problem with
                > one
                > > > of the
                > > > > > > pattern
                > > > > > > matches in the pure-perl parser (a bug in the perl
                > > > detainting). I
                > > > > >
                > > > > > This one?
                > > > > >
                > > > > > (XML::Parser::Lite.pm)
                > > > > > - eval qq{sub parse_re { use re "eval"; 1 while \$_[0]
                > =~
                > > > > > m{$_}go }; 1} or die;
                > > > > > + eval qq{sub parse_re { use re "eval"; my \$t =
                > \$_[0]; 1
                > > >
                > > > > while
                > > > > > \$t =~ m{$_}go }; 1} or die;
                > > > > >
                > > > > > Trond, does this help? Can't think of anything else.
                > > > > >
                > > > > > Best wishes, Paul.
                > > > > >
                > > > > > --- Tim Jenness <t.jenness@j...> wrote:
                > > > > > >
                > > > > > > This is an old bug (>6 months). There is a problem with
                > one
                > > > of the
                > > > > > > pattern
                > > > > > > matches in the pure-perl parser (a bug in the perl
                > > > detainting). I
                > > > > > > think
                > > > > > > Paul has a workaround (it came up in perl5-porters prior
                > to
                > > > the
                > > > > > > release of
                > > > > > > perl 5.8.0) but I can't remember exactly what that work
                > > > around is
                > > > > > > (I was
                > > > > > > hoping he would make a new release with this fix in).
                > > > > > >
                > > > > > > Tim
                > > > > > >
                > > > > > > On Mon, 11 Nov 2002, trond_straume wrote:
                > > > > > >
                > > > > > > > But with:
                > > > > > > >
                > > > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
                > > > > > > >
                > > > > > > > I'm not able to run Perl in Tainted mode. The script
                > "stops
                > > >
                > > > > > > > processing" after recieving the response from the
                > server
                > > > (just
                > > > > > > > waiting to timeout)...
                > > > > > > >
                > > > > > > > Why?
                > > > > > > >
                > > > > > > > Regards
                > > > > > > > Trond Straume
                > > > > > > >
                > > > > > > > --- In soaplite@y..., "trond_straume"
                > <trond.straume@o...>
                > > > > wrote:
                > > > > > > > > When I included:
                > > > > > > > >
                > > > > > > > > $SOAP::Constants::DO_NOT_USE_XML_PARSER=1;
                > > > > > > > >
                > > > > > > > > to my code, everything seems to work fine (though it
                > runs
                > > > a
                > > > > bit
                > > > > > >
                > > > > > > > > slower).
                > > > > > > > >
                > > > > > > > > Is it possible that the problem is due to my
                > installation
                > > > of
                > > > > > > > > XML::Parser?
                > > > > > > > >
                > > > > > > > > (I'm using perl 5.6.1)
                > > > > > > > >
                > > > > > > > > Regards
                > > > > > > > >
                > > > > > > > > Trond Straume
                > > > > > > > >
                > > > > > > > > --- In soaplite@y..., "trond_straume"
                > > > <trond.straume@o...>
                > > > > > > wrote:
                > > > > > > > > > Hi!
                > > > > > > > > >
                > > > > > > > > > when I'm including this code to mye Soap::Lite
                > client:
                > > > > > > > > >
                > > > > > > > > > sub BEGIN {
                > > > > > > > > > $diehandler = $SIG{'__DIE__'};
                > > > > > > > > > $SIG{'__DIE__'} = \&print_error;
                > > > > > > > > > }
                > > > > > > > > >
                > > > > > > > > > sub END {
                > > > > > > > > > $SIG{'__DIE__'} = $diehandler;
                > > > > > > > > > }
                > > > > > > > > >
                > > > > > > > > > it produces this strange errormessage:
                > > > > > > > > >
                > > > > > > > > > Can't use string ("<?xml version='1.0'
                > encoding='UT")
                > > > as a
                > > > > > > symbol
                > > > > > > > > ref
                > > > > > > > > > while "strict refs" in use
                > > > > > > > > > at
                > /local/perl/5.6.1/lib/site_perl/5.6.1/sun4-solaris-
                > > > > > > > > > ld/XML/Parser/Expat.pm line 456.
                > > > > > > > > >
                > > > > > > > > > The thing is that the response from the
                > soap-server,
                > > > > includes
                > > > > > >
                >
                === message truncated ===


                __________________________________________________
                Do you Yahoo!?
                U2 on LAUNCH - Exclusive greatest hits videos
                http://launch.yahoo.com/u2
              • tomkee2002 <tomkee2002@yahoo.com>
                My solution to this problem was to add no strict refs inside the eval block above line 456 of Expat.pm. Probably not the best solution. Nevertheless, I
                Message 7 of 11 , Dec 13, 2002
                • 0 Attachment
                  My solution to this problem was to add "no strict 'refs'" inside the
                  eval block above line 456 of Expat.pm.

                  Probably not the best solution. Nevertheless, I heard from someone
                  yesterday who said version 2.27 of XML::Parser has the no strict
                  'refs' line, so perhaps its absence was an oversight on by the
                  XML::Parser maintainer.

                  TK
                Your message has been successfully submitted and would be delivered to recipients shortly.