Introjucer crashes when Android target is selected in an audio plug-in project


#1

reproduction:

1.) start Introjucer
2.) create new Audio Plug-In project
3.) check Android Studio as target
4.) click create
5.) click on the Android Studio target
6.) booom

Backtrace:

* thread #1: tid = 0x1627b2, 0x00000001001bfb9a Introjucer`DependencyPathPropertyComponent::DependencyPathPropertyComponent(this=0x0000000106a097f0, value=0x00007fff5fbfd5c0, propertyName=0x00007fff5fbfd5b8) + 1098 at jucer_DependencyPathPropertyComponent.cpp:68, name = 'Juce Message Thread', queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
  * frame #0: 0x00000001001bfb9a Introjucer`DependencyPathPropertyComponent::DependencyPathPropertyComponent(this=0x0000000106a097f0, value=0x00007fff5fbfd5c0, propertyName=0x00007fff5fbfd5b8) + 1098 at jucer_DependencyPathPropertyComponent.cpp:68
    frame #1: 0x00000001001bfd05 Introjucer`DependencyPathPropertyComponent::DependencyPathPropertyComponent(this=0x0000000106a097f0, value=0x00007fff5fbfd5c0, propertyName=0x00007fff5fbfd5b8) + 37 at jucer_DependencyPathPropertyComponent.cpp:42
    frame #2: 0x00000001001cb412 Introjucer`VSTHelpers::createVSTPathEditor(exporter=0x000000010130ae70, props=0x00007fff5fbfdc30, isVST3=false) + 226 at jucer_AudioPluginModule.h:253
    frame #3: 0x00000001001cb615 Introjucer`VSTHelpers::createPropertyEditors(exporter=0x000000010130ae70, props=0x00007fff5fbfdc30, isVST3=false) + 53 at jucer_AudioPluginModule.h:298
    frame #4: 0x00000001001cb113 Introjucer`LibraryModule::createPropertyEditors(this=0x0000610000140f20, exporter=0x000000010130ae70, props=0x00007fff5fbfdc30) const + 851 at jucer_Module.cpp:418
    frame #5: 0x0000000100162018 Introjucer`ProjectExporter::createPropertyEditors(this=0x000000010130ae70, props=0x00007fff5fbfdc30) + 424 at jucer_ProjectExporter.cpp:219
    frame #6: 0x000000010022a847 Introjucer`ConfigTreeItemTypes::ExporterItem::SettingsComp::SettingsComp(this=0x0000000106a20b40, exp=0x000000010130ae70) + 151 at jucer_ConfigTree_Exporter.h:160
    frame #7: 0x000000010022a79d Introjucer`ConfigTreeItemTypes::ExporterItem::SettingsComp::SettingsComp(this=0x0000000106a20b40, exp=0x000000010130ae70) + 29 at jucer_ConfigTree_Exporter.h:156
    frame #8: 0x0000000100229b94 Introjucer`ConfigTreeItemTypes::ExporterItem::showDocument(this=0x0000600000161980) + 84 at jucer_ConfigTree_Exporter.h:44
    frame #9: 0x000000010024b676 Introjucer`JucerTreeViewBase::invokeShowDocument(this=0x0000600000161980) + 38 at jucer_JucerTreeViewBase.cpp:253
    frame #10: 0x000000010024fed9 Introjucer`JucerTreeViewBase::ItemSelectionTimer::timerCallback(this=0x0000618000240a50) + 25 at jucer_JucerTreeViewBase.cpp:230
    frame #11: 0x00000001003727cc Introjucer`juce::Timer::TimerThread::callTimers(this=0x0000000103a02da0) + 188 at juce_Timer.cpp:109
    frame #12: 0x00000001003726e9 Introjucer`juce::Timer::TimerThread::CallTimersMessage::messageCallback(this=0x0000608000002810) + 41 at juce_Timer.cpp:174
    frame #13: 0x0000000100375d69 Introjucer`juce::MessageQueue::deliverNextMessage(this=0x00006000000c08c0) + 105 at juce_osx_MessageQueue.h:79
    frame #14: 0x0000000100375cca Introjucer`juce::MessageQueue::runLoopCallback(this=0x00006000000c08c0) + 58 at juce_osx_MessageQueue.h:90
    frame #15: 0x0000000100375b85 Introjucer`juce::MessageQueue::runLoopSourceCallback(info=0x00006000000c08c0) + 21 at juce_osx_MessageQueue.h:99
    frame #16: 0x00007fff8c65b5c1 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #17: 0x00007fff8c64d41c CoreFoundation`__CFRunLoopDoSources0 + 556
    frame #18: 0x00007fff8c64c93f CoreFoundation`__CFRunLoopRun + 927
    frame #19: 0x00007fff8c64c338 CoreFoundation`CFRunLoopRunSpecific + 296
    frame #20: 0x00007fff9b62f935 HIToolbox`RunCurrentEventLoopInMode + 235
    frame #21: 0x00007fff9b62f76f HIToolbox`ReceiveNextEventCommon + 432
    frame #22: 0x00007fff9b62f5af HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
    frame #23: 0x00007fff914100ee AppKit`_DPSNextEvent + 1067
    frame #24: 0x00007fff917dc943 AppKit`-[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
    frame #25: 0x00007fff91405fc8 AppKit`-[NSApplication run] + 682
    frame #26: 0x0000000100367473 Introjucer`juce::MessageManager::runDispatchLoop(this=0x00006000000c0d90) + 147 at juce_mac_MessageManager.mm:248
    frame #27: 0x000000010036735a Introjucer`juce::JUCEApplicationBase::main() + 394 at juce_ApplicationBase.cpp:240
    frame #28: 0x000000010036716c Introjucer`juce::JUCEApplicationBase::main(argc=3, argv=0x00007fff5fbff698) + 60 at juce_ApplicationBase.cpp:218
    frame #29: 0x0000000100030e93 Introjucer`main(argc=3, argv=0x00007fff5fbff698) + 51 at jucer_Main.cpp:27
    frame #30: 0x00007fff9d17e5ad libdyld.dylib`start + 1
    frame #31: 0x00007fff9d17e5ad libdyld.dylib`start + 1

 

OS: OS X 10.11.2
Juce-Version: latest master (82cc6b7183acabca16fdda557c12f507fc9f2efc)

Note, that it does not crash, if you remove the reference to the juce_audio_plugin_client module from the project.

And yes, I know, that a VST Plugin target does not make much sense. That's not how I stumbled upon this crash :)


Best,
Ben

 


#2

Wasn't aware you use VST/other pluggin technologies on Android... Not seen one berfore.


#3

Thanks for the heads-up, we'd obviously never tried that combination before!

I've fixed it so it'll work without crashing now, but don't expect an Android VST project to do anything sensible!


#4

I don't expect VSTs to be supported on Android :). I wanted to convert a Plugin-Project to a GUI Application Project for Android (via the standalone filter window), but did it in the wrong Order.

thanks for the quick response,
Ben