On Mon, Apr 15, 2013 at 8:42 PM, Tim E. Real <termtech(a)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.