I am porting my game to Switch and I've been having crashes in the WWise (version 2018.1.4.6807.1189) part of my code when attempting to launch the game with the following call stack
!block_prepare_used(pool_t* pool, block_header_t* block, long unsigned int size) Line 567 () C++
> !AK::MemoryMgr::Malloc(int in_PoolId, long unsigned int in_ulSize) Line 538 () C++
!CAkSink::Init(AK::IAkPluginMemAlloc* in_pAllocator, AK::IAkSinkPluginContext* in_pSinkPluginContext, AK::IAkPluginParam* in_pParams, AkAudioFormat& in_rFormat) Line 94 () C++
!AkDevice::CreateSink() Line 633 () C++
!CAkOutputMgr::_AddOutputDevice(long unsigned int in_uKey, AkOutputSettings& in_settings, unsigned int in_uDeviceInstance, AkSet<unsigned long, AkHybridAllocator<8, '\x08'>, 1>& io_listeners, AkSetType in_elistenerSetType, bool in_bMainDevice, bool in_bDummyIfFail) Line 830 () C++
!CAkOutputMgr::InitMainDevice(const AkOutputSettings& in_MainSettings) Line 912 () C++
!CAkAudioMgr::ProcessMsgQueue(bool in_bDrainMsgQueue, bool& out_bDeviceSwitch) Line 1753 () C++
!CAkAudioMgr::Perform() Line 496 () C++
!CAkAudioThread::EventMgrThreadFunc(void* lpParameter) Line 76 () C++
The error is an Access Violation of Data.
When remotely connecting to the Switch, the WWise profiler shows that two sound banks are successfully loaded (less than 16MB) a few seconds before the crash but no error/warning messages. I am guessing the issue would come from insufficient audio memory size however attempting changing the default pool size does not do the trick. The sound banks do not seem to be corrupted either.
Edit : The crash is happening with the versions 4.20 and 4.21 of the Unreal Engine