Description

Assertion failed: InputOboeStream != nullptr when changing levels with Android voice enabled

 

User was able to workaround the issue by replacing Audio::FAudioCaptureAndroidStream::CloseStream() with

bool Audio::FAudioCaptureAndroidStream::CloseStream() { if (!InputOboeStream) { return false; } InputOboeStream->close(); InputOboeStream.Reset(); return true; }

"Audio::FAudioCaptureAndroidStream::CloseStream() is incorrect, and server travel causes CloseStream() to be called when the stream is already closed."

 

Confirmed in 4.25 MAIN @ CL 10889200

Steps to Reproduce

4.23 Sample project attached

  1. Add 
    [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
    bAndroidVoiceEnabled=True
    MinSDKVersion=21
    TargetSDKVersion=21

and (This may be optional in 4.24 since audio mixer is already enabled now?)
[Audio]
AudioDeviceModuleName=AudioMixerAndroid

to

Android/AndroidEngine.ini

  1. Add Oculus Quest to 'Package for Oculus Mobile' array (I have also confirmed this crash with just an Android Note 9)
  2. You will need to add second level explicitly to "List of map to include in a packaged build" so it gets packaged.
  3. Setup pawn with an AudioCaptureComponent and call Activate on component on BeginPlay.
  4. After a delay do a servertravel to another map (console command 'servertravel yourothermap') - Also confirmed with 'open yourothermap'
  5. Launch on Quest

Result: App will crash on servertravel with Error: Assertion failed: InputOboeStream != nullptr

Callstack

LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: === Critical error: ===
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error:
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: Assertion failed: InputOboeStream != nullptr [Link Removed] [Line: 50]
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error:
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CFBCAD34 libUE4.so(0x0000000008802D34)!void FDebug::CheckVerifyFailed<char16_t [1]>(char const*, char const*, int, char16_t const (&) [1]) []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CF385188 libUE4.so(0x0000000007FBD188)!Audio::FAudioCaptureAndroidStream::CloseStream() []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CAFB7A58 libUE4.so(0x0000000003BEFA58)!UAudioCaptureComponent::FinishDestroy() []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CB878A0C libUE4.so(0x00000000044B0A0C)!UObject::ConditionalFinishDestroy() []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CB80E7C0 libUE4.so(0x00000000044467C0)!IncrementalPurgeGarbage(bool, float) []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CB8134A4 libUE4.so(0x000000000444B4A4)!CollectGarbageInternal(EObjectFlags, bool) []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CB815694 libUE4.so(0x000000000444D694)!CollectGarbage(EObjectFlags, bool) []
LogPlayLevel: Error: 01-07 16:41:17.891 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CE7EA994 libUE4.so(0x0000000007422994)!UEngine::TrimMemory() []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:891][626]LogAndroid: Error: [Callstack] 0x00000000CE7E7730 libUE4.so(0x000000000741F730)!UEngine::LoadMap(FWorldContext&, FURL, UPendingNetGame*, FString&) []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CE7E383C libUE4.so(0x000000000741B83C)!UEngine::Browse(FWorldContext&, FURL, FString&) []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CE7E5A04 libUE4.so(0x000000000741DA04)!UEngine::TickWorldTravel(FWorldContext&, float) []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CDDEA5C0 libUE4.so(0x0000000006A225C0)!UGameEngine::Tick(float, bool) []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CAB4DA04 libUE4.so(0x0000000003785A04)!FEngineLoop::Tick() []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CAB43A40 libUE4.so(0x000000000377BA40)!AndroidMain(android_app*) []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CAB5491C libUE4.so(0x000000000378C91C)!android_main() []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000CAB7ECE8 libUE4.so(0x00000000037B6CE8)![Unknown]() []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000EE675D84 libc.so(0x0000000000047D84)![Unknown]() []
LogPlayLevel: Error: 01-07 16:41:17.892 19230 19247 D UE4 : [2020.01.07-21.41.17:892][626]LogAndroid: Error: [Callstack] 0x00000000EE648036 libc.so(0x000000000001A036)![Unknown]() []

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-86373 in the post.

1
Login to Vote

Fixed
ComponentUE - Audio
Affects Versions4.24.14.25
Target Fix4.25
Fix Commit10906545
Main Commit10906545
CreatedJan 7, 2020
ResolvedJan 8, 2020
UpdatedJun 5, 2020