On Sat, 02 Oct 2021 at 20:48:55 +1000, 小太 wrote: > What I can add is from reading the documentation of > g_quark_from_static_string() > (https://docs.gtk.org/glib/func.quark_from_static_string.html) > is these particular lines seem to be of importance: > > > It can be used with statically allocated strings in the main program, > > but not with statically allocated memory in dynamically loaded > > modules, if you expect to ever unload the module again > > However, jackd will load jack_firewire.so three times (which means > loading and unloading its glibmm dependency three times)
Perhaps jack_firewire.so and/or glibmm should be linked with -Wl,-z,nodelete to prevent it from being removed from the address space even after dlclose()? That would ensure that its static strings remain in memory. smcv