Crash when restoring an AU plugin

When loading an Edit with the Arturia Mini V plugin my application crashes.
I cannot reproduce in Logic 10.7.4 or the AudioPluginHost (JUCE 7 and 8), but Waveform 12.5.11 and 13.1.2 crashes as well, so it seems something’s up with the combination of TE and that particular plugin.

I’ve tried a few other AU plugins, but I’ve only seen it with the Mini V so far.

This is the stack trace:

Thread 0 Crashed:: JUCE Message Thread Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	    0x7ff806d70fce __pthread_kill + 10
1   libsystem_pthread.dylib       	    0x7ff806da71ff pthread_kill + 263
2   libsystem_c.dylib             	    0x7ff806cf2d14 abort + 123
3   MyApp                  	       0x1088a34cc myapp::crash::crashHandlerFunction(void*) + 8700
4   MyApp                  	       0x1088f8e8c juce::handleCrash(int) + 12
5   libsystem_platform.dylib      	    0x7ff806dbcdfd _sigtramp + 29
6   ???                           	               0x0 ???
7   Mini V2                       	       0x11c7d5d90 VstAU::RestoreState(void const*) + 144
8   Mini V2                       	       0x11c7c95c7 AUBase::DispatchSetProperty(unsigned int, unsigned int, unsigned int, void const*, unsigned int) + 999
9   Mini V2                       	       0x11c7cedfd AUBase::ComponentEntryDispatch(ComponentParameters*, AUBase*) + 429
10  Mini V2                       	       0x11c7c70d4 ComponentEntryPoint<MinimoogVAU>::Dispatch(ComponentParameters*, MinimoogVAU*) + 36
11  AudioToolboxCore              	    0x7ff808435d18 AudioUnitSetProperty + 267
12  MyApp                  	       0x108e605ed juce::AudioUnitPluginInstance::setCurrentProgramStateInformation(void const*, int) + 125
13  MyApp                  	       0x108ac6eaf tracktion::engine::MessageThreadCallback::handleAsyncUpdate() + 63
14  MyApp                  	       0x108ac676e tracktion::engine::callBlocking(std::__1::function<void ()>) + 158
15  MyApp                  	       0x108d29216 tracktion::engine::ExternalPlugin::restorePluginStateFromValueTree(juce::ValueTree const&) + 886
16  MyApp                  	       0x108d216f6 tracktion::engine::ExternalPlugin::initialiseFully() + 3286
17  MyApp                  	       0x108d66dce tracktion::engine::ExternalPlugin::ExternalPlugin(tracktion::engine::PluginCreationInfo) + 2526
18  MyApp                  	       0x108d65e8d tracktion::engine::PluginCache::getOrCreatePluginFor(juce::ValueTree const&) + 525
19  MyApp                  	       0x108d65b66 tracktion::engine::PluginList::ObjectList::createNewObject(juce::ValueTree const&) + 38
20  MyApp                  	       0x108d652f9 std::__1::__function::__func<tracktion::engine::PluginList::initialise(juce::ValueTree const&)::$_2, std::__1::allocator<tracktion::engine::PluginList::initialise(juce::ValueTree const&)::$_2>, void ()>::operator()() + 169
21  MyApp                  	       0x108ac6eaf tracktion::engine::MessageThreadCallback::handleAsyncUpdate() + 63
22  MyApp                  	       0x1088b8442 juce::MessageQueue::deliverNextMessage() + 226
23  MyApp                  	       0x1088b830e juce::MessageQueue::runLoopSourceCallback(void*) + 14

Have you tried running pluginval on it?

Yes, all tests passes on strictness level 10.

Have you got in contact with Arturia so they can check why it’s crashing?

Usually with these things it’s either that we’re passing some unexpected data (which I don’t think is the case here) or it’s just that we’re doing things in a slightly different order than expected. But it’s basically impossible to guess that this.

It might be something quickly they can fix their end or something quick we can fix if we knew what the problem was…

1 Like

Thanks, that makes sense.
I will try and contact Arturia!

Thanks. Let me know what they come back with.