Description

Seems like failure to init SDL device is not being properly propagated and something on the higher level keeps pushing commands to the (non-existent?) audio thread.

Paging also Aaron McLeran and Ethan Geller for visibility.

Steps to Reproduce

1. Have any project (a template one, or QAGame)
2. Run on Ubuntu (with pulse audio, which is the default)

pasuspender – Engine/Binaries/UE4Editor Project -game -windowed -resx=1280 -resy=720

3. Observe the crash due to audio thread not catching up

Callstack

[2019.05.16-22.22.47:626][ 1]LogAudio: Warning: Waited 36.180183ms for audio thread.
[2019.05.16-22.22.47:662][ 1]LogAudio: Warning: Waited 72.216385ms for audio thread.
[2019.05.16-22.22.47:699][ 1]LogAudio: Warning: Waited 109.195328ms for audio thread.
Assertion failed: CommandBuffers[NextIndex].SourceCommandQueue.Num() == 0 [Link Removed] [Line: 300]

Signal 11 caught.
Malloc Size=65538 LargeMemoryPoolOffset=65554
CommonUnixCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=131119
Malloc Size=569136 LargeMemoryPoolOffset=700272
[2019.05.16-22.22.47:804][ 1]LogCore: Error: appError called: Assertion failed: CommandBuffers[NextIndex].SourceCommandQueue.Num() == 0 [Link Removed] [Line: 300]

[2019.05.16-22.22.47:807][ 1]LogCore: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x000000000000235f

[2019.05.16-22.22.47:808][ 1]LogCore: Assertion failed: CommandBuffers[NextIndex].SourceCommandQueue.Num() == 0 [Link Removed] [Line: 300]

0x00007f6469cc5ca0 libUE4Editor-Engine.so!FAudioCommandFence::Wait(bool) const [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Engine/Private/AudioThread.cpp:484]
0x00007f6469c9ad28 libUE4Editor-Engine.so!FAudioDeviceManager::UpdateActiveAudioDevices(bool) [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Engine/Private/AudioDeviceManager.cpp:547]
0x00007f646a0b2eaa libUE4Editor-Engine.so!UGameEngine::Tick(float, bool) [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Engine/Private/GameEngine.cpp:1499]
0x000000000023f204 UE4Editor!FEngineLoop::Tick() [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:3961]
0x0000000000249d33 UE4Editor!GuardedMain(char16_t const*) [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Launch/Private/Launch.cpp:170]
0x00007f64633a9149 libUE4Editor-UnixCommonStartup.so!CommonUnixMain(int, char*, int [Image Removed](char16_t const)) [/home/rcl/PerforcePlus/RCL_Kbm_CaseSens-4.22/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:243]
0x00007f6462a2eb97 libc.so.6!__libc_start_main(+0xe6)
0x0000000000231029 UE4Editor!_start()

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-74749 in the post.

4
Login to Vote

Cannot Reproduce
ComponentPlatform - Linux
Affects Versions4.22.1
Target Fix4.24
CreatedMay 16, 2019
ResolvedOct 30, 2019
UpdatedNov 20, 2019