crash on Perlbal 1.51
Del Raco
el_draco at yahoo.com
Wed Nov 29 21:47:36 UTC 2006
Thanks Kevin.
I understand the first hack. Can you elaborate on the
second one?
Thanks.
--- Kevin Rosenberg <kevin at rosenberg.net> wrote:
> Del Raco wrote:
> > Has anyone seen the following error on Perlbal
> 1.51?
> > Nov 28 03:10:37 app-200 perlbal[16356]: crash log:
> > Can't call method "req_keep_alive" on an undefined
> > value at
> >
>
/usr/local/share/perl/5.8.7/Perlbal/ClientHTTPBase.pm
> > line 124.
>
> Yes.
>
> > Any help would be appreciated. Thanks.
>
> I quickly hacked a workaround, but I don't
> understand the true cause of
> the error:
>
> Index: lib/Perlbal/ClientHTTPBase.pm
>
===================================================================
> --- lib/Perlbal/ClientHTTPBase.pm (revision
> 608)
> +++ lib/Perlbal/ClientHTTPBase.pm (working
> copy)
> @@ -121,7 +121,7 @@
> print " service's persist_client =
> $persist_client\n" if
> Perlbal::DEBUG >= 3;
>
> # do keep alive if they sent content-length or
> it's a head
> request
> - my $do_keepalive = $persist_client &&
> $rqhd->req_keep_alive($reshd);
> + my $do_keepalive = $persist_client && $rqhd &&
> $rqhd->req_keep_alive($reshd);
> if ($do_keepalive) {
> print " doing keep-alive to client\n" if
> Perlbal::DEBUG >=
> 3;
> my $timeout = $self->max_idle_time;
> Index: lib/Perlbal/BackendHTTP.pm
>
===================================================================
> --- lib/Perlbal/BackendHTTP.pm (revision 608)
> +++ lib/Perlbal/BackendHTTP.pm (working copy)
> @@ -483,6 +483,9 @@
> return $self->handle_response;
> }
>
> + # KMR
> + return if ref $client eq
> "Perlbal::ClientHTTPBase";
> +
> # if our client's behind more than the max
> limit, stop buffering
> if ($client->too_far_behind_backend) {
> $self->watch_read(0);
>
____________________________________________________________________________________
Yahoo! Music Unlimited
Access over 1 million songs.
http://music.yahoo.com/unlimited
More information about the perlbal
mailing list