Search Issue Tracker

By Design

By Design in 6000.4.X

Votes

0

Found in

6000.0.60f1

6000.2.8f1

6000.3.0b6

6000.4.0a3

Issue ID

UUM-122644

Regression

No

Crash on SceneTracker::SetObjectDirty when entering Play mode on a project with specific Assets

Scene Management

-

How to reproduce:
1. Open the attached “IN-119753” project
2. Open the “SampleScene”
3. Enter Play mode
4. Observe the crash

Reproducible with: 6000.0.37f1, 6000.0.60f1, 6000.2.8f1, 6000.3.0b6, 6000.4.0a3
Could not test with: 6000.0.36f1 (could not solve errors from downgrading)

Reproduced on: Windows 11
Not reproduced on: No other environment tested

Notes:
- Sometimes, the crash can take up to 30 seconds to occur after entering Play mode
- Sometimes a freeze occurs instead of a crash

First few lines of the stack trace:
0x00007FFB8075F07B (Unity) SceneTracker::SetObjectDirty
0x00007FFB7F3608DB (Unity) Transform::FlushDelayedSetDirty
0x00007FFB807564CF (Unity) SceneTracker::FlushDirty
0x00007FFB802BE9FE (Unity) PlayerLoopController::InternalUpdateScene
0x00007FFB802BD593 (Unity) PlayerLoopController::EnterPlayMode

  1. Resolution Note:

    Thank you for reporting a bug to Unity.

    After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature.

    The project faces the infinite recursive instantiation:
    1. SimplePool.Awake() calls Prewarm()
    2. Prewarm() calls CreateInstance()
    3. CreateInstance() calls Instantiate(prefab, transform)
    4. Instantiated prefab has a SimplePool component, Unity immediately runs Awake() on the clone → which calls Prewarm() again → which instantiates again → repeat until Unity locks up.

    We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.

  2. Resolution Note (6000.4.X):

    Thank you for reporting a bug to Unity.

    After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature.

    The project faces the infinite recursive instantiation:
    1. SimplePool.Awake() calls Prewarm()
    2. Prewarm() calls CreateInstance()
    3. CreateInstance() calls Instantiate(prefab, transform)
    4. Instantiated prefab has a SimplePool component, Unity immediately runs Awake() on the clone → which calls Prewarm() again → which instantiates again → repeat until Unity locks up.

    We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.

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.