[crash] navmesh in sublevel

I use 4.8 git branch with win64.

  1. create level-A and add a nav volume. it generates a nav mesh for this level.
  2. open level-B(it has navigation too) and use world composer to add level-A as a sublevel.
  3. ue crashes on loading the sublevel

This crash doesnt occur if you delete the RecastNavMesh from level-A and then save. But when you open level-A again the navmesh appears again and you need to delete it again to be able to load it in level-B.

Please fix it. Or is my workflow wrong?

Access violation - code c0000005 (first/second chance not available)

""

UE4Editor_Navmesh!dtNavMesh::addTile() [d:\github\unrealengine\engine\source\runtime\navmesh\private\detour\detournavmesh.cpp:1586]
UE4Editor_Engine!URecastNavMeshDataChunk::AttachTiles() [d:\github\unrealengine\engine\source\runtime\engine\private\ai\navigation\recastnavmeshdatachunk.cpp:173]
UE4Editor_Engine!ARecastNavMesh::OnStreamingLevelAdded() [d:\github\unrealengine\engine\source\runtime\engine\private\ai\navigation\recastnavmesh.cpp:1626]
UE4Editor_Engine!UNavigationSystem::OnLevelAddedToWorld() [d:\github\unrealengine\engine\source\runtime\engine\private\ai\navigation\navigationsystem.cpp:3172]
UE4Editor_Engine!TBaseUObjectMethodDelegateInstance<0,UNavigationSystem,void __cdecl(ULevel * __ptr64,UWorld * __ptr64)>::ExecuteIfSafe() [d:\github\unrealengine\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:772]
UE4Editor_Engine!TBaseMulticastDelegate<void,ULevel * __ptr64,UWorld * __ptr64>::Broadcast() [d:\github\unrealengine\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:1031]
UE4Editor_Engine!UWorld::AddToWorld() [d:\github\unrealengine\engine\source\runtime\engine\private\world.cpp:1881]
UE4Editor_Engine!UWorld::UpdateLevelStreamingInner() [d:\github\unrealengine\engine\source\runtime\engine\private\world.cpp:2414]
UE4Editor_Engine!UWorld::UpdateLevelStreaming() [d:\github\unrealengine\engine\source\runtime\engine\private\world.cpp:2475]
UE4Editor_Engine!UWorld::FlushLevelStreaming() [d:\github\unrealengine\engine\source\runtime\engine\private\world.cpp:2504]
UE4Editor_WorldBrowser!FWorldTileModel::LoadLevel() [d:\github\unrealengine\engine\source\editor\worldbrowser\private\tiles\worldtilemodel.cpp:581]
UE4Editor_WorldBrowser!FLevelCollectionModel::LoadLevels() [d:\github\unrealengine\engine\source\editor\worldbrowser\private\levelcollectionmodel.cpp:540]
UE4Editor_WorldBrowser!FLevelModel::MakeLevelCurrent() [d:\github\unrealengine\engine\source\editor\worldbrowser\private\levelmodel.cpp:274]
UE4Editor_WorldBrowser!SWorldHierarchyImpl::OnTreeViewMouseButtonDoubleClick() [d:\github\unrealengine\engine\source\editor\worldbrowser\private\sworldhierarchy.cpp:392]
UE4Editor_WorldBrowser!TBaseSPMethodDelegateInstance<0,SWorldHierarchyImpl,0,TTypeWrapper<void> __cdecl(TSharedPtr<FLevelModel,0>)>::Execute() [d:\github\unrealengine\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_WorldBrowser!TBaseSPMethodDelegateInstance<0,SWorldHierarchyImpl,0,void __cdecl(TSharedPtr<FLevelModel,0>)>::ExecuteIfSafe() [d:\github\unrealengine\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_WorldBrowser!TBaseDelegate<void,TSharedPtr<FLevelModel,0> >::ExecuteIfBound() [d:\github\unrealengine\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:519]
UE4Editor_WorldBrowser!SListView<TSharedPtr<FLevelModel,0> >::Private_OnItemDoubleClicked() [d:\github\unrealengine\engine\source\runtime\slate\public\widgets\views\slistview.h:689]
UE4Editor_WorldBrowser!STableRow<TSharedPtr<FLevelModel,0> >::OnMouseButtonDoubleClick() [d:\github\unrealengine\engine\source\runtime\slate\public\widgets\views\stablerow.h:252]
UE4Editor_Slate!<lambda_58ede244782f1e594383d45514e1d7c8>::operator()() [d:\github\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4100]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_58ede244782f1e594383d45514e1d7c8> >() [d:\github\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:212]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent() [d:\github\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4101]
UE4Editor_Slate!FSlateApplication::OnMouseDoubleClick() [d:\github\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4081]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\github\unrealengine\engine\source\runtime\core\private\windows\windowsapplication.cpp:1348]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\github\unrealengine\engine\source\runtime\core\private\windows\windowsapplication.cpp:1711]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\github\unrealengine\engine\source\runtime\core\private\windows\windowsapplication.cpp:706]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\github\unrealengine\engine\source\runtime\core\private\windows\windowsapplication.cpp:628]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\github\unrealengine\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:792]
UE4Editor!FEngineLoop::Tick() [d:\github\unrealengine\engine\source\runtime\launch\private\launchengineloop.cpp:2319]
UE4Editor!GuardedMain() [d:\github\unrealengine\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\github\unrealengine\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\github\unrealengine\engine\source\runtime\launch\private\windows\launchwindows.cpp:249]

I need to set the flag “Fixed Tile Pool Size”. This will allocate memory for the streaming, and the memory violation disappears.

This makes sense, but you need to display a warning or an error in the log, the engine shouldn’t crash.