On Mon, Apr 15, 2013 at 8:42 PM, Tim E. Real <termtech@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user