https://bz.apache.org/bugzilla/show_bug.cgi?id=66005

--- Comment #27 from Michael Osipov <micha...@apache.org> ---
(In reply to Josef Čejka from comment #21)
> Created attachment 38538 [details]
> Limit mod_jk.so exported symbols to "jk_module" only.
> 
> I found the real culprit. Please ignore my previous patch.
> 
> ATM mod_jk.so library exports all internal symbols so any other library
> loaded after it can bind it's unresolved symbols on mod_jk.so. Glibc is
> checking dependencies and dlclose() does not unload library on which depends
> other library. This breaks Apache module reloading mechanism because
> following dlopen() will return already existing handler to mod_jk.so without
> re-initialization of global static variables so they contain still already
> invalid memory pointers instead of NULL values.
> 
> In my case symbol "context_free@@LIBSELINUX_1.0" required by
> libkrb5support.so was bound to context_free from mod_jk.so instead of
> function with the same name provided by libselinux.so.1 because mod_jk.so
> was loaded first. It occurred only if nscd daemon was disabled and nsswitch
> had to load krb5 libraries. I can easily reproduce the issue on SLES15-SP4
> by disabling nscd service. IMO this can also explain why Lothar reported
> that his issue disappeared after modifying nsswitch.conf.

Josef,

kudos to your investigation skills!

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to