slact/nginx_http_push_module — Issue #78: Nginx worker segv at ngx_http_push_module_ipc.c:239
Author: texdev
Created: 2011-11-08 20:43:06+00:00
State: open

We have seen this once (possibly more, but we did not capture core).

Our application was sending a message on a channel that may have been previously deleted. Trying to reproduce that scenario did not result in the error.

Core available upon request. lpattist ( at ) xopnetworks.com

# ./nginx -V
nginx: nginx version: nginx/1.1.5
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: TLS SNI support disabled
nginx: configure arguments: --with-cc-opt=-Wno-unused-variable --with-http_ssl_module --add-module=src/addons/nginx-accesskey-2.0.3 --add-module=src/addons/slact-nginx_http_push_module-5688154

(gdb) bt
#0 0x080aab14 in ngx_http_push_send_worker_message
(channel=0xb55a6000,msg=0xb55b03c0, status_code=0, status_line=0x0,
log=0x9d78ec8, shpool=0xb5589000)
at src/addons/slact-nginx_http_push_module-5688154/src/ngx_http_push_module_ipc.c:239
#1 ngx_http_push_broadcast_locked
(channel=0xb55a6000, msg=0xb55b03c0, status_code=0, status_line=0x0,
log=0x9d78ec8, shpool=0xb5589000)
at src/addons/slact-nginx_http_push_module-5688154/src/ngx_http_push_module.c:593
#2 0x080abdb3 in ngx_http_push_publisher_body_handler (r=0x9d7a918)
at src/addons/slact-nginx_http_push_module-5688154/src/ngx_http_push_module.c:761
#3 0x0807b7bf in ngx_http_do_read_client_request_body (r=0x9d7a918)
at src/http/ngx_http_request_body.c:383
#4 0x0807b808 in ngx_http_read_client_request_body_handler (r=0x9d7a918)
at src/http/ngx_http_request_body.c:252
#5 0x08073156 in ngx_http_request_handler (ev=0xb55a20c4)
at src/http/ngx_http_request.c:1815
#6 0x08060126 in ngx_event_process_posted (cycle=0x9da48d8, posted=0x80c424c)
at src/event/ngx_event_posted.c:39
#7 0x0806000d in ngx_process_events_and_timers (cycle=0x9da48d8)
at src/event/ngx_event.c:272
#8 0x08065be3 in ngx_worker_process_cycle (cycle=0x9da48d8, data=0x0)
at src/os/unix/ngx_process_cycle.c:801
#9 0x080644c3 in ngx_spawn_process
(cycle=0x9da48d8, proc=0x8065b2b , data=0x0,
name=0x80afb1d "worker process", respawn=-4)
at src/os/unix/ngx_process.c:196
#10 0x080651f6 in ngx_start_worker_processes (cycle=0x9da48d8, n=5, type=-4)
at src/os/unix/ngx_process_cycle.c:360
#11 0x080667a3 in ngx_master_process_cycle (cycle=0x9da48d8)
at src/os/unix/ngx_process_cycle.c:249
#12 0x0804cb02 in main (argc=3, argv=0xbfb1bbc4)
at src/core/nginx.c:405