[H-GEN] Apache segfaulting... how to debug

Andrae Muys andrae.muys at braintree.com.au
Wed Jul 9 22:31:40 EDT 2003


[ Humbug *General* list - semi-serious discussions about Humbug and     ]
[ Unix-related topics. Posts from non-subscribed addresses will vanish. ]

Michael Anthon wrote:
> [ Humbug *General* list - semi-serious discussions about Humbug and     ]
> [ Unix-related topics. Posts from non-subscribed addresses will vanish. ]
> 
> Ok, thanks for the inputs gents.  So far I have been able to get an 
> strace of a process that is dying 
> (http://tamsapp.pwcglobal.com.au/mca/temp/12978.trc) and one that isn't 
> (http://tamsapp.pwcglobal.com.au/mca/temp/12977.trc).
> 
> These look fairly similar to me apart from the fact that one terminates 
> with a SIGSEGV, which I think fits in with my theory that it only 
> happens when the child process is terminated by the parent, and then 
> only occasionally.

mmm looks nasty.  From the strace my first guess would be head 
corruption triggering a SEGV while trying to cleanup post child 
termination.  If there is a libc conflict (as has been suggested 
previously) this might explain it.

The critical lines are the last few:

12978 munmap(0x42a09000, 21132)         = 0
12978 munmap(0x42951000, 471868)        = 0
12978 close(21)                         = 0
12978 --- SIGSEGV (Segmentation fault) ---
7300  wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], WNOHANG, 
NULL) = 12978

vs.

12977 munmap(0x42a09000, 21132)         = 0
12977 munmap(0x42951000, 471868)        = 0
12977 close(21)                         = 0
12977 munmap(0x40012000, 4096)          = 0
12977 semget(IPC_PRIVATE, 4096, IPC_CREAT|IPC_NOWAIT|0x80f20a0|0240) = 
-1 ENOSYS (Function not implemented)
12977 _exit(0)                          = ?
7300  <... wait4 resumed> [WIFEXITED(s) && WEXITSTATUS(s) == 0], 
WNOHANG, NULL) = 12977

Note the third munmap.  I would also look for somesort of allocation 
returning address 0x40012000 to see which memory is being cleaned up at 
the time (note: This would the memory being corrupted, NOT necessarally 
associated with the corrupting code).

Andrae



-- 
Andrae Muys                       But can it generate *quantum* Haiku
<andrae.muys at braintree.com.au>    error messages, in Latin, where each
Engineer                          line of the error message is a
Braintree Communications          palindrome? -- Mike Vanier on perl



--
* This is list (humbug) general handled by majordomo at lists.humbug.org.au .
* Postings to this list are only accepted from subscribed addresses of
* lists 'general' or 'general-post'.  See http://www.humbug.org.au/



More information about the General mailing list