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
pgp00000.pgp
Description: signature