Re: [LAU] Glitch 2

From: taktik <taktik@email-addr-hidden>
Date: Thu Apr 18 2013 - 19:23:00 EEST

On Mon, Apr 15, 2013 at 8:42 PM, Tim E. Real <termtech@email-addr-hidden> 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.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Thu Apr 18 20:15:02 2013

This archive was generated by hypermail 2.1.8 : Thu Apr 18 2013 - 20:15:02 EEST