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

Reply via email to