Description

Reported by a licensee. More discussion in the linked UDN case.

"Sometimes the WorldPartitionBuilderCommandlet will fail after encountering this error:"

Error: Assertion failed: HierarchyNodeIndex < Resources.NumHierarchyNodes [File:X:\J\Engine\Source\Runtime\Engine\Private\Rendering\NaniteStreamingManager.cpp] [Line: 1383] 

It is possible in NaniteStreamingManager for the version counter on RuntimeResourceID to overflow. If this happens, it is possible that GetResources returns a resource that then has ApplyFixup applied. The licensee worked around this by resetting the ID to INDEX_NONE on Remove.

The repro conditions are hard to pin down but the licensee has provided the following suggestions:

  • The assert happened at a consistent actor index on their repro (760th actor built by commandlet).
  • The crash happens once the indexes used to reference the ResidentPages array have looped once, so assigning a smaller value to r.Nanite.Streaming.StreamingPoolSize should help speed up the repro.
  • The meshes have to be unique, also make sure the map uses world partition so the lanscape will generate one HLOD actor per cell.
Callstack

LogWindows: Error: Assertion failed: HierarchyNodeIndex < Resources.NumHierarchyNodes [Link Removed] [Line: 1383]
0x00007ffbab00cabc UnrealEditor-Engine.dll!Nanite::FStreamingManager::ApplyFixups() []
0x00007ffbab061350 UnrealEditor-Engine.dll!Nanite::FStreamingManager::InstallReadyPages() []
0x00007ffbab00ec38 UnrealEditor-Engine.dll!Nanite::FStreamingManager::AsyncUpdate() []
0x00007ffbab03925e UnrealEditor-Engine.dll!TGraphTask<Nanite::FStreamingUpdateTask>::ExecuteTask() []
0x00007ffbae56b7bd UnrealEditor-Core.dll!`LowLevelTasks::FTask::Init<`FTaskGraphCompatibilityImplementation::QueueTask'::`5'::<lambda_1> >'::`13'::<lambda_1>::operator()() []
0x00007ffbae574c83 UnrealEditor-Core.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FTaskGraphCompatibilityImplementation::QueueTask'::`5'::<lambda_1> >'::`13'::<lambda_1>,0>::CallAndMove() []
0x00007ffbae5824c5 UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() []
0x00007ffbae5821ff UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask() []
0x00007ffbae5aa155 UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerMain() []
0x00007ffbae5723d0 UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefCaller<`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>,void __cdecl(void)>::Call() []
0x00007ffbae777c93 UnrealEditor-Core.dll!FThreadImpl::Run() []
0x00007ffbaebddc3d UnrealEditor-Core.dll!FRunnableThreadWin::Run() []
0x00007ffbaebd15b7 UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() []
0x00007ffbfc6f7374 KERNEL32.DLL!UnknownFunction []

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Graphics Features - Nanite
Affects Versions5.4.3
Target Fix5.6
CreatedAug 29, 2024
UpdatedSep 18, 2024
View Jira Issue