[LAU] Glitch 2

taktik taktik at renoise.com
Thu Apr 18 16:23:00 UTC 2013


On Mon, Apr 15, 2013 at 8:42 PM, Tim E. Real <termtech at rogers.com> wrote:
> Definitely some commonality here !
>
> Without actually instantiating - just simple plugin discovery -
>  I get this *identical* crash at host shutdown with these plugins:
>
>  Glitch-2.0, DiscoveryDemo, HighLife-1.1, Tonespace
>
> ===================================================
> *** glibc detected *** ./muse2: double free or corruption (out): 0x08824c88
> ***
> ======= Backtrace: =========
> /lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0x5646ee2]
> /usr/lib/i386-linux-gnu/libX11.so.6(+0x2431e)[0x485031e]
> /usr/lib/i386-linux-gnu/libX11.so.6(XrmDestroyDatabase+0x7d)[0x486bdfd]
> /usr/lib/i386-linux-gnu/libX11.so.6(_XFreeDisplayStructure+0x44b)[0x485256b]
> /usr/lib/i386-linux-gnu/libX11.so.6(XCloseDisplay+0xd9)[0x483f039]
> /usr/lib/i386-linux-gnu/libQtGui.so.4(+0x1c5c17)[0x109ac17]
> /usr/lib/i386-linux-gnu/libQtGui.so.4(_ZN12QApplicationD1Ev+0x44c)[0x101aa9c]
> ./muse2(_ZN15MuseApplicationD2Ev+0x2b)[0x8050e7f]
> ./muse2(main+0x2402)[0x80503db]
> /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x55ea4d3]
> ./muse2[0x804d5d1]
> ===================================================
>
> These plugins do not cause the crash, even when they are all loaded:
>
> AspectVST, BitMangler, Equinox, my_synth4, String_VST, String_FXVST,
>  TAL-Dub-3, TAL-Reverb-3, TAL-Vocoder-2, VEX, ZR3.
>

Found the reason for this and will fix this in the next Glitch update:

We called "XInitThread" before calling "XOpenDisplay" somewhere deep
in our graph port API code. This of course doesn't make sense for a
shared library cause XInitThread must be called before calling any
XLib functions. When called after a display already got opened, this
seems to to bad things when closing this display again.

But if the other plugins (DiscoveryDemo, HighLife-1.1, Tonespace) do
freeze muse for the same reason, a "XInitThread" call in muse, before
opening the XDisplay should fix them too?
I remember we had similar problems in Renoise with older JUCE plugins
on Linux. I think JUCE plugins rely on "XInitThread" to be called by
the host, so we added it for Renoise too.


More information about the Linux-audio-user mailing list