Editor crashes when opening a level that is streamed and has a navmesh

I have a simple persistent level with not much in it. Then I have a more complex level which contains navmesh and landscape (let’s call it Dynamic), among other things. Inside the persistent level I have Begin Play event which calls Load Stream Level right away and loads the “Dynamic” level. When playing everything seems fine. BUT if I play and stop, then try to open the map for “Dynamic” level inside the editor it blows up in CheckForWorldGCLeaks. Hovering over error string I noticed that the error string contained “Recast.Navmesh” in it (Error string contained : /Game/MyGame/Maps/Persistent.Persistent [target]\r\n RecastNavMesh /Game/MyGame/Maps/DynamicLevel.DynamicLevel:PersistentLevel.RecastNavMesh-Default ).
Following that I deleted navmesh from the Dynamic level and then I was able to play , stop , and open up the map in the editor without issues. But, of course that’s not the solution, since I now don’t have the navigation map inside the level.
Any ideas how to work around this one ?

UPDATE: Actually I don’t even have to play the game to get editor to crash. All that is needed is that I doubleclick on the persistent level so it opens the map up in the editor, then doubleclick the sublevel and it will crash with that GC exception right away.
If on the other hand I never open the persistent map during the editor session then I can open sublevel just fine.

So, I created a brand new simple project just to make sure it’s not some map complexitty issue, but it still happens. So to dupe all you need is a blank project - two levels, Persistent and Other. On the Levels window make Other a sublevel of Persistent. Inside Other level just place a cube with a navmesh around it. Then doubleclick PeristentLevel to open in Editor. Then doubleclick Other to open in Editor. and it blows up:

Unknown exception - code 00000001 (first/second chance not available)

"Fatal error: [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Editor\UnrealEd\Private\EditorServer.cpp] [Line: 1742]
//Game//StarterContent//Maps//Persisten

UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:355]
UE4Editor_UnrealEd!UEditorEngine::CheckForWorldGCLeaks() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorserver.cpp:1742]
UE4Editor_UnrealEd!UEditorEngine::EditorDestroyWorld() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorserver.cpp:1863]
UE4Editor_UnrealEd!UEditorEngine::Map_Load() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorserver.cpp:2213]
UE4Editor_UnrealEd!UEditorEngine::HandleMapCommand() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorserver.cpp:5768]
UE4Editor_UnrealEd!UEditorEngine::Exec() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\editorserver.cpp:5262]
UE4Editor_UnrealEd!UUnrealEdEngine::Exec() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\unrealedsrv.cpp:742]
UE4Editor_UnrealEd!FEditorFileUtils::LoadMap() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\filehelpers.cpp:1992]

Hi tardygarde,

I haven’t been able to reproduce this on my end. Can you post your crashlogs here so I can take a look? You can find these at \Unreal Projects\PROJECTNAME\saved\logs. Additionally, are there any other steps I can take to reproduce this on my end?

link text

Here’s the log. Basically I just created a brand new project with two levels - Persistent and Other. Persistent level was pretty much blank. In Ohter I added a cube and then a navmesh around it. Then I went to Levels tab and added Other as a sublevel of Persistent. Saved all. From that moment on doubleclicking Other to open in editor would crash around 75% (sometimes 100%) with the message attached, IF I had Persistent open before. But if I didn’t (for example if I start a new editor and go straight to Other, without first opening Persistent), then it would work OK.

And it is definitely related to something with the navmesh. As I said in the first post - the moment I delete the navmesh from the sublevel and save, I can start using editor normally and go between main and sub level all I want without any issues.

Do you have any plugins that you’ve added to your engine? Is the engine from the launcher or from github?

For what it’s worth, there’s this other guy having similar issue looks like:

link text

Except in case he’s using world composer while I m not, but maybe its still related ?

Where I originally ran into the bug - yes, I had my own plugin. But then , to eliminate all the various possiblities, I created a very basic C++ project with starter content , no plugins or anything added to it and duped it there as well. That’s the one that i sent the log from - very small , minimal project.
With that said - I deleted navmesh on the small project and recreated it and now it’s not throwing anymore. But still having issues on the main project, even with deleting , recreating. Maybe it’s some specific sequence of operations that does this… ?

And the engine is from the launcher, 4.8.3

Hi tardygrade,

Can you look in your 4.8 editor and go to Help>About Unreal Engine, then tell me what the number after the 4.8.X- is? This appears to have been fixed in 4.8 and 4.9 and I cannot reproduce it on my end.

That is definitely a possibility. Do you have a specific set of steps I can take? Here is what I’ve done so far, can you see if there are any steps I am missing?

  1. Open a new project
  2. Immediately save map as “test1”
  3. Create a new map, call it “test2”
  4. In test2, create a cube and a navmesh, surround entire level with navmesh
  5. Save test2
  6. Open test1
  7. Open Windows>Levels>level>create existing>test2
  8. Save everything, close and reopen editor
  9. Open test1
  10. Open Windows>Levels and doubleclick test2

At this point, I have not seen a crash, though it did slow down for a few seconds in 4.8.3. Are there any steps I have missed?

Hi,

Attached is the pic showing my ue editor version
At this time I m again unable to dupe using the simpler version of the project, but larger one still fails always. Gotta be something to do with navmesh rebuilding, or some settings, or something like that…

55879-ue_pic.png

Could you also try to check dynamic build for navmehs and force build on load. Then try that a couple of times, or even play from the main one (test1), then stop then back and forht in editor between test2 and test1 map

I think that does it all the time ! Navmesh rebuild settings. Can you try. So I went back to the project and unchecked all those “rebuild navmesh” and “force rebuild on load”. Now it’s not failing anymore even on the larger project. ALTHOUGH - keep in mind that even smaller project was occasionally failing even though it initially didn’t have those “always rebuild” settings. So I expect it will probably blow up again if my navmesh gets rebuilt during the editor session.

And actually, to narrow even further - I think it might be just the “force rebuild on load” that’s causing this at all times (when checked)

Hi tardygrade,

Can you link your dxdiag here so I can take a look? I haven’t been able to reproduce this on my end.

Here’s the file…

link text

Hi tardygrade,

Can you try this in 4.9 and see if this occurs? To do so, I would recommend creating a copy of your project to open in 4.9 (don’t convert in place).

This happens to me as well, both on 4.8.3 and 4.9. CheckForWorldGCLeaks crashes the editor, if I open a level with sub levels and then open one of the sub levels. Happens every time. I don’t use any plugins. I have a nav mesh in every sub level though.