Please follow the full story here.
Debugged the host with my plugin loaded. Assertion fired as soon as the audio thread is up and running:
JUCE Assertion failure in ../libraries/juce/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp, line 553
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0xb7bc86d0 (LWP 26388)]
0xffffe424 in __kernel_vsyscall ()
Switched to the right thread:
(gdb) thread 4
[Switching to thread 4 (Thread 0xb5b0fb70 (LWP 26393))]#0 0xffffe424 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb7c1b026 in kill () from /lib/libc.so.6
#2 0xb25bcc09 in JuceVSTWrapper::processReplacing (this=0xa081858, inputs=0x9fa0020, outputs=0x9fa0220, numSamples=1024)
at ../libraries/juce/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp:553
#3 0xb25b9fe6 in AudioEffect::processClassReplacing (e=0xa081878, inputs=0x9fa0020, outputs=0x9fa0220, sampleFrames=1024)
at ../libraries/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:60
#4 0x080e1e3e in CVST::subProcess(int, int) ()
#5 0x080e2473 in CVST::process(int) ()
#6 0x080917d8 in processComp(CAudioCable*, int, CPDC*) ()
#7 0x08091b7f in CXT::subProcess(int, int) ()
#8 0x08094199 in CXT::process(int) ()
#9 0x0817df5f in libio(float**, float**, long, long, long, void*, int) ()
#10 0xb7fd3b6f in CALSAAudioThread::execute() () from /home/kraken/Apps/energyXT/libaam.so
#11 0xb7fd152c in threadFunc(void*) () from /home/kraken/Apps/energyXT/libaam.so
#12 0xb7fa6e83 in start_thread () from /lib/libpthread.so.0
#13 0xb7cbeeee in clone () from /lib/libc.so.6
Navigate up 2 frames:
(gdb) up
#1 0xb7c1b026 in kill () from /lib/libc.so.6
(gdb) up
#2 0xb25bcc09 in JuceVSTWrapper::processReplacing (this=0xa081858, inputs=0x9fa0020, outputs=0x9fa0220, numSamples=1024)
at ../libraries/juce/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp:553
553 jassert (activePlugins.contains (this));
Printed this and the first and only element in the array:
(gdb) print this
$1 = (JuceVSTWrapper *) 0xa081858
(gdb) print activePlugins.data.elements.data[0]
$2 = (void *) 0xa081858
How do you explain this ?
Probably the contains function of the Array got messed up comparing void pointers ? it seems so strange !