On Mon, 17 Jul 2000, Lukas Ertl wrote:

> On Mon, 17 Jul 2000, Trond Arve Nordheim wrote:
> 
> > Hi.
> > I'm having problems with my Apache segfaulting when I run subroutines from
> > modules that uses DBI. ([Mon Jul 17 13:55:22 2000] [notice] child pid 28327
> > exit signal Segmentation fault (11)).
> > It seems like the DBI->connection function causes this, but I'm not able to
> > find out why. It's actually happening on BOTH my servers at home (OpenBSD
> > and Slackware Linux), so I guess I made a "bobo" somewhere... Can anyone
> > here guide me back on to the tracks ? ;)
> 
> I have exactly the same problem on a Suse Linux box, with MySQL 3.22.32,
> Apache 1.3.12 and mod_perl 1.24.

Hi *,

I experienced the same problem on a server running Apache 1.3.12 +
mod_perl 1.21 under SuSe Linux 6.4.

As I understand it, this is caused by the perl_destruct() API call, which
in turn calls the DESTROY method plus END blocks in the Perl code.
perl_destruct is executed whenever a child process is exiting, e.g. after
reaching MaxRequests. If the DESTROYS take too long, the child process is
shut down using the KILL signal, thus producing a segmentation fault.
(This is pretty much what I gathered from The Guide, see the URI below.)

Setting PERL_DESTRUCT_LEVEL to -1 will help you to get rid of those
logfile entries; see

http://perl.apache.org/guide/control.html#Speeding_up_the_Apache_Terminati

for more info.

However, I am wondering if this really is the right thing to do? The
DESTROY and END blocks are there for a reason, so just ignoring them
seems a little rude - and possibly dangerous.

Anyone out there who has further explanations?

Regards,
        Michael.


________________________________________________________
Michael   |  email: [EMAIL PROTECTED] 
Hanisch   |                                            
________________________________________________________

Reply via email to