You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Tom Lloyd <th...@yahoo.com> on 2010/03/11 16:17:40 UTC

More..

There are numerous messages like this in my apache error log. 

[Wed Mar 10 22:33:37 2010] [notice] child pid 23855 exit signal Segmentation fault (11)

I am a bit lost ;)

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: More..

Posted by Karl Lehenbauer <ka...@gmail.com>.
OK... you need to get the thing to dump core.  What operating system are you using?  After you get it to dump core you can fire up gdb on httpd and the coredump and execute a "bt" (backtrace) command and paste the contents in an email and I'll probably be able to figure it out without too much trouble.

Here are my notes on how to get Apache to dump core:


Edit this page
Create a new page
Delete this page
Getting Coredumps From Apache
Configure Apache to Allow Coredumps
It is occasionally desirable to get Apache to dump core when it gets something like a segmentation fault.  (By default it does not dump core.)  By getting it to dump core, gdb can usually be used to quickly determine the cause of the fault.

To tell Apache to save coredumps, use the CoreDumpDirectory directive in the httpd.conf.

CoreDumpDirectory /tmp/apache

The directory must exist and the Apache process must be able to write to it, so if you make it a subdirectory of /tmp, make sure to create it and to chmod a+w on it.

Note that if every child is trapping then /tmp can fill up pretty fast.  Watch for that and after you get a few, do an apachectl stop or something.

Configure FreeBSD to Allow SUID/SGID Programs to Dump Core
BUT it still doesn't work?

Well, FreeBSD has this uh feature (no, it makes sense, but it's a pain) where it won't by default generate coredumps for processes that are set user ID and/or set group ID...  You have to tell the kernel to allow that, as follows:

sysctl kern.sugid_coredump=1

Configure FreeBSD to Add Process ID to Coredump Filenames
Next problem is you only get one httpd.core file since all of the httpds that are dying are writing to that file.  You can tell FreeBSD to include the process ID in the coredump filenames...
sysctl kern.corefile=%N.%P.core


On Mar 11, 2010, at 9:17 AM, Tom Lloyd wrote:

> There are numerous messages like this in my apache error log. 
> 
> [Wed Mar 10 22:33:37 2010] [notice] child pid 23855 exit signal Segmentation fault (11)
> 
> I am a bit lost ;)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
> For additional commands, e-mail: rivet-dev-help@tcl.apache.org
>