Return-Path: Delivered-To: apmail-perl-modperl-archive@www.apache.org Received: (qmail 4186 invoked from network); 11 Dec 2006 18:16:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2006 18:16:05 -0000 Received: (qmail 11300 invoked by uid 500); 11 Dec 2006 18:16:05 -0000 Delivered-To: apmail-perl-modperl-archive@perl.apache.org Received: (qmail 11285 invoked by uid 500); 11 Dec 2006 18:16:05 -0000 Mailing-List: contact modperl-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list modperl@perl.apache.org Received: (qmail 11274 invoked by uid 99); 11 Dec 2006 18:16:05 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 10:16:05 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [66.236.219.70] (HELO piccollo.p6m7g8.net) (66.236.219.70) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 10:15:53 -0800 Received: from [172.28.57.204] (office4.tmcs.net [209.104.55.5]) (authenticated bits=0) by piccollo.p6m7g8.net (8.13.6/8.13.6) with ESMTP id kBBIFItH077326 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Mon, 11 Dec 2006 13:15:21 -0500 (EST) (envelope-from pgollucci@p6m7g8.com) Message-ID: <457D9FFF.2000307@p6m7g8.com> Date: Mon, 11 Dec 2006 10:14:23 -0800 From: "Philip M. Gollucci" Organization: P6M7G8 Consulting User-Agent: Thunderbird 1.5.0.7 (X11/20060918) MIME-Version: 1.0 To: Grant CC: modperl@perl.apache.org Subject: Re: mod_perl-2.0.2 causing segfaults References: <49bf44f10612100721sfe86a4bte44ef23202f9af3@mail.gmail.com> <2F4F2F01-608B-4B75-9C74-F2CF96B1488E@2xlp.com> <49bf44f10612101950v2af4bf17jc7aa2a97bc32de68@mail.gmail.com> <49bf44f10612110633o183bcde2v1f1203b1f86a6118@mail.gmail.com> <1165848016.30972.37.camel@obelix.traveljury.com> <49bf44f10612110849x69d95d48x812cac6e200eeeea@mail.gmail.com> <1165857453.30972.45.camel@obelix.traveljury.com> <49bf44f10612111013i47bda7adv7bcc09998f982884@mail.gmail.com> In-Reply-To: <49bf44f10612111013i47bda7adv7bcc09998f982884@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.88.6/2315/Mon Dec 11 04:55:24 2006 on piccollo.p6m7g8.net X-Virus-Status: Clean X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on piccollo.p6m7g8.net X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00, DK_POLICY_SIGNSOME autolearn=ham version=3.1.7 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 (pgollucci@p6m7g8.com) 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.