nginx 0.8.55 && 1.1.0 core dump if switch from http to https with HUP

Delta Yeh delta.yeh at gmail.com
Tue Aug 2 08:35:28 UTC 2011


Hi,
    Nginx crash if switch http to https, steps to reproduce are :
1. setup a normal config  of http
2. start nginx
3. edit config file and add:
     ssl on;
    ssl_certificate   /path/to/root.cert;
    ssl_certificate_key /path/to//root.key;
    ssl_client_certificate /path/to//root.ca.cert;

4. kill -HUP pid_of_nginx
5.  nginx  crashed.


If I use the following cfg to start nginx http :
    ssl off;
    ssl_certificate   /path/to/root.cert;
    ssl_certificate_key /path/to//root.key;
    ssl_client_certificate /path/to//root.ca.cert;

after nginx started, then changed the config to :
   ssl on;
    ssl_certificate   /path/to/root.cert;
    ssl_certificate_key /path/to//root.key;
    ssl_client_certificate /path/to//root.ca.cert;


 kill -HUP pid_of_nginx, everything is OK. nginx NOT crashed.




secone-dev:/secone/webap/conf# /secone/webap/sbin/nginx -V
nginx version: nginx/0.8.55
built by gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
TLS SNI support disabled
configure arguments: --prefix=/secone/webap --pid-path=/secone/var
--with-cpu-opt=pentium4 --with-pcre --with-ipv6
--without-http_autoindex_module --without-http_ssi_module
--without-http_empty_gif_module --without-http_memcached_module
--without-http_charset_module --without-http_split_clients_module
--with-http_stub_status_module --with-http_ssl_module
--with-http_realip_module --with-http_sub_module
--with-http_geoip_module



(gdb) bt
#0  ngx_slab_alloc (pool=0x0, size=40) at src/core/ngx_slab.c:145
#1  0x080683c6 in ngx_ssl_session_cache_init (shm_zone=0x81037e4, data=0x0)
    at src/event/ngx_event_openssl.c:1518
#2  0x08058d14 in ngx_init_cycle (old_cycle=0x80c8738)
    at src/core/ngx_cycle.c:454
#3  0x0806662f in ngx_master_process_cycle (cycle=0x80c8738)
    at src/os/unix/ngx_process_cycle.c:240
#4  0x0804d151 in main (argc=3, argv=0xbfaf09b4) at src/core/nginx.c:401



(gdb) frame 1
#1  0x080683c6 in ngx_ssl_session_cache_init (shm_zone=0x81037e4, data=0x0)
    at src/event/ngx_event_openssl.c:1518
1518        cache = ngx_slab_alloc(shpool, sizeof(ngx_ssl_session_cache_t));
(gdb) l
1513            return NGX_OK;
1514        }
1515
1516        shpool = (ngx_slab_pool_t *) shm_zone->shm.addr;
1517
1518        cache = ngx_slab_alloc(shpool, sizeof(ngx_ssl_session_cache_t));
1519        if (cache == NULL) {
1520            return NGX_ERROR;
1521        }
1522

(gdb) info locals
shpool = (ngx_slab_pool_t *) 0x0
(gdb) info args
shm_zone = (ngx_shm_zone_t *) 0x81037e4
data = (void *) 0x0




It seems nginx 1.1.0 also has this issue.
secone-dev:/secone/webap/conf# /secone/webap/sbin/nginx -V
nginx: nginx version: nginx/1.1.0
nginx: built by gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
nginx: TLS SNI support disabled
nginx: configure arguments: --prefix=/secone/webap
--pid-path=/secone/var --with-cpu-opt=pentium4 --with-pcre --with-ipv6
--without-http_autoindex_module --without-http_ssi_module
--without-http_empty_gif_module --without-http_memcached_module
--without-http_charset_module --without-http_split_clients_module
--with-http_stub_status_module --with-http_ssl_module
--with-http_realip_module --with-http_sub_module
--with-http_geoip_module



More information about the nginx mailing list