Crash on Record Start on Mac mini Unity 2018.2.20


#1

My Unity crashes whenever I try to use RecordStart() on my Mac mini. It works just fine on my Windows Machine though. I have the latest Integration package and am using it alongside the AudioStream Asset which uses FMOD. I attached the crash log to hopefully gleam some answers. The previous functions like createSound work with no errors

[ERR] OutputCoreAudio::recordStart : AudioUnitSetProperty for kAudioOutputUnitProperty_CurrentDevice returned -10851.
Receiving unhandled NULL exception
Obtained 41 stack frames.
#0 0x00000145cf7342 in FMOD::getGlobals(FMOD::Global**)
#1 0x00000145cf4bed in FMOD::getGlobals(FMOD::Global**)
#2 0x00000145cf245d in FMOD::getGlobals(FMOD::Global**)
#3 0x00000145d153e5 in FMOD::SystemI::createClientProfile()
#4 0x00000145d0c794 in FMOD::System::recordStart(int, FMOD::Sound*, bool)
#5 0x0000013c625b79 in (wrapper managed-to-native) FMOD.System:FMOD5_System_RecordStart (intptr,int,intptr,bool) + 0x139 (0x13c625a40 0x13c625bc4) [0x139748660 - Unity Child Domain]
#6 0x0000013c6259f0 in FMOD.System:recordStart (int,FMOD.Sound,bool) + 0xa0 (0x13c625950 0x13c625a30) [0x139748660 - Unity Child Domain]
#7 0x0000013c623390 in AudioStream.AudioStreamInputBase/c__Iterator1:MoveNext () + 0x1e30 (0x13c621560 0x13c623d54) [0x139748660 - Unity Child Domain]
#8 0x0000013b19f97c in UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr) + 0x18c (0x13b19f7f0 0x13b19f9aa) [0x139748660 - Unity Child Domain]
#9 0x0000013b19fac3 in (wrapper runtime-invoke) :runtime_invoke_void_object_intptr (object,intptr,intptr,intptr) + 0x113 (0x13b19f9b0 0x13b19fbf6) [0x139748660 - Unity Child Domain]
#10 0x00000139a09d3a in mono_get_runtime_build_info
#11 0x00000139b36946 in mono_runtime_invoke
#12 0x00000101036e4a in ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
#13 0x00000100fe0b4f in Coroutine::InvokeMoveNext(ScriptingExceptionPtr*)
#14 0x00000100fe02a3 in Coroutine::Run(bool*)
#15 0x00000100fe0184 in Coroutine::ContinueCoroutine(Object*, void*)
#16 0x000001009d31dd in DelayedCallManager::Update(int)
#17 0x00000100c7b376 in InitPlayerLoopCallbacks()::UpdateScriptRunDelayedDynamicFrameRateRegistrator::Forward()
#18 0x00000100c7c63e in ExecutePlayerLoop(NativePlayerLoopSystem*)
#19 0x00000100c7c69c in ExecutePlayerLoop(NativePlayerLoopSystem*)
#20 0x00000100c7c84b in PlayerLoop()
#21 0x00000101a535f4 in PlayerLoopController::UpdateScene(bool)
#22 0x00000101a4e559 in PlayerLoopController::UpdateSceneIfNeeded()
#23 0x00000101a4c18e in Application::TickTimer()
#24 0x000001006c4ece in -[EditorApplication TickTimer]
#25 0x007fff52cdd646 in __NSFireTimer
#26 0x007fff5094cedd in CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION
#27 0x007fff5094ca90 in __CFRunLoopDoTimer
#28 0x007fff5094c5d0 in __CFRunLoopDoTimers
#29 0x007fff5092d81b in __CFRunLoopRun
#30 0x007fff5092cd48 in CFRunLoopRunSpecific
#31 0x007fff4fbc3ab5 in RunCurrentEventLoopInMode
#32 0x007fff4fbc37eb in ReceiveNextEventCommon
#33 0x007fff4fbc3568 in _BlockUntilNextEventMatchingListInModeWithFilter
#34 0x007fff4de7e363 in _DPSNextEvent
#35 0x007fff4de7d102 in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
#36 0x007fff4de77165 in -[NSApplication run]
#37 0x007fff4de668a3 in NSApplicationMain
#38 0x000001006e38e7 in EditorMain(int, char const**)
#39 0x000001006e3d69 in main
#40 0x007fff7db6aed9 in start


#2

That error means that something has changed with the record driver, eg. it has been removed, between the getRecordDriver and recordStart API calls.