reconfiguration can cause coredump when master_process off

Hungpo DU alecdu at gmail.com
Tue Jul 13 17:40:06 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.
>>
>> "master_process off" mode is intended only for development and reloading
>> may not work reliably in this mode. If you to test reloading, you should
>> run "master_process on".
>>
>>
>> Thanks for you quick replying..

But, with all due respect, the question is, what we need this mode for, if
> some feature may break during the custom module development.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-devel/attachments/20100713/ead9d43c/attachment.html>


More information about the nginx-devel mailing list