crash: content_length_remain less than zero

Brad Fitzpatrick brad at danga.com
Thu Aug 18 08:28:43 PDT 2005


On August 15th I made Perlbal require Danga::Socket 1.44 (which was
previously required, but not enforced by Perlbal).  You using
Danga::Socket 1.44?  If not, it can easily cause the bug you're seeing
below.  (a read is coming back bigger than was asked for after a POST from
a browser sending an extra \r\n, like Netscape 4.x or an XmlHttpRequest
from Firefox....)

Also on August 15th I fixed a bug with buffer_backend_connect=0, but
that's not the default and I doubt you'd enable that.  But I also added a
bunch more tests.

On August 16th I redid how the extra-\r\n handling is done, cleaning it up
a bunch and introducing a fast path for the common case.  (but not fixing
any bugs)

So from looking at the change logs, I'd guess your issue is Danga::Socket.
If not, can you try out 1.35 anyway, since it's the release candidate for
a real 1.40?

How often does Perlbal crash with the Aug 14th cvs version you've been
using?



On Thu, 18 Aug 2005, Kevin Lewandowski wrote:

> Hi, Perlbal recently crashed and this was the error in syslog below.
> I'm using CVS version from Aug 14.
>
> perlbal[14857]: crash log: content_length_remain less than zero: self-
>  >{content_length_remain} at /usr/local/share/perl/5.8.4/Perlbal/
> ClientProxy.pm line 569
> perlbal[14857]: crash log: ^IPerlbal::ClientProxy::event_read
> ('Perlbal::ClientProxy=ARRAY(0x88b0e94)') called at /usr/local/share/
> perl/5.8.4/Danga/Socket.pm line 467
> perlbal[14857]: crash log: ^IDanga::Socket::EpollEventLoop
> ('Perlbal::Socket') called at /usr/local/share/perl/5.8.4/Perlbal.pm
> line 999
> perlbal[14857]: crash log: ^Ieval {...} called at /usr/local/share/
> perl/5.8.4/Perlbal.pm line 997
> perlbal[14857]: crash log: ^IPerlbal::run() called at /usr/bin/
> mogstored line 129
> perlbal[14857]: ending run
>
> any way to prevent this? thanks
>
> Kevin
>
>


More information about the perlbal mailing list