I can also confirm this issue also happens to me, and that downgrading glibmm from 2.66.1-1 to 2.64.2-2 successfully resolves the issue.
I followed similar debugging steps as r...@thoryk.com above which produced the same backtrace, before finding this bug already reported. 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) from the following backtraces: > Breakpoint 1, __dlopen (file=0x7fffffffd400 > "/tmp/jackd2/lib/jack/jack_firewire.so", mode=258) at dlopen.c:75 > 75 dlopen.c: No such file or directory. > (gdb) bt > #0 __dlopen (file=0x7fffffffd400 "/tmp/jackd2/lib/jack/jack_firewire.so", > mode=258) at dlopen.c:75 > #1 0x00007ffff7f73f9b in check_symbol (sofile=0x5555555720f3 > "jack_firewire.so", symbol=0x7ffff7f9b528 "jack_internal_initialize", > driver_dir=0x7ffff7f9b4de "/tmp/jackd2/lib/jack", res_dllhandle=0x0) at > ../common/JackDriverLoader.cpp:432 > #2 0x00007ffff7f7430d in jack_drivers_load (drivers=0x0) at > ../common/JackDriverLoader.cpp:602 > #3 0x00007ffff7f795ff in jackctl_drivers_load (server_ptr=0x55555556fbb0) at > ../common/JackControlAPI.cpp:390 > #4 0x00007ffff7f7a4b6 in jackctl_server_create2 (on_device_acquire=0x0, > on_device_release=0x0, on_device_reservation_loop=0x0) at > ../common/JackControlAPI.cpp:935 > #5 0x0000555555556d7d in main (argc=3, argv=0x7fffffffdfa8) at > ../common/Jackdmp.cpp:334 > Thread 1 "jackd" hit Breakpoint 1, __dlopen (file=0x7fffffffcfa0 > "/tmp/jackd2/lib/jack/jack_firewire.so", mode=258) at dlopen.c:75 > 75 in dlopen.c > (gdb) bt > #0 __dlopen (file=0x7fffffffcfa0 "/tmp/jackd2/lib/jack/jack_firewire.so", > mode=258) at dlopen.c:75 > #1 0x00007ffff7f73f9b in check_symbol(file_char_t const*, char const*, > file_char_t const*, void**) (sofile=0x5555555720f3 "jack_firewire.so", > symbol=0x7ffff7f9b541 "driver_get_descriptor", driver_dir=0x7ffff7f9b4de > "/tmp/jackd2/lib/jack", res_dllhandle=0x7fffffffd3e8) > at ../common/JackDriverLoader.cpp:432 > #2 0x00007ffff7f740b0 in jack_get_descriptor(JSList*, file_char_t const*, > char const*, file_char_t const*) (drivers=0x0, sofile=0x5555555720f3 > "jack_firewire.so", symbol=0x7ffff7f9b541 "driver_get_descriptor", > driver_dir=0x7ffff7f9b4de "/tmp/jackd2/lib/jack") > at ../common/JackDriverLoader.cpp:465 > #3 0x00007ffff7f74339 in jack_drivers_load(_JSList*) (drivers=0x0) at > ../common/JackDriverLoader.cpp:606 > #4 0x00007ffff7f795ff in jackctl_drivers_load(jackctl_server*) > (server_ptr=0x55555556fbb0) at ../common/JackControlAPI.cpp:390 > #5 0x00007ffff7f7a4b6 in jackctl_server_create2(bool (*)(char const*), void > (*)(char const*), void (*)()) (on_device_acquire=0x0, on_device_release=0x0, > on_device_reservation_loop=0x0) at ../common/JackControlAPI.cpp:935 > #6 0x0000555555556d7d in main(int, char**) (argc=3, argv=0x7fffffffdfa8) at > ../common/Jackdmp.cpp:334 > Thread 1 "jackd" hit Breakpoint 1, __dlopen (file=0x7fffffffd400 > "/tmp/jackd2/lib/jack/jack_firewire.so", mode=258) at dlopen.c:75 > 75 in dlopen.c > (gdb) bt > #0 __dlopen (file=0x7fffffffd400 "/tmp/jackd2/lib/jack/jack_firewire.so", > mode=258) at dlopen.c:75 > #1 0x00007ffff7f73f9b in check_symbol(file_char_t const*, char const*, > file_char_t const*, void**) (sofile=0x5555555e5ab3 "jack_firewire.so", > symbol=0x7ffff7f9b528 "jack_internal_initialize", driver_dir=0x7ffff7f9b4de > "/tmp/jackd2/lib/jack", res_dllhandle=0x0) > at ../common/JackDriverLoader.cpp:432 > #2 0x00007ffff7f74511 in jack_internals_load(_JSList*) (internals=0x0) at > ../common/JackDriverLoader.cpp:723 > #3 0x00007ffff7f797c1 in jackctl_internals_load(jackctl_server*) > (server_ptr=0x55555556fbb0) at ../common/JackControlAPI.cpp:459 > #4 0x00007ffff7f7a4cb in jackctl_server_create2(bool (*)(char const*), void > (*)(char const*), void (*)()) (on_device_acquire=0x0, on_device_release=0x0, > on_device_reservation_loop=0x0) at ../common/JackControlAPI.cpp:941 > #5 0x0000555555556d7d in main(int, char**) (argc=3, argv=0x7fffffffdfa8) at > ../common/Jackdmp.cpp:334 So the issue here seems like glibmm should not be using g_quark_from_static_string(), but g_quark_from_string() instead