nginx dso coredump

Maxim Dounin mdounin at
Tue Aug 30 13:05:05 UTC 2016


On Tue, Aug 30, 2016 at 08:46:42PM +0800, 洪志道 wrote:

> Thanks a lot for your reply.
> First, we want to manage the module versions, such as
> Maybe you can share a better way.
> Second:
> "Note that when writing module *.so files care should be taken to
> not modify contents of files currently loaded" -- I get, but we didn't.
> The above problem I described is:
> load_module  modules/;  # it runs well before
> upgrading
> Then we upgrade module named
> [ make install: generate new file; cp
> Then change config
> load_module modules/;
> Finally we upgrade nginx: -USR2 && sleep && -QUIT old

As long as you use upgrade via USR2 signal this process should be 
fine.  Note though, that if you'll try to reload a configuration 
instead of upgrade, you'll likely get a segmentation fault as 
well, since there will be multiple conflicting symbols for your 
module loaded at the same time.

Overral I would recommend you to avoid using such distinct *.so 
names as it looks very fragile.

If you want to store module version somewhere, consider just 
adding a symbol with appropriate information to the module itself.

Maxim Dounin

More information about the nginx-devel mailing list