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