Search Issue Tracker

Fixed in 2021.2.X

Votes

0

Found in

2019.4

2020.2.2f1

2020.3

2021.1

2021.2

Issue ID

1317343

Regression

No

Editor crashes on opening Project due to Serialization Memory Leak

Serialization

-

Reproduction steps:
1. Open user attached project

Expected result: The project is opened
Actual result: The Editor increases in memory usage until it overloads and crashes

Reproducible with: 2019.4.22f1 2020.3.0f1, 2021.1.0b11, 2021.1.0a9
Could not test with: 2018.4.33f1 (Compiler errors)

Notes:
Error in the logs: `Serialization depth limit 10 exceeded`

  1. Resolution Note (fix version 2021.2):

    When a base class has many fields of a derived class, that are being serialized by-value, then this recursive definition can cause an long delay and out of memory crash. The fix will detect such a recursive definition and not serialize the field, just as fields inside a class are not serialized if they have the class as their type. ScriptableObjects or [SerializeReference] should be used instead of by-value serialization for this sort of data structure design.

    Fixed in 2022.1.0a16

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.