nginx dso coredump
mdounin at mdounin.ru
Tue Aug 30 16:14:12 UTC 2016
On Tue, Aug 30, 2016 at 11:25:26PM +0800, 洪志道 wrote:
> So is it not allowed that we reload a configuration after change
> load_module directive?
Reloading configuration is allowed. What is not allowed is
loading incompatible modules with conflicting symbols defined,
and, as far as I understand, this what essentially happens in your
You configuration has ngx_http_abc_module_1.so loaded with the
ngx_http_abc_module symbol defined. And you load
ngx_http_abc_module_2.so which defines the ngx_http_abc_module to
something different and incompatible.
> But it seems probably happened that others guys reload nginx, since they
> don't know
> whether load_module changes.
> I mean we should upgrade after change so files, but it's easy to get a
> segmentation fault
> if some other guy run a reload command at that time.
What happens is a direct result of your manual intervention to
naming and thus introducing multiple conflicting modules. And I
don't think nginx can do much to prevent this from happening, at
least without limiting of what modules can do. Most simple
solution is to avoid manually renaming modules.
More information about the nginx-devel