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
4.23 Sample project attached
and (This may be optional in 4.24 since audio mixer is already enabled now?)
[Audio]
AudioDeviceModuleName=AudioMixerAndroid
to
Android/AndroidEngine.ini
Result: App will crash on servertravel with Error: Assertion failed: InputOboeStream != nullptr
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]() []
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
How do I set a material as a post-processing material?
What is the difference between Camera and CineCamera?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-86373 in the post.
1 |
Component | UE - Audio |
---|---|
Affects Versions | 4.24.1, 4.25 |
Target Fix | 4.25 |
Created | Jan 7, 2020 |
---|---|
Resolved | Jan 8, 2020 |
Updated | Jun 5, 2020 |