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