apache 分段错误解释 gdb 核心分析

apache 分段错误解释 gdb 核心分析

我们在 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.

相关内容