Search Issue Tracker

Fixed in 2020.2.X

Votes

0

Found in

2018.4

2019.4

2019.4.18f1

2020.2

2021.1

Issue ID

1323429

Regression

No

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

Serialization

-

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

Notes:
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