On 7/14/21 12:38 PM, Dimitry Sibiryakov wrote:
14.07.2021 11:27, Alex Peshkoff via Firebird-devel wrote:
I'll do a couple more experiments to determine if the problem is
with thread races or library unloading order by OS because I suspect
that on exit they are unloaded in reverse order
As far as I know yes - reverse.
so trace plugin is unloaded before UnloadDetectorHelper in the
engine is fired.
In this case the engine's UnloadDetector must not call routines from
other libraries. It cannot even release instances of plugins because
this code is in already freed memory.
Without a kind of UnloadDetector in your plugin PluginManager is not
aware that your plugin was unloaded on exit().
But if all that chain was called from fb_shutdown() it does not matter -
UnloadDetector is not needed. Can you show the stack trace when doClean
is called?
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel