Bug#994969: jackd2: segfaults after today's upgrade of other Debian testing packages

‍小太 nospam at kota.moe
Mon Oct 4 09:30:28 BST 2021


On Sun, 3 Oct 2021 12:33:48 +0100 Simon McVittie <smcv at debian.org> wrote:
> 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.

I suppose that would solve the problem too.
But I think we should try to have the root cause fixed upstream first.

I wrote a short PoC without the involvement of JACK to demonstrate it is not
a JACK problem and the bug has existed (hidden) for 18 years already:
https://gitlab.gnome.org/GNOME/glibmm/-/issues/96#note_1281881



More information about the pkg-gnome-maintainers mailing list