apache segfault, gdb /usr/local/sbin/httpd segfault

Jan Pechanec jp at devnull.cz
Mon Apr 10 15:07:04 CEST 2006


On Mon, 10 Apr 2006, Lubomir Host wrote:

>Zdravim,
>
>mam taky problem. Apache zacal segfaultovat bez nejakej znamej priciny.

	neco se zmenilo, co?

	je jednoduchy a rychly prelozit apache ze zdrojaku s debug symbolama 
(-g) a pustit tu konkretni prelozenou binarku, zjisti jestli to pada opet.

	pouzivas SSL? Nemas neporadek v OpenSSL knihovnach? (0.9.7x a 
0.9.8x nejsou binarne kompatibilni). ldd(1) na httpd, zjistit jaky mas v 
systemu crypto/ssl knihovny.

	gdb run ti padnul na SIGABRT, coz je treba volani abort(), tech je v 
kodu apache hodne a typicky se tim resi ,,neresitelne'' situace. To opet 
muze byt nejaky bordel v knihovnach, nebo taky neco uplne jinyho.

	h.

>
># uname -r
>6.0-RELEASE-p2
># uname -m
>amd64
>
>Apache/2.0.55 (FreeBSD)
>
>Toto je v error logu:
>-------------------------------------------------%<-------------------------------------------------
>
>[Mon Apr 10 14:28:09 2006] [notice] Apache/2.0.55 (FreeBSD) configured -- resuming normal operations
>[Mon Apr 10 14:28:10 2006] [notice] child pid 77250 exit signal Segmentation fault (11)
>[Mon Apr 10 14:28:10 2006] [notice] child pid 77249 exit signal Segmentation fault (11)
>[Mon Apr 10 14:28:10 2006] [notice] child pid 77248 exit signal Segmentation fault (11)
>[Mon Apr 10 14:28:10 2006] [notice] child pid 77247 exit signal Segmentation fault (11)
>...
>-------------------------------------------------%<-------------------------------------------------
>
>Moj oblubeny debugger strace nemozem pouzit (lebo FreeBSD && 64 bit),
>takze som skusil pouzit gdb. To skoncilo tiez segfaultom:
>
>-----------------------------------%<-----------------------------------
># gdb /usr/local/sbin/httpd 
>(gdb) run
>Starting program: /usr/local/sbin/httpd 
>(no debugging symbols found)...(no debugging symbols found)...(no
>debugging symbols found)...(no debugging symbols found)...(no debugging
>symbols found)...(no debugging symbols found)...(no debugging symbols
>found)...(no debugging symbols found)...(no debugging symbols
>...
>found)...(no debugging symbols found)...(no debugging symbols
>found)...gdb in realloc(): error: pointer to wrong page
>zsh: abort (core dumped)  gdb /usr/local/sbin/httpd
>-----------------------------------%<-----------------------------------
>
>Skusal som ist dalej, a to prikazom:
>
>--------------------------------------%<--------------------------------------
># gdb -c gdb.core
>GNU gdb 6.1.1 [FreeBSD]
>Copyright 2004 Free Software Foundation, Inc.
>GDB is free software, covered by the GNU General Public License, and you are
>welcome to change it and/or distribute copies of it under certain conditions.
>Type "show copying" to see the conditions.
>There is absolutely no warranty for GDB.  Type "show warranty" for details.
>This GDB was configured as "amd64-marcel-freebsd".
>Core was generated by `gdb'.
>Program terminated with signal 6, Aborted.
>#0  0x0000000800d5e0bc in ?? ()
>(gdb) bt
>#0  0x0000000800d5e0bc in ?? ()
>#1  0x0000000800d52eb1 in ?? ()
>#2  0x00007fffffffd94c in ?? ()
>#3  0x0000000800dd56f6 in ?? ()
>#4  0x0000000800d5e41c in ?? ()
>...
>#1243 0x0000000000000031 in ?? ()
>Cannot access memory at address 0x800000000000
>(gdb)
>--------------------------------------%<--------------------------------------
>
>V tomto momente som vsak nahraty. Poradi niekto ako dalej a ako to zdebugovat/opravit?
>
>Diik, rajo
>
>

-- 
Jan Pechanec <jp (at) devnull (dot) cz>
http://www.devnull.cz



More information about the Users-l mailing list