wandenberg/nginx-push-stream-module

nginx master process is hangs - sigsuspend

Closed this issue · 2 comments

Hi @wandenberg

Looks I've found some random hangs on latest versions.

nginx version: nginx/1.12.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/push --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --add-module=/usr/local/src/0.5.2/nginx-push-stream-module --with-debug

NGINX master process has stop accept new request:
rt_sigsuspend([]....

Below attached last connection debug log from nginx
lp-nginx-1.12.1.txt
If you need more from log, just let me know.

This configuration is currently running:

location /channels-stats {
    push_stream_channels_statistics;
	push_stream_channels_path      $arg_id;
}

location /pub {
    push_stream_publisher admin;
	push_stream_channels_path      $arg_id;
	push_stream_store_messages     on;
	allow  1.1.1.1/24;
    	deny   all;
}
    
location ~ /sub/(.*) {
    default_type  text/plain;
    add_header                Access-Control-Allow-Origin *;
    add_header                Access-Control-Allow-Headers "If-None-Match, If-Modified-Since, Origin, X-Date, X-Debug, Content-Type";
    add_header                Access-Control-Expose-Headers "ETag, Date";
    push_stream_subscriber    long-polling;
    gzip                      off;
    push_stream_channels_path $1;
	push_stream_header_template    "{\"item\":[";
    push_stream_message_template  "~text~,";
	push_stream_footer_template   "null]}";
} 

(gdb) bt
#0 0x00007f2886d859aa in sigsuspend () from /lib64/libc.so.6
#1 0x00000000004360d3 in ngx_master_process_cycle (cycle=0x6ae4e40) at src/os/unix/ngx_process_cycle.c:163
#2 0x0000000000412e01 in main (argc=, argv=) at src/core/nginx.c:367

Hi @kerncore, do you mind to recompile your nginx with the master version of the module?
And also, can you confirm if http2 is enabled? If yes, try to run your tests again without it.