Search Issue Tracker

Fixed in 5.4.4

Votes

0

Found in

5.5.0a1

Issue ID

801573

Regression

No

[iOS] Crash in FMOD_RESULT DSP::release() when AudioManager::CloseFMOD is called several times

Audio

-

To Reproduce:

1. Open and build and attached project on iOS.
2. Click "SetAudioSessionActive(false)", it will call:
-SetAudioSessionActive (false) in iOS trampooline which will call GetAudioManager().CloseFMOD()
3. Click "SetAudioSessionActive(false)", this will call SetAudioSessionActive (true) & ShutdownReinitializeAndReload on the audio manager. Observe that this causes a crash:

* thread #1: tid = 0x9cc6f, 0x0000000101823e94 ProductName`FMOD::DSP::release(this=0x000000013f7753b8) + 64 at fmod_dsp.cpp:24, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xdeadbeefdeadbf2f)
frame #0: 0x0000000101823e94 ProductName`FMOD::DSP::release(this=0x000000013f7753b8) + 64 at fmod_dsp.cpp:24
frame #1: 0x0000000100f62708 ProductName`AudioManager::CloseFMOD(this=0x000000013f76e020) + 1400 at AudioManager.cpp:1185
frame #2: 0x0000000100f64e38 ProductName`AudioManager::ShutdownReinitializeAndReload(this=0x000000013f76e020) + 48 at AudioManager.cpp:645
* frame #3: 0x00000001011d42bc ProductName`UnitySetAudioSessionActive(active=1) + 32 at LibEntryPoint.mm:602
frame #4: 0x000000010072a778 ProductName`SetAudioSessionActive(active=true) + 28 at AudioManagerTest.mm:4
frame #5: 0x000000010009cb84 ProductName`::AudioManagerInterface_SetAudioSessionActive_m1839911898(__this=0x0000000000000000, ___active0=true, method=0x0000000000000000) + 36 at Bulk_Assembly-CSharp_0.cpp:57
frame #6: 0x000000010009ce20 ProductName`::AudioManagerInterface_OnGUI_m2485192899(__this=0x00000001070882c0, method=0x0000000140a30d30) + 636 at Bulk_Assembly-CSharp_0.cpp:104
frame #7: 0x000000010072a7c0 ProductName`RuntimeInvoker_Void_t2779279689(method=0x0000000140a30d30, obj=0x00000001070882c0, args=0x000000016fd942e8) + 60 at Il2CppInvokerTable.cpp:363
frame #8: 0x00000001019964d0 ProductName`il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) + 84
frame #9: 0x00000001018f7c18 ProductName`::il2cpp_runtime_invoke(method=0x0000000140a30d30, obj=0x00000001070882c0, params=0x000000016fd942e8, exc=0x000000016fd943c8) + 48 at il2cpp-api.cpp:895
frame #10: 0x0000000100a55f20 ProductName`scripting_method_invoke(method=ScriptingMethodPtr @ 0x000000016fd93ea8, object=0x00000001070882c0, arguments=0x000000016fd94288, exception=0x000000016fd943c8, convertArgs=false) + 348 at ScriptingBackendApi_Il2Cpp.cpp:227
frame #11: 0x0000000100c7b0f8 ProductName`ScriptingInvocation::Invoke(this=0x000000016fd94288, exception=0x000000016fd943c8, convertArguments=false) + 196 at ScriptingInvocation.cpp:271
frame #12: 0x0000000100f689f8 ProductName`ScriptingInvocation::Invoke(this=0x000000016fd94288, exception=0x000000016fd943c8) + 40 at ScriptingInvocation.h:80
frame #13: 0x000000010113993c ProductName`MonoBehaviourDoGUI(displayIndex=0, objectGUIState=0x00000001408eb810, layoutType=kGameLayout, skin=0, method=ScriptingMethodPtr @ 0x000000016fd94568, behaviourPPtr=PPtr<MonoBehaviour> @ 0x000000016fd94558) + 284 at MonoBehaviourDoGUI.cpp:25

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.