PS5 Deadlock Between Main Thread and FMOD Studio Update Thread Causing Game Freeze

Hi,

We’ve encountered a deadlock issue on PS5 when using FMOD Studio. The game completely freezes because two threads are waiting on each other while holding FMOD critical sections.

The issue has only been reproduced on PS5. We have not observed it on any other platform (PC, Xbox, etc.).

Thread #1 (Main Thread) is stuck inside FMOD::System::getChannelsPlaying() called from FFMODStudioModule::Tick():

Call stack:

FFMODStudioModule::Tick(float DeltaTime)
FMOD::System::getChannelsPlaying()
FMOD::System::validate()
FMOD::System::enterMainUpdateLock()
FMOD::System::enterCrit(FMOD_SYSTEM_CRIT)

Thread #2 (FMOD Studio Update Thread) is blocked in FMOD’s internal update code:

FMOD_OS_Thread_Callback()
FMOD::AsyncManager::threadLoop()
FMOD::AsyncManager::asyncProcessAndUpdate()
FMOD::RuntimeAPIManager::update()
FMOD::PlaybackSystem::update()
FMOD::System::update()
FMOD::System::updateInternal()
FMOD::DSPPanner::commandInternal()
FMOD::System::lockDSPQueueCmd()
FMOD::System::flushDSPQueue()
FMOD::System::enterCrit(FMOD_SYSTEM_CRIT)

It appears that both threads are waiting for locks held by each other, resulting in a deadlock.

Additional information:

  • Platform: PS5
  • FMOD integration: Unreal Engine 5.4
  • The freeze is permanent (the game never recovers).
  • Reproduced only on PS5.
  • Other platforms do not exhibit this behavior
  • FMod version 2.03.14
  • PS SDK: 12
    .

Has this issue been reported before on PS5, or is there any known workaround or recommended synchronization strategy for these FMOD API calls?

Any help would be appreciated. Thanks!