nginx:worker进程:malloc():内存损坏:0x0000000000ee8c00

时间:2015-03-09 02:21:57

标签: nginx

  1. 的pstack

    pstack 27339
    #0  0x00000037c600cd2b in pthread_once () from /lib64/libpthread.so.0
    #1  0x00000037c5cfe954 in backtrace () from /lib64/libc.so.6
    #2  0x00000037c5c7054b in __libc_message () from /lib64/libc.so.6
    #3  0x00000037c5c75e66 in malloc_printerr () from /lib64/libc.so.6
    #4  0x00000037c5c79904 in _int_malloc () from /lib64/libc.so.6
    #5  0x00000037c5c7a6b1 in malloc () from /lib64/libc.so.6
    #6  0x00000037c580cc5d in _dl_map_object_deps () from /lib64/ld-linux-x86-64.so.2
    #7  0x00000037c5812b62 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
    #8  0x00000037c580e266 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
    #9  0x00000037c58125aa in _dl_open () from /lib64/ld-linux-x86-64.so.2
    #10 0x00000037c5d26b20 in do_dlopen () from /lib64/libc.so.6
    #11 0x00000037c580e266 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
    #12 0x00000037c5d26c77 in __libc_dlopen_mode () from /lib64/libc.so.6
    #13 0x00000037c5cfe825 in init () from /lib64/libc.so.6
    #14 0x00000037c600cd33 in pthread_once () from /lib64/libpthread.so.0
    #15 0x00000037c5cfe954 in backtrace () from /lib64/libc.so.6
    #16 0x00000037c5c7054b in __libc_message () from /lib64/libc.so.6
    #17 0x00000037c5c75e66 in malloc_printerr () from /lib64/libc.so.6
    #18 0x00000037c5c79904 in _int_malloc () from /lib64/libc.so.6
    #19 0x00000037c5c7a6b1 in malloc () from /lib64/libc.so.6
    #20 0x0000000000457e1a in ngx_alloc ()
    #21 0x0000000000443d92 in ngx_palloc_large ()
    #22 0x0000000000443e95 in ngx_palloc ()
    #23 0x00000000004456ec in ngx_create_temp_buf ()
    #24 0x000000000049f79b in ajp_msg_create_buffer ()
    #25 0x00000000004a22de in ngx_http_ajp_create_request ()
    #26 0x0000000000479593 in ngx_http_upstream_init_request ()
    #27 0x0000000000479955 in ngx_http_upstream_init ()
    #28 0x00000000004712f8 in ngx_http_read_client_request_body ()
    #29 0x00000000004a1a6f in ngx_http_ajp_handler ()
    #30 0x000000000046725d in ngx_http_core_content_phase ()
    #31 0x0000000000462a23 in ngx_http_core_run_phases ()
    #32 0x00000000004a6ac4 in npc_sendRequest ()
    #33 0x000000000045cc9f in ngx_epoll_process_events ()
    #34 0x0000000000455c83 in ngx_process_events_and_timers ()
    #35 0x000000000045b684 in ngx_worker_process_cycle ()
    #36 0x0000000000459e55 in ngx_spawn_process ()
    #37 0x000000000045bfe9 in ngx_master_process_cycle ()
    #38 0x000000000044318d in main ()
    
  2. 错误日志

    *** glibc detected *** nginx: worker process: malloc(): memory corruption: 0x0000000000ee8c00 ***
    *** glibc detected *** nginx: worker process: malloc(): memory corruption: 0x0000000000ee8c00 ***
    
  3. var / proc / pid / stack

    [<ffffffff810a9a49>] futex_wait_queue_me+0xb9/0xf0
    [<ffffffff810aab58>] futex_wait+0x1f8/0x380
    [<ffffffff810ac2c1>] do_futex+0x121/0xb60
    [<ffffffff810acd7b>] sys_futex+0x7b/0x170
    [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
    [<ffffffffffffffff>] 0xffffffffffffffff
    
  4. 当我收到错误时,nginx进程被挂起。 由于malloc错误进程,所有进程都会挂起。

    在错误日志中,没有回溯。 所以,我猜malloc和backtrace(或打印机)之间存在死锁。

    我使用'accept_mutex off'选项,它只是减少了错误。 (这不是一个完美的解决方案)

    我正在使用nginx-0.8.54。

0 个答案:

没有答案