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