reconfiguration can cause coredump when master_process off

Hungpo DU alecdu at gmail.com
Mon Jul 12 18:20:07 MSD 2010


I am a new pie to everything here, so please just ignore anything what i've
done improperly.

Serveral days ago, when I was debugging my module, I crash the nginx process
by change. I am playing with source code 0.8.36. then I tried the same thing
under 0.8.44, crash happened again.

nginx.conf:

    daemon off;
    master_process off;

I started nginx in my terminal, and issued the configuration reloading
command twice in another terminal. About 30 seconds later, the process just
end up with "Segmentation fault".

I digged the code, found what caused this problem was:

in ngx_clean_old_cycles, the ngx_cycle_t::connections in the second old
cycle in ngx_old_cycles was not initialized properly, which should be done
in ngx_event_process_init, which was only called once in
ngx_single_process_cycle. So, the following __cycle__s created after
reconfiguring was not initialized by ngx_event_process_init.

I don't know if I describe the "problem" right, or this behavior should be
considered as a BUG.


  Best regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-devel/attachments/20100712/9fcb7f8d/attachment.html>


More information about the nginx-devel mailing list