Description

The following assertion throws after the project crashes when playing on the device:

 Assertion failed: Index < GetMaxIndex() [File:D:/P4Workspaces/Switch_3/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 86]

This also occurs on Oculus Go although repro doesn't seem as consistent or reliable as the Quest

Sometimes this repros but references Line: 87 instead:

 Assertion failed: !AllocationFlags[Index] [File:D:/P4Workspaces/Switch_2/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 87]

Logging these two Assertions together for now as they repro the same way are have similar callstacks despite the varying messages. Let me know if it is more appropriate to log these separate. 

Also Occurs in //UE4/Dev-VR @ CL 6154093

Steps to Reproduce
  1. Create a new First Person template Code Project.
  2. Open the Project 
  3. Configure you project for Android:
    1. Press Configure Now
    2. Minimum Android SDK = 23
    3. Target Android SDK = 23
    4. Add an Array element to Package for Oculus Mobile devices and set it to Oculus Quest 
  4. Package the project for Android (ETC2)
  5. Install to your Oculus Mobile Device
  6. Open Android Device Monitor to get logs for your connected Oculus Mobile device.
  7. Launch the project on your device.
  8. Play for about 30 seconds
  9. Refer to the Android Device Monitor for logging 

Results: Project Crashes with Assertion failed after the first 30 seconds or so

Expected: No Crash, template is playable without issue

Callstack
Assertion failed: Index < GetMaxIndex() [File:D:/P4Workspaces/Switch_3/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 86] 
LogAndroid: Error: === Critical error: ===
LogAndroid: Error: 
LogAndroid: Error: Assertion failed: Index < GetMaxIndex() [File:D:/P4Workspaces/Switch_3/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 86] 
LogAndroid: Error: 
LogAndroid: Error: [Callstack] 0x00000000C520E2A0 libUE4.so(0x00000000039E82A0)!FDebug::CheckVerifyFailedImpl(char const*, char const*, int, char16_t const*, ...)  []
LogAndroid: Error: [Callstack] 0x00000000C92BFDD0 libUE4.so(0x0000000007A99DD0)!void FDebug::CheckVerifyFailed<char16_t [1]>(char const*, char const*, int, char16_t const (&) [1])  []
LogAndroid: Error: [Callstack] 0x00000000C62680C0 libUE4.so(0x0000000004A420C0)!TSparseArray<TSetElement<TTuple<FPrimitiveSceneInfo*, int> >, TSparseArrayAllocator<FDefaultAllocator, FDefaultBitArrayAllocator> >::AllocateIndex(int)  []
LogAndroid: Error: [Callstack] 0x00000000C6267C9C libUE4.so(0x0000000004A41C9C)!FSetElementId TSet<TTuple<FPrimitiveSceneInfo*, int>, TDefaultMapHashableKeyFuncs<FPrimitiveSceneInfo*, int, false>, FDefaultSetAllocator>::Emplace<TPairInitializer<FPrimitiveSceneInfo*&, int&&> >(TPairInitializer<FPrimitiveSceneInfo*&, int&&>&&, bool*)  []
LogAndroid: Error: [Callstack] 0x00000000C624E230 libUE4.so(0x0000000004A28230)!FLateUpdateManager::GatherLateUpdatePrimitives(USceneComponent*)  []
LogAndroid: Error: [Callstack] 0x00000000C6245810 libUE4.so(0x0000000004A1F810)!FLateUpdateManager::Setup(FTransform const&, USceneComponent*, bool)  []
LogAndroid: Error: [Callstack] 0x00000000C721FDC0 libUE4.so(0x00000000059F9DC0)!UCameraComponent::GetCameraView(float, FMinimalViewInfo&)  []
LogAndroid: Error: [Callstack] 0x00000000C706D9B0 libUE4.so(0x00000000058479B0)!AActor::CalcCamera(float, FMinimalViewInfo&)  []
LogAndroid: Error: [Callstack] 0x00000000C7A1A06C libUE4.so(0x00000000061F406C)!APlayerCameraManager::UpdateViewTargetInternal(FTViewTarget&, float)  []
LogAndroid: Error: [Callstack] 0x00000000C7A1AB04 libUE4.so(0x00000000061F4B04)!APlayerCameraManager::UpdateViewTarget(FTViewTarget&, float)  []
LogAndroid: Error: [Callstack] 0x00000000C7A1C480 libUE4.so(0x00000000061F6480)!APlayerCameraManager::DoUpdateCamera(float)  []
LogAndroid: Error: [Callstack] 0x00000000C7A1BADC libUE4.so(0x00000000061F5ADC)!APlayerCameraManager::UpdateCamera(float)  []
LogAndroid: Error: [Callstack] 0x00000000C76BA460 libUE4.so(0x0000000005E94460)!UWorld::Tick(ELevelTick, float)  []
LogAndroid: Error: [Callstack] 0x00000000C751B998 libUE4.so(0x0000000005CF5998)!UGameEngine::Tick(float, bool)  []
LogAndroid: Error: [Callstack] 0x00000000C4A1C4D8 libUE4.so(0x00000000031F64D8)!FEngineLoop::Tick()  []
LogAndroid: Error: [Callstack] 0x00000000C4A132F4 libUE4.so(0x00000000031ED2F4)!AndroidMain(android_app*)  []
LogAndroid: Error: [Callstack] 0x00000000C4A22B30 libUE4.so(0x00000000031FCB30)!android_main()  []
LogAndroid: Error: [Callstack] 0x00000000C4A43DB8 libUE4.so(0x000000000321DDB8)![Unknown]()  []
LogAndroid: Error: [Callstack] 0x00000000E7C5C8D4 libc.so(0x00000000000478D4)![Unknown]()  []
LogAndroid: Error: [Callstack] 0x00000000E7C2EFE6 libc.so(0x0000000000019FE6)![Unknown]()  []

Assertion failed: !AllocationFlags[Index] [File:D:/P4Workspaces/Switch_2/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 87] 
LogAndroid: Error: === Critical error: ===
LogAndroid: Error: 
LogAndroid: Error: Assertion failed: !AllocationFlags[Index] [File:D:/P4Workspaces/Switch_2/Engine/Source/Runtime/Core/Public/Containers/SparseArray.h] [Line: 87] 
LogAndroid: Error: 
LogAndroid: Error: [Callstack] 0x00000000C35CF220 libUE4.so(0x00000000039E5220)!FDebug::CheckVerifyFailedImpl(char const*, char const*, int, char16_t const*, ...)  []
LogAndroid: Error: [Callstack] 0x00000000C76836C0 libUE4.so(0x0000000007A996C0)!void FDebug::CheckVerifyFailed<char16_t [1]>(char const*, char const*, int, char16_t const (&) [1])  []
LogAndroid: Error: [Callstack] 0x00000000C462B8E8 libUE4.so(0x0000000004A418E8)!TSparseArray<TSetElement<TTuple<FPrimitiveSceneInfo*, int> >, TSparseArrayAllocator<FDefaultAllocator, FDefaultBitArrayAllocator> >::AllocateIndex(int)  []
LogAndroid: Error: [Callstack] 0x00000000C462B474 libUE4.so(0x0000000004A41474)!FSetElementId TSet<TTuple<FPrimitiveSceneInfo*, int>, TDefaultMapHashableKeyFuncs<FPrimitiveSceneInfo*, int, false>, FDefaultSetAllocator>::Emplace<TPairInitializer<FPrimitiveSceneInfo*&, int&&> >(TPairInitializer<FPrimitiveSceneInfo*&, int&&>&&, bool*)  []
LogAndroid: Error: [Callstack] 0x00000000C4611A0C libUE4.so(0x0000000004A27A0C)!FLateUpdateManager::GatherLateUpdatePrimitives(USceneComponent*)  []
LogAndroid: Error: [Callstack] 0x00000000C4608FE0 libUE4.so(0x0000000004A1EFE0)!FLateUpdateManager::Setup(FTransform const&, USceneComponent*, bool)  []
LogAndroid: Error: [Callstack] 0x00000000C55E3490 libUE4.so(0x00000000059F9490)!UCameraComponent::GetCameraView(float, FMinimalViewInfo&)  []
LogAndroid: Error: [Callstack] 0x00000000C5431080 libUE4.so(0x0000000005847080)!AActor::CalcCamera(float, FMinimalViewInfo&)  []
LogAndroid: Error: [Callstack] 0x00000000C5DDD83C libUE4.so(0x00000000061F383C)!APlayerCameraManager::UpdateViewTargetInternal(FTViewTarget&, float)  []
LogAndroid: Error: [Callstack] 0x00000000C5DDE2D4 libUE4.so(0x00000000061F42D4)!APlayerCameraManager::UpdateViewTarget(FTViewTarget&, float)  []
LogAndroid: Error: [Callstack] 0x00000000C5DDFC50 libUE4.so(0x00000000061F5C50)!APlayerCameraManager::DoUpdateCamera(float)  []
LogAndroid: Error: [Callstack] 0x00000000C5DDF2AC libUE4.so(0x00000000061F52AC)!APlayerCameraManager::UpdateCamera(float)  []
LogAndroid: Error: [Callstack] 0x00000000C5A7DB18 libUE4.so(0x0000000005E93B18)!UWorld::Tick(ELevelTick, float)  []
LogAndroid: Error: [Callstack] 0x00000000C58DF050 libUE4.so(0x0000000005CF5050)!UGameEngine::Tick(float, bool)  []
LogAndroid: Error: [Callstack] 0x00000000C2DDF340 libUE4.so(0x00000000031F5340)!FEngineLoop::Tick()  []
LogAndroid: Error: [Callstack] 0x00000000C2DD615C libUE4.so(0x00000000031EC15C)!AndroidMain(android_app*)  []
LogAndroid: Error: [Callstack] 0x00000000C2DE5998 libUE4.so(0x00000000031FB998)!android_main()  []
LogAndroid: Error: [Callstack] 0x00000000C2E06C20 libUE4.so(0x000000000321CC20)![Unknown]()  []
LogAndroid: Error: [Callstack] 0x00000000E69248D4 libc.so(0x00000000000478D4)![Unknown]()  []
LogAndroid: Error: [Callstack] 0x00000000E68F6FE6 libc.so(0x0000000000019FE6)![Unknown]()  []


Have Comments or More Details?

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

11
Login to Vote

Fixed
ComponentUE - Platform - XR
Affects Versions4.23
Target Fix4.23
Fix Commit7675065
Main Commit7675066
Release Commit7675065
CreatedApr 30, 2019
ResolvedJul 31, 2019
UpdatedFeb 13, 2020