`Studio::System::initialize` sometimes hangs on Prospero

Hello,

I’m working on porting a game (still in development) from Windows to ninth-generation consoles. Recently, we upgraded the FMOD library from version 2.03.04 to 2.03.13 (to match the version used on the Windows platform). Since then, we have started experiencing hangs in Studio::System::initialize on the Prospero platform (Scarlett appears to be immune). This only seems to happen when using the “L” versions of the libraries (with logging enabled).

This is what I see in the log when initialization is successful:

[LOG] FMOD_System_Create                       : Header version = 2.03.13. Current version = 2.03.13.
[LOG] system_create                            : Header version = 2.03.13. Current version = 2.03.13.
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.cbSize                   = 104
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.maxVorbisCodecs          = 256
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.defaultDecodeBufferSize  = 400
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.distanceFilterCenterFreq = 1500.000000
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.DSPBufferPoolSize        = 8
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.resamplerMethod          = 2
[LOG] SystemI::setAdvancedSettings             : mAdvancedSettings.maxConvolutionThreads    = 3
[LOG] SystemI::setOutputInternal               : Setting output to 'FMOD AudioOut Output'
[LOG] Manager::init                            : maxchannels = 2048 studioflags = 00000001 flags 00020004 extradriverdata 0.
[LOG] SystemI::init                            : Initialize version=20313 (162576), maxchannels=2048, flags=0x00030004
[LOG] Thread::initThread                       : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] SystemI::DSPCodecPoolRegister            : register codec pool for pool type 4
[LOG] SystemI::DSPCodecPoolRegister            : register codec pool for pool type 0
[LOG] Thread::initThread                       : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
[LOG] Thread::initThread                       : Init FMOD feeder thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FF9, Stack Size: 16384, Semaphore: No, Sleep Time: 0, Looping: Yes.
[LOG] AsyncManager::init                       : manager 2018ade288 isAsync 1 updatePeriod 0.02
[LOG] Thread::initThread                       : Init FMOD Studio update thread. Affinity: 0x4000000000000002, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] AsyncManager::init                       : done
[LOG] PlaybackSystem::init                     : 
[LOG] Thread::initThread                       : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] PlaybackSystem::init                     : done
[LOG] LiveUpdate::init                         : 
[LOG] Thread::initThread                       : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] Manager::init                            : done.

When it hangs, the last line I see in the log is:

[LOG] Thread::initThread                       : Init FMOD feeder thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FF9, Stack Size: 16384, Semaphore: No, Sleep Time: 0, Looping: Yes.

Sometimes it hangs even before, after Init FMOD stream thread.

Any hints? Let me know if you need more information.

Thanks
--
Raffaele