Crash switching between levels (Object is not currently rooted)

Very similar to this. I started a new thread as I don’t have a workaround and I’m pretty stuck now…

While I’ve seen this previously its been sporadic but since updating to 4.9. Preview 4 it’s very close to 100%. My basic setup is a bunch of levels that are streamed in during gameplay from C++. These are referenced from DefaultLevel which is loaded on startup.

These levels load during gameplay, but not in the editor (attempted by trying to click on them in the content browser).

The levels are pretty simple. I can share the project if needed.

The interesting part of the output:

[2015.08.24-20.26.21:114][946]LogFileHelpers: Loading map 'DefaultLevel' took 1.248
The thread 0x2640 has exited with code 0 (0x0).
[2015.08.24-20.26.38:576][368]Cmd: MAP LOAD FILE="../../../../../../Users//Documents/Unreal Projects/MM_04/Content/Levels/RoadLevel.umap" TEMPLATE=0 SHOWPROGRESS=1 FEATURELEVEL=3
[2015.08.24-20.26.38:578][368]LightingResults: New page: Lighting Build
[2015.08.24-20.26.38:641][368]LoadErrors: New page: Loading map: RoadLevel.umap
[2015.08.24-20.26.38:645][368]MapCheck: New page: Map Check
[2015.08.24-20.26.38:646][368]LightingResults: New page: Lighting Build
[2015.08.24-20.26.38:683][368]LogReferenceChain: Searching referencers for ButterflyLevel. This may take several minutes.
[2015.08.24-20.26.38:945][368]LogReferenceChain: Generating reference graph ...
[2015.08.24-20.26.38:957][368]LogReferenceChain: Level 0 has 2 nodes ...
[2015.08.24-20.26.38:974][368]LogReferenceChain: Level 1 added 12 nodes ...
[2015.08.24-20.26.38:992][368]LogReferenceChain: Level 2 added 70 nodes ...
[2015.08.24-20.26.39:010][368]LogReferenceChain: Level 3 added 216 nodes ...
[2015.08.24-20.26.39:028][368]LogReferenceChain: Level 4 added 425 nodes ...
[2015.08.24-20.26.39:046][368]LogReferenceChain: Level 5 added 497 nodes ...
[2015.08.24-20.26.39:064][368]LogReferenceChain: Level 6 added 562 nodes ...
[2015.08.24-20.26.39:082][368]LogReferenceChain: Level 7 added 572 nodes ...
[2015.08.24-20.26.39:100][368]LogReferenceChain: Level 8 added 315 nodes ...
[2015.08.24-20.26.39:118][368]LogReferenceChain: Level 9 added 0 nodes ...
[2015.08.24-20.26.39:119][368]LogReferenceChain: Generating reference chains ...
[2015.08.24-20.26.39:120][368]LogReferenceChain:   
[2015.08.24-20.26.39:121][368]LogReferenceChain: External Referencers:
[2015.08.24-20.26.39:122][368]LogReferenceChain:   
[2015.08.24-20.26.39:123][368]LogReferenceChain: (standalone) World /Game/Levels/RoadLevel.RoadLevel->CurrentLevel
[2015.08.24-20.28.59:620][368]LogReferenceChain:   Level /Game/Levels/RoadLevel.RoadLevel:PersistentLevel->UE4Editor-Engine.dll!ULevel::AddReferencedObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\level.cpp:255]
[2015.08.24-20.28.59:622][368]LogReferenceChain:     AbstractNavData /Game/Levels/RoadLevel.RoadLevel:PersistentLevel.AbstractNavData-Default->CachedWorld
[2015.08.24-20.28.59:623][368]LogReferenceChain:       World /Game/Levels/DefaultLevel.DefaultLevel->Levels
[2015.08.24-20.28.59:624][368]LogReferenceChain:         Level /Game/Levels/ButterflyLevel.ButterflyLevel:PersistentLevel->Outer
[2015.08.24-20.28.59:625][368]LogReferenceChain:           (target) World /Game/Levels/ButterflyLevel.ButterflyLevel
The thread 0x1d84 has exited with code 0 (0x0).
The thread 0x22ec has exited with code 0 (0x0).
The thread 0x1898 has exited with code 0 (0x0).
Fatal error: [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.9\Engine\Source\Editor\UnrealEd\Private\EditorServer.cpp] [Line: 1773] 
/Game/Levels/ButterflyLevel.ButterflyLevel still around trying to load ../../../../../../Users//Documents/Unreal Projects/MM_04/Content/Levels/RoadLevel.umap
   (Object is not currently rooted)

The interesting part of the callstack:

UE4Editor-UnrealEd.dll!UEditorEngine::HandleMapCommand(const wchar_t * Str, FOutputDevice & Ar, UWorld * InWorld) Line 5823	C++
UE4Editor-UnrealEd.dll!UEditorEngine::Exec(UWorld * InWorld, const wchar_t * Stream, FOutputDevice & Ar) Line 5317	C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Exec(UWorld * InWorld, const wchar_t * Stream, FOutputDevice & Ar) Line 743	C++
UE4Editor-UnrealEd.dll!FEditorFileUtils::LoadMap(const FString & InFilename, bool LoadAsTemplate, const bool bShowProgress) Line 2014	C++
UE4Editor-AssetTools.dll!FAssetTypeActions_World::OpenAssetEditor(const TArray<UObject *,FDefaultAllocator> & InObjects, TSharedPtr<IToolkitHost,0> EditWithinLevelEditor) Line 23	C++
UE4Editor-UnrealEd.dll!FAssetEditorManager::OpenEditorForAsset(UObject * Asset, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,0> OpenedFromLevelEditor) Line 303	C++

Hey -

Could you post the entire callstack and log files please? If you have a project with this crash then sending that as well would be helpful.

Cheers

Thank you for your response .

I’ve attached Log and Callstack.

The good news and bad news is that I don’t get the crash on MAC. Good because I can use the MAC to fix the most critical problems I face and bad because this may not repro for you.

What is the best way to get you the project? The easiest for me is to open up github access if you give me a user name to expose it to.

link text

The easiest way for me would be if you could upload the project to dropbox. Then you can send me a private message on the forums with a link to download it.

You should have it now - or I just sent all my secrets to that other …

Looks like I didn’t properly add the callstack earlier - here it is.

Callstack

Hey -

I did receive the project and tried to get the crash when switching levels but did not experience it. I tried playing through a few of the game modes but they did not seem to auto switch to another level (unless events like Math->Opposites counts as a level switch). I also tried leaving one mode and going back into another without a crash. Is there any certain game mode that will cause the crash? Does the crash only occur in PIE or standalone or package?

Glad it worked for you. The crash only happens when switching levels in the editor (not playing - clicking on the different levels in the levels folder). Never when playing the game.

During gameplay Levels are loaded and unloaded all the time - you’ll need to watch the output to see when. Levels actually provide backgrounds for menu screens so you’ll see them come and go while you navigate the menus!

I was wrong that this didn’t happen on MAC. It’s just less frequent, I just repeatedly jumped between “default level”, “gridspawnscene” and “road scene”. After about ten switches in quick succession it crashed.

Hey -

I was able to reproduce the crash when switching levels in the editor. This has been reported (UE-20420) for further investigation.

Cheers

Which means perhaps it’s an editor setting that’s causing the issue? Where do I go to reset everything on the project to defaults? I.e. Where are the window layout files stored?

Hi - any update on this? Even without a fix knowing how to avoid it would be great.

(And I still get this on 4.9).

Hey -

There is currently no update about this crash. I have not come across this specific crash outside of the project you sent. From what I can find it happens most when switching from either DefaultLevel or RoadLevel to other levels. It may help to find if these levels have anything in common that is unique from other levels. I have not come across this specific crash outside of the project you sent so I’m not sure what other suggestions would help at this time.

Hi ,

I’m not sure either hence wondering if someone who understands the guts of level management might be able to take a look :slight_smile:

Common threads in the levels are that all sub levels setup as streaming levels referenced by DefaultLevel and loaded from custom C++ (not the problem here, that’s during runtime when everything works, not during editor navigation)… Many of them also have an object within them that binds to C++ triggered events through the C++ UPROPERTY event binding system.

All levels are currently extremely simple, a light or two, a event driven blueprint doing some custom things, a static mesh or two.

Other’s have had this problem so it’s not confined to me, though I may be unique in being stuck without a good workaround (search for “Object is not currently rooted” to find at least one other related thread).

I am concerned about progressing using my current approach as it seems anyone who starts generating content for my project could suddenly be unable to access their work.

Hey -

In my tests I found that DefaultLevel, MainMenuScene, and RoadLevel seem to be the main culprits behind the crash. I’ve not been able to identify an exact cause, however it is possible that these levels have become corrupted in some way. Can you let me know if you can remove the current levels and recreate them and if the crash still occurs after doing so?

Well, some good news at last.

I spent some time trying to track this down yesterday, what I found was that some sub levels contained referenced to other sublevels. This seemed to be causing the crashes as removing them removed the bug.

There seems to be some bug where removing a sublevel’s reference to another level is not recorded via file:save all or the save icon above the main viewport. I’m also not sure how these references were created in the first place, they seem random and are not something I’ve ever done deliberately.

Previously I couldn’t open the levels to see them, or it might take many attempts before getting in without crashing but migrating to a new computer and 4.10 seems to have made it easier to get in and fix the problem. Note that I still saw the issue on the new computer / 4.10 but only a couple of times in many attempts to open levels rather than

If I’d been scientific I’d have tested 4.10 against the old levels on one of my older machines but in my great relief I’m afraid I bust past this and have updated all machines.

Oh - and GridSpawnScene seemed to be the worst offender.

It’s 2019 and I’m still having this crash.

Did you see the post where I found I had cross references between sublevels?