nginx dso coredump
Maxim Dounin
mdounin at mdounin.ru
Tue Aug 30 16:14:12 UTC 2016
Hello!
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
case.
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.
--
Maxim Dounin
http://nginx.org/
More information about the nginx-devel
mailing list