perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Issac Goldstand <>
Subject Re: Problem with long http request generation time - process restarting
Date Thu, 15 Dec 2011 07:31:41 GMT
That stinks of a segfault.  The admission to using Windows at the end
makes me suspect it even more, as Windows has an unfortunate habit, due
to the MPM implementation, of a thread segfault taking the whole server
down with it, causing a several second delay while it cleans up the old
process and replaces it with a new one (with mod_perl doing all its init
stuff again)

I used to hate having to deal with that :)

Having said that, I don't think it's a chunking issue, as httpd core
handles that, not mod_perl.  Can you supply more info?  Not sure what,
but my gut says there's a missing piece here.


On 14/12/2011 23:44, Andrew Merton wrote:
> Hi --
> I am getting the following message recurring in my log:
> Parent: child process exited with status 255 -- Restarting.
> followed by the process restart sequence.
> I have tracked it down to a call to $r->content which doesn't seem to
> return properly.
> It would appear that
> 1. The POST request has Encoding-type: chunked (message total length
> is ~5kb);
> 2. The client sends the HTTP headers, then pauses 3-4 seconds while it
> generates the body of the message (confirmed with WireShark);
> 3. So when I call $r-content, when it succeeds I see a 3-4 second
> pause before it completes;
> 4. If another request arrives during the call to $r->content, the
> process aborts and restarts - I assume it is interfering with the
> read() call in $r->content.
> Since the pause is so long, it is very likely to be interrupted even
> though I only have 5 clients currently :(
> Given the the chunked implemenation in mod_perl 2.0 is apparently
> incomplete, have I struck one area where this affects the result?
> Can anyone make suggestions as to how I can work around this problem?
>  I wondered about maybe moving my handler to the log phase (currently
> it's a Response handler), by which time I assume the entire message
> must be available, but it seems like a major kludge and presumably
> would lead to other issues anyway.
> Or is there some multi-threading thing I should have done - currently
> I have not really done anything specific...
> I am using Apache2.2 on Win7 (no flames please :)), with ActiveState
> Perl "(v5.12.2) built for MSWin32-x86-multi-thread".
> Andrew 

View raw message