# iOS/Unity: Hang on exit in System\_FMOD\_Studio\_System\_Release (FMOD 2.02.28)

**URL:** <https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181>\
**Category:** Unity\
**Created:** [July 21, 2025, 1:11pm UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181 "2025-07-21T13:11:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![saintnicolas](https://avatars.discourse-cdn.com/v4/letter/s/ecd19e/32.png) [@saintnicolas](https://qa.fmod.com/u/saintnicolas)\
**Post date:** [July 21, 2025, 1:11pm UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181/1 "2025-07-21T13:11:10Z")

</div>

Hi!

The iOS version of our Unity game, with FMOD 2.02.28, consistently crashes on exit (when the user enters the task switcher and swipes away the app’s thumbnail). It looks like `System_FMOD_Studio_System_Release` hangs and iOS eventually kills the application.

This did not occur with FMOD 2.02.23; we’ve noticed this when upgrading to 2.02.28, and we’re still getting the issue with 2.02.29.

This does not occur on Android with FMOD 2.02.28. We use Unity 6000.0.44f1 on both platforms.

Here’s an excerpt of the crash report:

> **Crash report with stack trace**
>
> ```auto
> Hardware Model: iPhone13,4
> Code Type: ARM-64 (Native)
> Role: Background
> Parent Process: launchd [1]
> OS Version: iPhone OS 18.5 (22F76)
> 
> Exception Type: EXC_CRASH (SIGKILL)
> Exception Codes: 0x0000000000000000, 0x0000000000000000
> Termination Reason: FRONTBOARD 2343432205 
> <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:[app<...NameOfOurGame...>:1301] Failed to terminate gracefully after 5.0s
> ...snip...
> 
> Triggered by Thread: 0
> 
> Thread 0 name: Dispatch queue: com.apple.main-thread
> Thread 0 Crashed:
> 0 libsystem_kernel.dylib 0x1e812d658 __semwait_signal + 8
> 1 libsystem_c.dylib 0x19eeec9ac nanosleep + 220
> 2 libsystem_c.dylib 0x19eeecae0 usleep + 68
> 3 UnityFramework 0x1136a7b00 0x1115c0000 + 34503424
> 4 UnityFramework 0x1135524ac 0x1115c0000 + 33105068
> 5 UnityFramework 0x113607460 0x1115c0000 + 33846368
> 6 UnityFramework 0x113607248 0x1115c0000 + 33845832
> 7 UnityFramework 0x1142b9844 System_FMOD_Studio_System_Release_m5CF0D27DBCF86A5AF0BC7917605994F54CDD2CDB + 28
> 8 UnityFramework 0x1142b9814 System_release_m31155CA74A62273131A46410387C4D5B6463DAFE + 44
> 9 UnityFramework 0x1142c9c4c RuntimeManager_ReleaseStudioSystem_mF3FC08D769EB3D36DABDE39C4D9BC3A58F441390 + 92
> 10 UnityFramework 0x1142ceb04 RuntimeManager_OnDestroy_m82872247CBD52CAEAD6D8D91E365CEC212B48EA0 + 116
> 11 UnityFramework 0x1130842e0 RuntimeInvoker_TrueVoid_t4861ACF8F4594C3437BB48B6E56783494B843915(void (*)(), MethodInfo const*, void*, void**, void*) + 48
> 12 UnityFramework 0x11178768c il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) + 108
> 13 UnityFramework 0x1117875cc il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void **, Il2CppException** ) + 220
> 14 UnityFramework 0x1115f7750 il2cpp_runtime_invoke + 48
> 15 UnityFramework 0x111ab72d4 scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) + 124
> 16 UnityFramework 0x111ac9a60 ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) + 104
> 17 UnityFramework 0x111ac9920 ScriptingInvocation::InvokeChecked(ScriptingExceptionPtr*) + 60
> 18 UnityFramework 0x111b1850c SerializableManagedRef::CallMethod(Object&, ScriptingMethodPtr) + 96
> 19 UnityFramework 0x111ad4efc MonoBehaviour::WillDestroyComponent() + 332
> 20 UnityFramework 0x111878814 GameObject::WillDestroyGameObject() + 56
> 21 UnityFramework 0x111983fdc PreDestroyRecursive(GameObject&, unsigned long*) + 160
> 22 UnityFramework 0x11198487c DestroyObjectHighLevel_Internal(Object*, bool) + 392
> 23 UnityFramework 0x11197d6a0 CleanupAllObjects() + 536
> 24 UnityFramework 0x11197dc78 CleanupEngine() + 44
> 25 UnityFramework 0x1119955c0 PlayerCleanup(bool) + 72
> 26 UnityFramework 0x1121f38e4 UnityCleanup + 16
> 27 UnityFramework 0x1115df020 -[UnityAppController applicationWillTerminate:] + 144
> 28 UIKitCore 0x19a97f5d0 -[UIApplication _terminateWithStatus:] + 196
> 29 UIKitCore 0x1999680d8 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 112
> 30 UIKitCore 0x19a1cb2bc -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 164
> 31 UIKitCore 0x19a97ad70 -[UIApplication workspaceShouldExit:withTransitionContext:] + 164
> 32 FrontBoardServices 0x1b193cc54 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke_2 + 72
> 33 FrontBoardServices 0x1b190bd38 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
> 34 FrontBoardServices 0x1b193cbf4 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 128
> 35 libdispatch.dylib 0x19eeae584 _dispatch_client_callout + 16
> 36 libdispatch.dylib 0x19ee99ab0 _dispatch_block_invoke_direct + 284
> 37 FrontBoardServices 0x1b190b8ac __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
> 38 FrontBoardServices 0x1b190b748 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
> 39 FrontBoardServices 0x1b190b7b0 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
> 40 CoreFoundation 0x196f18a8c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
> 41 CoreFoundation 0x196f188a4 __CFRunLoopDoSource0 + 172
> 42 CoreFoundation 0x196f18700 __CFRunLoopDoSources0 + 232
> 43 CoreFoundation 0x196f19080 __CFRunLoopRun + 840
> 44 CoreFoundation 0x196f1ac3c CFRunLoopRunSpecific + 572
> 45 GraphicsServices 0x1e40f9454 GSEventRunModal + 168
> 46 UIKitCore 0x19992d274 -[UIApplication _run] + 816
> 47 UIKitCore 0x1998f8a28 UIApplicationMain + 336
> 48 UnityFramework 0x1115e7808 -[UnityFramework runUIApplicationMainWithArgc:argv:] + 136
> 49 NameOfOurGame 0x100be41e8 main + 76
> 50 dyld 0x1bddeff08 start + 6040
> 
> ```

If you need any additional info - please let me know. Thank you!

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [July 25, 2025, 12:44am UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181/2 "2025-07-25T00:44:04Z")

</div>

Hi,

Thank you for sharing the version number and crash report!

To help me investigate this further, could you please try the following steps:

1. **Set FMOD’s Logging Level to “Log”**  
You can do this in **FMOD → Edit Settings** by setting the [Logging Level to “Log”](https://www.fmod.com/docs/2.02/unity/settings.html#logging-level).
2. **Enable API Error Logging**  
Please also [enable API Error Logging](https://www.fmod.com/docs/2.02/unity/settings.html#enable-api-error-logging) in the same settings panel.
3. **Capture a Runtime Log**  
Since the issue occurs on iOS, you’ll likely need to retrieve the logs directly from the device (e.g. using the Xcode Console or `Console.app` on macOS).

Once you’ve captured the logs from a run where the issue reproduces, feel free to share them here so I can take a closer look.

> [@saintnicolas](#):
>
> The iOS version of our Unity game, with FMOD 2.02.28, consistently crashes on exit (when the user enters the task switcher and swipes away the app’s thumbnail). It looks like `System_FMOD_Studio_System_Release` hangs and iOS eventually kills the application.

In the meantime, this discussion might be relevant to your case:  
[FMOD waiting for user code in FMODUnity.dll to finish Executing - #8 by Leah\_FMOD](https://qa.fmod.com/t/fmod-waiting-for-user-code-in-fmodunity-dll-to-finish-executing/21260/8)

It touches on potential causes like long-running callbacks blocking shutdown, which might also apply here.

Let me know how you go with the logging setup!

---

<div class="post-metadata">

**Author:** ![saintnicolas](https://avatars.discourse-cdn.com/v4/letter/s/ecd19e/32.png) [@saintnicolas](https://qa.fmod.com/u/saintnicolas)\
**Post date:** [July 25, 2025, 12:56pm UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181/3 "2025-07-25T12:56:30Z")

</div>

Thank you for your reply!

Here’s FMOD’s debug output in two iOS builds of the game that only differ by the FMOD version (2.02.23 and 2.02.28). I’ve rebuilt the banks from scratch for each build using the appropriate version of FMOD Studio.

> **FMOD 2.02.23 - application quits cleanly**
>
> ```auto
> [FMOD] System::create : Header version = 2.02.23. Current version = 2.02.23.
> [FMOD] SystemI::setOutputInternal : Setting output to 'FMOD Core Audio Output'
> [FMOD] Manager::init : maxchannels = 128 studioflags = 00000008 flags 00000000 extradriverdata 0x0.
> [FMOD] SystemI::init : Initialize version=20223 (144645), maxchannels=128, flags=0x00020000
> [FMOD] OutputCoreAudio::init : Hardware buffer size: 1024 samples, hardware sample rate: 48000Hz, hardware channels: 2
> [FMOD] OutputCoreAudio::init : Maximum hardware read size: 4096 samples, Software buffer size: 512 samples, Number of software buffers: 4.
> [FMOD] OutputCoreAudio::init : DSP buffer size * DSP num buffers is potentially too small.
> [FMOD] SystemI::init : Output requires a sample rate of 48000Hz, resampling will occur.
> [FMOD] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 7
> [FMOD] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] AsyncManager::init : manager 0x15b281c08 isAsync 1 updatePeriod 0.02
> [FMOD] Thread::initThread : Init FMOD Studio update thread. Affinity: 0x4000000000000002, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] AsyncManager::init : done
> [FMOD] PlaybackSystem::init : 
> [FMOD] Thread::initThread : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] PlaybackSystem::init : done
> [FMOD] Thread::initThread : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] Manager::init : done.
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] PlaybackSystem::acquireMasterBus : Setting master channel group format to 3
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Thread::initThread : Init FMOD Convolution thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 16384, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] Thread::initThread : Init FMOD Convolution thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 16384, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 13456704
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 228928
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x111e0b808
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='sparse_reef_background', format=5, channels=2, frequency=8000, lengthbytes=57088, lengthpcm=173882, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.999836.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 5091488
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 57024
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x111e0b808
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='new_surface_loop', format=5, channels=2, frequency=44100, lengthbytes=224384, lengthpcm=1123471, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 1672448
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 9472
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x111e0b808
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='menu', format=5, channels=2, frequency=44100, lengthbytes=947968, lengthpcm=4844217, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSound : filename = /private/var/containers/Bundle/Application/5FB84671-E16F-405D-8045-830A699F35C7/NameOfOurGame.app/Data/Raw/EnvBackground1.bank : mode 02010082
> [FMOD] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
> [FMOD] Thread::initThread : Init FMOD nonblocking thread (0). Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] AsyncThread::add : add sound to async queue : soundi = 0x113430708, queue head = 0x116935dd8, queue count = 0
> [FMOD] AsyncThread::threadFunc : Starting Asynchronous operation on sound 0x113430708
> [FMOD] SystemI::createSoundInternal : Create name='/private/var/containers/Bundle/Application/5FB84671-E16F-405D-8045-830A699F35C7/NameOfOurGame.app/Data/Raw/EnvBackground1.bank', mode=0x02010082
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 5091488
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 57024
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x1633717b0
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::createSoundInternal : Stream 0/1: name='lapping_loop', format=5, channels=2, frequency=48000, lengthbytes=222592, lengthpcm=1182548, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.522242.
> [FMOD] Thread::initThread : Init FMOD file thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 65536, Semaphore: No, Sleep Time: 10, Looping: Yes.
> [FMOD] AsyncThread::threadFunc : Finished Asynchronous operation on sound 0x113430708
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 7805728
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 273952
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x11355d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='select (3)', format=5, channels=2, frequency=44100, lengthbytes=1440, lengthpcm=4502, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 7805728
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 273952
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x11355d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='off (3)', format=5, channels=2, frequency=44100, lengthbytes=1664, lengthpcm=8019, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.197404.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 114208
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 19744
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x11355d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='select_1', format=5, channels=2, frequency=44100, lengthbytes=1248, lengthpcm=7019, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.053377.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 13456704
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 228928
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x170c567c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x123a87370
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x123a87440
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x123a8747c
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x123a8754c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x11355d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='option_tweek', format=5, channels=2, frequency=44100, lengthbytes=2560, lengthpcm=18402, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.543053.
> 
> ***USER OPENS TASK SWITCHER AND SWIPES AWAY THE APP'S THUMBNAIL***
> 
> [FMOD] SystemI::mixerSuspend : Suspending output.
> [FMOD] SoundI::release : (0x116946588)
> [FMOD] SoundI::release : menu (0x13663cc48)
> [FMOD] SoundI::release : (0x1168fca88)
> [FMOD] SoundI::release : sparse_reef_background (0x13e2e5a48)
> [FMOD] SoundI::release : lapping_loop (0x113430708)
> [FMOD] SoundI::release : lapping_loop (0x1134301c8)
> [FMOD] SoundI::release : lapping_loop (0x113433808)
> [FMOD] SoundI::release : (0x101949808)
> [FMOD] SoundI::release : select (3) (0x114270708)
> [FMOD] SoundI::release : (0x111e70308)
> [FMOD] SoundI::release : off (3) (0x1141a5888)
> [FMOD] SoundI::release : (0x11347c788)
> [FMOD] SoundI::release : option_tweek (0x13663d888)
> [FMOD] SoundI::release : (0x111d2ea08)
> [FMOD] SoundI::release : new_surface_loop (0x13665c708)
> [FMOD] SoundI::release : (0x114015388)
> [FMOD] SoundI::release : select_1 (0x11344d348)
> [FMOD] Thread::callback : FMOD Convolution thread finished.
> [FMOD] Thread::callback : FMOD Convolution thread finished.
> [FMOD] Thread::callback : FMOD Studio update thread finished.
> [FMOD] Thread::callback : FMOD Studio bank load thread finished.
> [FMOD] Thread::callback : FMOD Studio sample load thread finished.
> [FMOD] LiveUpdate::release : 
> [FMOD] LiveUpdate::reset : Reset connection (reason Disconnected)
> [FMOD] Thread::callback : FMOD stream thread finished.
> [FMOD] Thread::callback : FMOD mixer thread finished.
> [FMOD] SystemI::close : Closed.
> [FMOD] Thread::callback : FMOD nonblocking thread (0) finished.
> [FMOD] Thread::callback : FMOD file thread finished.
> 
> ```

(NOTE: I’m not allowed to attach a text file as a “new user”, and the forum imposes a limit on message length, so I’ll post the second log in another message.)

---

<div class="post-metadata">

**Author:** ![saintnicolas](https://avatars.discourse-cdn.com/v4/letter/s/ecd19e/32.png) [@saintnicolas](https://qa.fmod.com/u/saintnicolas)\
**Post date:** [July 25, 2025, 12:57pm UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181/4 "2025-07-25T12:57:35Z")

</div>

And here’s the second log.

> **FMOD 2.02.28 - application hangs on quit**
>
> ```auto
> [FMOD] System::create : Header version = 2.02.28. Current version = 2.02.28.
> [FMOD] SystemI::setOutputInternal : Setting output to 'FMOD Core Audio Output'
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.cbSize = 104
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.maxFADPCMCodecs = 32
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.defaultDecodeBufferSize = 400
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.distanceFilterCenterFreq = 1500.000000
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.DSPBufferPoolSize = 8
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.resamplerMethod = 2
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.randomSeed = 1975975348
> [FMOD] SystemI::setAdvancedSettings : mAdvancedSettings.maxConvolutionThreads = 3
> [FMOD] Manager::init : maxchannels = 128 studioflags = 00000008 flags 00000000 extradriverdata 0x0.
> [FMOD] SystemI::init : Initialize version=20228 (150745), maxchannels=128, flags=0x00020000
> [FMOD] OutputCoreAudio::init : Hardware buffer size: 1024 samples, hardware sample rate: 48000Hz, hardware channels: 2
> [FMOD] OutputCoreAudio::init : Maximum hardware read size: 4096 samples, Software buffer size: 512 samples, Number of software buffers: 4.
> [FMOD] OutputCoreAudio::init : DSP buffer size * DSP num buffers is potentially too small.
> [FMOD] SystemI::init : Output requires a sample rate of 48000Hz, resampling will occur.
> [FMOD] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 7
> [FMOD] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] AsyncManager::init : manager 0x140cb6a08 isAsync 1 updatePeriod 0.02
> [FMOD] Thread::initThread : Init FMOD Studio update thread. Affinity: 0x4000000000000002, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] AsyncManager::init : done
> [FMOD] PlaybackSystem::init : 
> [FMOD] Thread::initThread : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] PlaybackSystem::init : done
> [FMOD] Thread::initThread : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
> [FMOD] Manager::init : done.
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] PlaybackSystem::acquireMasterBus : Setting master channel group format to 3
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
> [FMOD] Thread::initThread : Init FMOD Convolution thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 16384, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] Thread::initThread : Init FMOD Convolution thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 16384, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 13456704
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 228928
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x164d10608
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='sparse_reef_background', format=5, channels=2, frequency=8000, lengthbytes=57088, lengthpcm=173882, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.999836.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 5091488
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 57024
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x164d10608
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='new_surface_loop', format=5, channels=2, frequency=44100, lengthbytes=224384, lengthpcm=1123471, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 1672448
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 9472
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSound : filename = /private/var/containers/Bundle/Application/D3366FB9-BA8A-4183-9618-4EFA6B8EA1E5/NameOfOurGame.app/Data/Raw/EnvBackground1.bank : mode 02010082
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] Thread::initThread : Init FMOD nonblocking thread (0). Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x164d10608
> [FMOD] AsyncThread::add : add sound to async queue : soundi = 0x11346a4c8, queue head = 0x118112cd8, queue count = 0
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] AsyncThread::threadFunc : Starting Asynchronous operation on sound 0x11346a4c8
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Create name='/private/var/containers/Bundle/Application/D3366FB9-BA8A-4183-9618-4EFA6B8EA1E5/NameOfOurGame.app/Data/Raw/EnvBackground1.bank', mode=0x02010082
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='menu', format=5, channels=2, frequency=44100, lengthbytes=947968, lengthpcm=4844217, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 5091488
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 57024
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x114fa93f0
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::createSoundInternal : Stream 0/1: name='lapping_loop', format=5, channels=2, frequency=48000, lengthbytes=222592, lengthpcm=1182548, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.522242.
> [FMOD] Thread::initThread : Init FMOD file thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 65536, Semaphore: No, Sleep Time: 10, Looping: Yes.
> [FMOD] AsyncThread::threadFunc : Finished Asynchronous operation on sound 0x11346a4c8
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 7805728
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 273952
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x17132d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='select (3)', format=5, channels=2, frequency=44100, lengthbytes=1440, lengthpcm=4502, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=1.000000.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 7805728
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 273952
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x17132d008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='off (3)', format=5, channels=2, frequency=44100, lengthbytes=1664, lengthpcm=8019, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.197404.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 114208
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 19744
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x115bf7e08
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='select_1', format=5, channels=2, frequency=44100, lengthbytes=1248, lengthpcm=7019, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.053377.
> [FMOD] SystemI::createSoundInternal : Create name='', mode=0x02000202
> [FMOD] SystemI::createSoundInternal : exinfo->cbsize = 224
> [FMOD] SystemI::createSoundInternal : exinfo->length = 13456704
> [FMOD] SystemI::createSoundInternal : exinfo->fileoffset = 228928
> [FMOD] SystemI::createSoundInternal : exinfo->numsubsounds = 1
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlist = 0x16f1ce7c4
> [FMOD] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
> [FMOD] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
> [FMOD] SystemI::createSoundInternal : exinfo->useropen = 0x12568f3c0
> [FMOD] SystemI::createSoundInternal : exinfo->userclose = 0x12568f490
> [FMOD] SystemI::createSoundInternal : exinfo->userread = 0x12568f4cc
> [FMOD] SystemI::createSoundInternal : exinfo->userseek = 0x12568f59c
> [FMOD] SystemI::createSoundInternal : exinfo->fileuserdata = 0x1628c9008
> [FMOD] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
> [FMOD] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
> [FMOD] SystemI::createSoundInternal : Sample 0/1: name='option_tweek', format=5, channels=2, frequency=44100, lengthbytes=2560, lengthpcm=18402, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.543053.
> 
> ***USER OPENS TASK SWITCHER AND SWIPES AWAY THE APP'S THUMBNAIL***
> 
> [FMOD] SystemI::mixerSuspend : Suspending output.
> [FMOD] Thread::callback : FMOD mixer thread finished.
> [FMOD] SoundI::release : (0x118110a88)
> [FMOD] SoundI::release : menu (0x11346b9c8)
> [FMOD] SoundI::release : (0x113613d88)
> [FMOD] SoundI::release : sparse_reef_background (0x11599e4c8)
> [FMOD] SoundI::release : lapping_loop (0x11346a4c8)
> 
> Message from debugger: Terminated due to signal 9
> Program ended with exit code: 9
> 
> ```

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [July 29, 2025, 3:51am UTC](https://qa.fmod.com/t/ios-unity-hang-on-exit-in-system-fmod-studio-system-release-fmod-2-02-28/23181/5 "2025-07-29T03:51:45Z")

</div>

Hi,

Thank you for sharing the Logs!

From what I can see, It looks like in FMOD 2.02.28, `System::release()` may block while waiting for pending callbacks or background tasks to complete.

If you’re using callbacks, especially those that might fire during system shutdown, I would recommend making sure that the code there is safe and meets the requirements set out in [the Callbacks section](https://www.fmod.com/docs/2.02/unity/user-guide.html#callbacks) of the FMOD for Unity user guide.

Would it be possible to get a code snippet for how you handle FMOD system release?
