Hi all,
I’m using InterPluginCommunication as a member of a SharedResourcePointer. It works fine except I’m getting an assertion at seemingly random times upon startup. It appears with about a 7 or 8% chance when loading the plugin.
void InterprocessConnection::deliverDataInt (const MemoryBlock& data)
{
jassert (callbackConnectionState); // JUCE IPC (16): EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
if (useMessageThread)
(new DataDeliveryMessage (this, data))->post();
else
messageReceived (data);
}
Debugging it is quite hard because the assertion is rarely thrown.
I logged the functions calls. I also have 2 IPC Threads… is that normal?
WORKING:
connectionLostInt
connectionLostInt
connectionMadeInt
callbackConnectionState = true
connectionMadeInt
callbackConnectionState = true
deliverDataInt
deliverDataInt
deliverDataInt
connectionLostInt
connectionLostInt
callbackConnectionState = false
connectionLostInt
connectionLostInt
connectionLostInt
connectionLostInt
connectionMadeInt
callbackConnectionState = true
connectionMadeInt
callbackConnectionState = true
deliverDataInt
deliverDataInt
deliverDataInt
deliverDataInt
NOT WORKING:
connectionLostInt
connectionLostInt
connectionMadeInt
callbackConnectionState = true
connectionMadeInt
callbackConnectionState = true
deliverDataInt
deliverDataInt
deliverDataInt // Assertion here
connectionLostInt
callbackConnectionState = false
If I ignore the assertion and let it run everything is working fine as far as i can tell.
Any ideas?
Thanks
R