[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

apache and mod_perl problem.



I have a problem with apache when mod_perl is enabled, on a Sarge system - a 200MHz PPC603e performa with 136MB RAM.

Throughout apache's error.log I get entries like the following:

[Sun Sep 4 07:10:37 2005] [notice] child pid 18571 exit signal Segmentation fault (11)

I've compared the times that the segfaults happen with the access log entries, and can't find a pattern to any particular files being accessed - let alone perl scripts. I only actually have one perl page on my site, which works fine when mod_perl is enabled. The above segfaults happen perhaps 3-10 times an hour, all through the day.

Another symptom I'm finding is when i restart apache, the following is apppended to the error.log:

[Mon Sep 5 04:01:29 2005] [warn] child process 21696 did not exit, sending another SIGHUP [Mon Sep 5 04:01:29 2005] [warn] child process 21697 did not exit, sending another SIGHUP [Mon Sep 5 04:01:29 2005] [warn] child process 21698 did not exit, sending another SIGHUP [Mon Sep 5 04:01:29 2005] [warn] child process 21699 did not exit, sending another SIGHUP [Mon Sep 5 04:01:29 2005] [warn] child process 21700 did not exit, sending another SIGHUP [Mon Sep 5 04:01:29 2005] [warn] child process 21701 did not exit, sending another SIGHUP [Mon Sep 5 04:01:30 2005] [notice] SIGHUP received. Attempting to restart [Mon Sep 5 04:01:32 2005] [notice] Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-16 mod_perl/1.29 configured -- resuming normal operations [Mon Sep 5 04:01:33 2005] [notice] Accept mutex: sysvsem (Default: sysvsem)

it looks like the currently running apache processes just don't want to quit when mod_perl is running.

If I apt-get remove libapache-mod-perl or comment out the mod_perl line in /etc/apache/modules.conf then after restarting apache there are no warnings like above, and so far (with mod_perl disabled) I've gone several hours without a segfault noted in the error.log.

A third symptom (which may or may not be related) is 2-4 times a day an apache process will decide to use as much cpu as it can get until restarted - at the end of the day I could have 4 of them all using about 24% cpu time each. So far that hasn't happened when I have mod_perl disabled, but I may not have tested the server long enough to check if that's genuinely stopped or not).

I've also tried removing the one page on my site that uses perl (while leaving mod_perl enabled) and the segfaults & warns still occur. again, disabling mod_perl stops them.

Any clues as to what's happening? I imagine it's possible the [warn]s might be no problem by themselves as they're just putting a few lines in a logfile once a day when apache is restarted, but the segfaults may mean visitors to the site are getting half-loaded or non-loading pages. the cpu time problem slows server response down drastically too.

thanks,
dana



Reply to: