我们在 Apache 上遇到了分段错误,它生成了一个核心文件。下面是 gdb 的结果,但我需要一些帮助来解释它的含义。核心文件是由 httpd.worker 线程生成的。感谢您的帮助。
(gdb) thread apply all bt full
Thread 2 (Thread 0x7f650c6bd7e0 (LWP 16186)):
#0 0x00007f650afa922d in pthread_join (threadid=140071382447872, thread_return=0x7fff888e34d8) at pthread_join.c:89
__ignore = -512
_tid = 16217
_buffer = {__routine = 0x7f650afa9100 <cleanup>, __arg = 0x7f64e8fe7d28, __canceltype = 5, __prev = 0x0}
oldtype = 0
pd = 0x7f64e8fe7700
self = 0x7f650c6bd7e0
result = 0
#1 0x00007f650b1e0985 in apr_thread_join (retval=0x7fff888e351c, thd=0x7f650d9977c0) at threadproc/unix/thread.c:217
stat = -512
thread_stat = 0x0
#2 0x00007f650c71268c in join_workers (listener=<value optimized out>, threads=<value optimized out>)
at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1104
worker_os_thread = 0x7f650d9977e8
i = <value optimized out>
rv = <value optimized out>
thread_rv = 0
#3 0x00007f650c71324f in child_main (child_num_arg=1) at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1287
threads = 0x7f650da57e60
rv = <value optimized out>
ts = 0x7f650d9966c0
thread_attr = 0x7f650d9966e0
start_thread_id = 0x7f650d996740
#4 0x00007f650c71348f in make_child (s=0x7f650d86f890, slot=1) at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1341
pid = 0
#5 0x00007f650c7142c4 in perform_idle_server_maintenance (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>)
at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1560
j = <value optimized out>
free_slots = {1, 0, 0, 0, 0, 32613, 228410624, 32613, 6, 0, 28687086, 32613, 226918760, 32613, 28623622, 32613, 228410536, 32613,
28693678, 32613, 228410624, 32613, 227270584, 32613, 227270584, 32613, 186441781, 32613, 226949264, 32613, 19, 0}
total_non_dead = <value optimized out>
active_thread_count = <value optimized out>
idle_thread_count = <value optimized out>
free_length = 1
i = <value optimized out>
---Type <return> to continue, or q <return> to quit---
ps = <value optimized out>
totally_free_length = <value optimized out>
last_non_dead = <value optimized out>
#6 server_main_loop (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>)
at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1663
status = 0
pid = {pid = -1, in = 0x7f650d87f438, out = 0x7f650d866250, err = 0x7f650c92bbe8}
i = <value optimized out>
child_slot = <value optimized out>
exitwhy = APR_PROC_EXIT
processed_status = <value optimized out>
#7 ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>)
at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:1765
remaining_children_to_start = <value optimized out>
rv = <value optimized out>
#8 0x00007f650c6ea280 in main (argc=1, argv=0x7fff888e3938) at /usr/src/debug/httpd-2.2.15/server/main.c:760
c = 0 '\000'
configtestonly = <value optimized out>
confname = 0x7f650c71641e "conf/httpd.conf"
def_server_root = 0x7f650c716413 "/etc/httpd"
temp_error_log = 0x0
error = <value optimized out>
process = 0x7f650d86f890
server_conf = 0x7f650d86f890
pglobal = 0x7f650d866158
pconf = 0x7f650d868168
plog = 0x7f650d89a2f8
ptemp = 0x7f650d8bdfb8
pcommands = 0x7f650d86a178
opt = 0x7f650d86a270
rv = <value optimized out>
mod = <value optimized out>
optarg = 0x7f650d862060 ""
signal_server = <value optimized out>
Thread 1 (Thread 0x7f64e8fe7700 (LWP 16217)):
#0 apr_bucket_free (mem=0x0) at buckets/apr_buckets_alloc.c:185
---Type <return> to continue, or q <return> to quit---
node = <value optimized out>
list = <value optimized out>
#1 0x00007f650bbc7bba in file_bucket_read (e=0x7f650daba5f8, str=0x7f64e8fe1680, len=0x7f64e8fe1688, block=<value optimized out>)
at buckets/apr_buckets_file.c:125
a = 0x7f644359fec8
f = 0x7f644c033860
b = 0x0
buf = 0x0
rv = 14
filelength = 192
fileoffset = 551558976
flags = <value optimized out>
#2 0x00007f6501d797aa in ?? ()
No symbol table info available.
#3 0x00007f644c06cf98 in ?? ()
No symbol table info available.
#4 0x00007f64e8fe1600 in ?? ()
No symbol table info available.
#5 0x00007f644359f858 in ?? ()
No symbol table info available.
#6 0x0000000000000008 in ?? ()
No symbol table info available.
#7 0x00007f650daecda8 in ?? ()
No symbol table info available.
#8 0x0000000000001f40 in ?? ()
No symbol table info available.
#9 0x00007f650daeedb8 in ?? ()
No symbol table info available.
#10 0x00000000000000c0 in ?? ()
No symbol table info available.
#11 0x00007f644359fb78 in ?? ()
No symbol table info available.
#12 0x0000000000000008 in ?? ()
No symbol table info available.
#13 0x00007f650daf0dc8 in ?? ()
No symbol table info available.
#14 0x0000000000001f40 in ?? ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#15 0x00007f644359f538 in ?? ()
No symbol table info available.
#16 0x0000000000000008 in ?? ()
No symbol table info available.
#17 0x00007f650dae8d88 in ?? ()
No symbol table info available.
#18 0x0000000000001f40 in ?? ()
No symbol table info available.
#19 0x00007f650daead98 in ?? ()
No symbol table info available.
#20 0x00000000000000c0 in ?? ()
No symbol table info available.
#21 0x0000000000000000 in ?? ()
No symbol table info available.