perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fred Moyer <f...@redhotpenguin.com>
Subject Re: mod_perl-2.0.2 causing segfaults
Date Mon, 11 Dec 2006 18:26:57 GMT
On Mon, 11 Dec 2006, Philip M. Gollucci wrote:

> Grant wrote:
>> > >  Also, I tried restarting the interchange daemon with
>> > >  PERL_SIGNALS=unsafe and the ALERT/segfaults came MUCH MUCH more
>> > >  frequently.  Does that tell us anything?
>> > 
>> > 
>> >  It would make sense that, when you have high load, there is a problem
>> >  processing many concurrent requests which triggers the PIPE signal, so
>> >  you should find out what the error is, and handle it more gracefully.
>> > 
>> >  You might want to change the die sub to print out $! and $? - that may
>> >  give you a bit of a clue as to what caused the PIPE signal.
>> > 
>> >  I'm guessing (and it is a guess) that the segfaults may be caused
>> >  because the die sub sends a web response, but that sub could be called
>> >  while your server is busy doing something else, and the two actions
>> >  collide.
>>
>>  Very good guess.  Commenting out the web response stuff seems to have
>>  eliminated the segfaults.  Adding $! and $? to the warn line, I'm
>>  getting one of these two bits along with each ALERT now:
>>
>>  Broken pipe 0
>>  Inappropriate ioctl for device 0
> This could happen from a Cntrl-C or stop in a browser.
>
> Add
> require Carp;
> Carp::cluck() to your die() function.

Is this someplace that checking $r->connection->aborted() would be useful?

Mime
View raw message