Am Dienstag, 7. Oktober 2003 17:28 schrieb Gisle Aas:
> Sumit Bose <[EMAIL PROTECTED]> writes:
> > Hi,
> >
> > we have encountered a strange problem in UserAgent.pm. Our script
> > terminates with the message:
> >
> > Can't call method "request" on an undefined value at
> > /usr/lib/perl5/site_perl/5.8.0/LWP/UserAgent.pm line 362.
> >
> > Maybe, although eval is used $response is still undef? The following
> > patch might help here, but we are not sure, because the problem only
> > arises under special high load conditions.
>
> You would have to make the test '!defined($response)' instead of
> 'undef($reponse)' to make it work, but I will not apply this fix to my

I'm sorry, I will put my head in the next brown paperbag I can find.

> source as it only hides the real problem.  But I can't see how this
> can happen.  It must mean that $protocol->request() sometimes return
> undef and it is not allowed to do that.  Could you perhaps add some

what does it return if the timeout expires?

> log information that print out what request was tried when this
> happen?  There might be some pattern to it.
>
> > --- /usr/lib/perl5/site_perl/5.8.0/LWP/UserAgent.pm     2001-12-11
> > 22:11:29.000000000 +0100 +++ /tmp/UserAgent.pm   2003-10-07
> > 16:20:55.000000000 +0200
> > @@ -347,7 +347,7 @@
> >             $response = $protocol->request($request, $proxy,
> >                                            $arg, $size, $timeout);
> >         };
> > -       if ($@) {
> > +       if ($@ || undef($response) ) {
> >             $@ =~ s/ at .* line \d+.*//s;  # remove file/line number
> >             $response =
> >              
> > HTTP::Response->new(&HTTP::Status::RC_INTERNAL_SERVER_ERROR,
> >
> >
> > Do you have an idea what might happen here? Is it possible that eval
> > fails and $@ is undef or can HTTP::Response->new fail and return undef?
> > We use version 5.65 and I haven't seen any changes in this code-block in
> > 5.69.
>
> I don't know any change that is relevant.
>
> This is another guy with the same problem
> <http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2001h1/0071.html>.
> This one seems to be HTTPS related.  Are yours?
>

No HTTPS here, be we have lots of request, too. This is the reason for the 
timeout question above.


bye,
Sumit

-- 
Dr. Sumit Bose                                  E-Mail: [EMAIL PROTECTED] 
SuSE Linux AG -- Berlin                                http://www.suse.de/
Berliner Str. 27                               Tel: +49 (0)30-43 09 44-785
D-13507 Berlin                                  Fax: +49 (0)30-43 47 28 04

Attachment: pgp00000.pgp
Description: signature

Reply via email to