perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Issac Goldstand <mar...@beamartyr.net>
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.

  Issac

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 
>
>


Mime
View raw message