Search Issue Tracker

Fixed in 2020.2.X



Found in






Issue ID




Editor crashes on "Assertion failed on expression: 'o != NULL'" when there is a GameObject with 2 transforms in scene



Reproduction steps:
1. Open the user's attached project
2. Open scene "Level1"
3. Set GameObject "" to active

Expected result: Game object is set to active
Actual result: Editor crashes

Reproducible with: 2018.4.33f1, 2019.4.23f1, 2020.2.1f1, 2021.1.0a1, 2021.1.0a5
Not reproducible with: 2020.2.2f1, 2020.3.3f1, 2021.1.0a6, 2021.1.1f1, 2021.2.0a11

Generally it's not possible, but Merge tools can fail and make them like this

Other ways to reproduce the crash:
1. Level1 -> Enter Play mode
#0 0x000001075d32a1 in Transform::RemoveFromParent(Transform::RemoveFromParentMode)
#1 0x00000106016b82 in DestroyObjectHighLevel_Internal(Object*, bool)
#2 0x00000106016d91 in DestroyObjectHighLevel(Object*, bool)
#3 0x0000010602cf2c in DestroyWorldObjects(dynamic_array<int, 0ul> const&)
#4 0x000001045d562c in EditorSceneManager::RestoreSceneBackups(std::__1::vector<EditorSceneBackup, stl_allocator<EditorSceneBackup, (MemLabelIdentifier)118, 16> >&, EditorSceneManager::PlayModeChange)
#5 0x00000103d5ee4a in PlayerLoopController::EnterPlayMode()

2. Close Editor when Level1 is opened
#0 0x0000010e5532a1 in Transform::RemoveFromParent(Transform::RemoveFromParentMode)
#1 0x0000010cf96b82 in DestroyObjectHighLevel_Internal(Object*, bool)
#2 0x0000010cf96d91 in DestroyObjectHighLevel(Object*, bool)
#3 0x0000010cfacf2c in DestroyWorldObjects(dynamic_array<int, 0ul> const&)
#4 0x0000010cfacc16 in DestroyWorld(bool, void (*)(UnityScene&), void (*)(UnityScene&))
#5 0x0000010acca6f0 in Application::CoreShutdown()

3. Intro -> Enter play mode -> Press "Play" button -> Exit play mode
#0 0x0000010f460310 in GameObject::QueryComponentByType(Unity::Type const*) const
#1 0x0000010fdc6ca5 in UnpackPrefabInstanceRecursive(GameObject&)
#2 0x0000010fdc6d27 in UnpackPrefabInstanceRecursive(GameObject&)
#3 0x0000010fdc6b1c in DestroyObjectHighLevel_Internal(Object*, bool)
#4 0x0000010fdc6d91 in DestroyObjectHighLevel(Object*, bool)
#5 0x0000010fddcde5 in DestroyWorldObjects(dynamic_array<int, 0ul> const&)

  1. Resolution Note (fix version 2020.2):

    Does no longer reproduce with - 2020.2.2f1 and 2021.1.0a6 and above

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.