for some reason, even in a debug build, I cannot get a crash report from the device with readable Juce functions, so it's hard to give you anything useful for the external midi device crash. however i did get this with Xcode attached while using the opengl renderer:
Thread 1 Juce Message Thread, Queue : com.apple.main-thread
#0 0x3a3d3f64 in __psynch_mutexdrop ()
#1 0x3a439e08 in pthread_mutex_unlock ()
#2 0x00229548 in juce::WaitableEvent::signal() const at /Users/nhdika/Code/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:124
#3 0x002bfc92 in juce::MessageManagerLock::BlockingMessage::messageCallback() at /Users/nhdika/Code/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:231
#4 0x002be2c6 in juce::MessageQueue::deliverNextMessage() at /Users/nhdika/Code/JUCE/modules/juce_events/native/juce_osx_MessageQueue.h:79
#5 0x002be206 in juce::MessageQueue::runLoopCallback() at /Users/nhdika/Code/JUCE/modules/juce_events/native/juce_osx_MessageQueue.h:90
#6 0x002be1da in juce::MessageQueue::runLoopSourceCallback(void*) at /Users/nhdika/Code/JUCE/modules/juce_events/native/juce_osx_MessageQueue.h:99
#7 0x2f30ffe6 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#8 0x2f30f4ae in __CFRunLoopDoSources0 ()
#9 0x2f30dc9e in __CFRunLoopRun ()
#10 0x2f2787a8 in CFRunLoopRunSpecific ()
#11 0x2f27858a in CFRunLoopRunInMode ()
#12 0x341b26d2 in GSEventRunModal ()
#13 0x31bd7890 in UIApplicationMain ()
#14 0x003e9392 in juce::juce_iOSMain(int, char const**) at /Users/nhdika/Code/JUCE/modules/juce_gui_basics/native/juce_ios_Windowing.mm:95
#15 0x002b82e8 in juce::JUCEApplicationBase::main(int, char const**) at /Users/nhdika/Code/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:211
#16 0x00063a16 in main at /Users/nhdika/Code/JUCE/extras/Demo/Source/Main.cpp:91
#17 0x3a31dab6 in start ()
Thread 8 Juce Timer, Queue : (null)
#0 0x3a3d3f2c in __psynch_cvwait ()
#1 0x3a43af66 in _pthread_cond_wait ()
#2 0x3a43bde0 in pthread_cond_timedwait ()
#3 0x00229232 in juce::WaitableEvent::wait(int) const at /Users/nhdika/Code/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:97
#4 0x0022a8ec in juce::Thread::wait(int) const at /Users/nhdika/Code/JUCE/modules/juce_core/threads/juce_Thread.cpp:246
#5 0x002bf1c4 in juce::Timer::TimerThread::run() at /Users/nhdika/Code/JUCE/modules/juce_events/timers/juce_Timer.cpp:89
#6 0x00229fa0 in juce::Thread::threadEntryPoint() at /Users/nhdika/Code/JUCE/modules/juce_core/threads/juce_Thread.cpp:101
#7 0x0022a2c2 in juce::juce_threadEntryPoint(void*) at /Users/nhdika/Code/JUCE/modules/juce_core/threads/juce_Thread.cpp:113
#8 0x0023cbba in threadEntryProc at /Users/nhdika/Code/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:846
#9 0x3a43b958 in _pthread_body ()
#10 0x3a43b8ca in _pthread_start ()
Thread 9 OpenGL Rendering, Queue : (null)
#0 0x33e01932 in gpus_ReturnNotPermittedKillClient ()
#1 0x33e023d0 in gpusSubmitDataBuffers ()
#2 0x2e0bb29a in <redacted> ()
#3 0x315eca6c in gliPresentViewES_Exec ()
#4 0x315ec97e in gliPresentViewES ()
#5 0x315f70ca in -[EAGLContext presentRenderbuffer:] ()
#6 0x010d72d6 in EAGLContext_presentRenderbuffer(EAGLContext*, objc_selector*, unsigned int) ()
#7 0x004afc36 in juce::OpenGLContext::NativeContext::swapBuffers() at /Users/nhdika/Code/JUCE/modules/juce_opengl/native/juce_OpenGL_ios.h:146
#8 0x004ae000 in juce::OpenGLContext::swapBuffers() at /Users/nhdika/Code/JUCE/modules/juce_opengl/opengl/juce_OpenGLContext.cpp:716
#9 0x004b59f8 in juce::OpenGLContext::CachedImage::renderFrame() at /Users/nhdika/Code/JUCE/modules/juce_opengl/opengl/juce_OpenGLContext.cpp:194
#10 0x004b55de in juce::OpenGLContext::CachedImage::run() at /Users/nhdika/Code/JUCE/modules/juce_opengl/opengl/juce_OpenGLContext.cpp:337
#11 0x004b5688 in non-virtual thunk to juce::OpenGLContext::CachedImage::run() at /Users/nhdika/Code/JUCE/modules/juce_opengl/juce_opengl.mm:348
#12 0x00229fa0 in juce::Thread::threadEntryPoint() at /Users/nhdika/Code/JUCE/modules/juce_core/threads/juce_Thread.cpp:101
#13 0x0022a2c2 in juce::juce_threadEntryPoint(void*) at /Users/nhdika/Code/JUCE/modules/juce_core/threads/juce_Thread.cpp:113
#14 0x0023cbba in threadEntryProc at /Users/nhdika/Code/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:846
#15 0x3a43b958 in _pthread_body ()
#16 0x3a43b8ca in _pthread_start ()
Thread 11, Queue : (null)
#0 0x00072504 in LiveScrollingAudioDisplay::audioDeviceIOCallback(float const**, int, float**, int, int) at /Users/nhdika/Code/JUCE/extras/Demo/Source/Demos/AudioLiveScrollingDisplay.h:71
#1 0x000725fc in non-virtual thunk to LiveScrollingAudioDisplay::audioDeviceIOCallback(float const**, int, float**, int, int) at /Users/nhdika/Code/JUCE/extras/Demo/Source/Demos/AudioLatencyDemo.cpp:80
#2 0x0015b56a in juce::AudioDeviceManager::audioDeviceIOCallbackInt(float const**, int, float**, int, int) at /Users/nhdika/Code/JUCE/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp:727
#3 0x0016fb88 in juce::AudioDeviceManager::CallbackHandler::audioDeviceIOCallback(float const**, int, float**, int, int) at /Users/nhdika/Code/JUCE/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp:56
#4 0x0016aa1c in juce::iOSAudioIODevice::process(unsigned long*, AudioTimeStamp const*, unsigned long, AudioBufferList*) at /Users/nhdika/Code/JUCE/modules/juce_audio_devices/native/juce_ios_Audio.cpp:283
#5 0x0016a7c6 in juce::iOSAudioIODevice::processStatic(void*, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*) at /Users/nhdika/Code/JUCE/modules/juce_audio_devices/native/juce_ios_Audio.cpp:458
#6 0x2ed0443c in AUInputElement::PullInput(unsigned long&, AudioTimeStamp const&, unsigned long, unsigned long) ()
#7 0x2ed00ff0 in AUInputFormatConverter2::InputProc(OpaqueAudioConverter*, unsigned long*, AudioBufferList*, AudioStreamPacketDescription**, void*) ()
#8 0x2ec32e74 in AudioConverterChain::CallInputProc(unsigned long) ()
#9 0x2ec32be8 in AudioConverterChain::FillBufferFromInputProc(unsigned long*, CABufferList*) ()
#10 0x2ec32b7e in BufferedAudioConverter::GetInputBytes(unsigned long, unsigned long&, CABufferList const*&) ()
#11 0x2ec32a8a in CBRConverter::RenderOutput(CABufferList*, unsigned long, unsigned long&, AudioStreamPacketDescription*) ()
#12 0x2ec3292c in BufferedAudioConverter::FillBuffer(unsigned long&, AudioBufferList&, AudioStreamPacketDescription*) ()
#13 0x2ec32a00 in AudioConverterChain::RenderOutput(CABufferList*, unsigned long, unsigned long&, AudioStreamPacketDescription*) ()
#14 0x2ec3292c in BufferedAudioConverter::FillBuffer(unsigned long&, AudioBufferList&, AudioStreamPacketDescription*) ()
#15 0x2ec41240 in AudioConverterFillComplexBuffer ()
#16 0x2ed00ed0 in AUInputFormatConverter2::PullAndConvertInput(AudioTimeStamp const&, unsigned long&, AudioBufferList&, AudioStreamPacketDescription*, bool&) ()
#17 0x2ed00a78 in AUConverterBase::RenderBus(unsigned long&, AudioTimeStamp const&, unsigned long, unsigned long) ()
#18 0x2ec348f6 in AUBase::DoRenderBus(unsigned long&, AudioTimeStamp const&, unsigned long, AUOutputElement*, unsigned long, AudioBufferList&) ()
#19 0x2ec34748 in AUBase::DoRender(unsigned long&, AudioTimeStamp const&, unsigned long, unsigned long, AudioBufferList&) ()
#20 0x2ecf0970 in AURemoteIO::PerformIO(unsigned long, unsigned int, unsigned int, AudioTimeStamp const&, AudioTimeStamp const&, AudioBufferList const*, AudioBufferList*, int&) ()
#21 0x2ecf19bc in AURIOCallbackReceiver_PerformIO ()
#22 0x2ece80b6 in _XPerformIO ()
#23 0x2ec5564c in mshMIGPerform ()
#24 0x2ecc4b2c in MSHMIGDispatchMessage ()
#25 0x2ecf0be8 in AURemoteIO::IOThread::Run() ()
#26 0x2ecf3cc8 in AURemoteIO::IOThread::Entry(void*) ()
#27 0x2ec30b3a in CAPThread::Entry(CAPThread*) ()
#28 0x3a43b958 in _pthread_body ()
#29 0x3a43b8ca in _pthread_start ()