Grant wrote:
> The way my config works, apache2 hands all requests to the interchange
> (icdevgroup.org) daemon via a socket by way of the mod_perl module
> (Interchange::Link).
>
> So the error is caused by the mod_perl module trying to read or write
> to or from the interchange daemon and failing?  If that's correct, it
> sounds like the next thing to do is find out why it's failing?  Can it
> be said whether it's a problem with mod_perl, Interchange::Link,
> interchange, or something else at this point?
>
> 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.


--
------------------------------------------------------------------------
Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/EC88A0BF 0DE5 C55C 6BF3 B235 2DAB  B89E 1324 9B4F EC88 A0BF

I never had a dream come true
'Til the day that I found you.
Even though I pretend that I've moved on
You'll always be my baby.
I never found the words to say
You're the one I think about each day
And I know no matter where life takes me to
A part of me will always be...
A part of me will always be with you.

Reply via email to