Search Issue Tracker

Fixed in 2020.1.X

Fixed in 2019.4.X, 2020.3.X, 2021.1.X

Votes

3

Found in

2019.3

2020.1

2020.1.0a12

Issue ID

1198073

Regression

No

[SerializeReference] Editor crashes on Transfer<JSONRead> when calling JsonUtility.FromJson

Serialization

-

How to reproduce:
1. Open the attached project "case_1198073.zip"
2. Load the "SampleScene"
3. Enter Play mode
-- Observe the crash

Reproducible with: 2019.3.0b10, 2020.1.14f1
Could not test with 2017.4.35f1 and 2018.4.13f1 due to "The type or namespace name `SerializeReference' could not be found", 2019.2.13f1 and 2019.3.0a1 due to "SerializeReference inaccessible due to its protection level"

The crashes the editor when creating or overwriting an object from its JSON serialized representation

The crash only occurs when:
* The object has one or more fields with SerializeReference attribute.
* The object has a field named "references"

Workaround: rename a member with name "references" to anything else

Windows OS stack trace:
0x00007FF73E7A1C30 (Unity) SerializeTraits<ManagedReferencesRegistry>::Transfer<JSONRead>
0x00007FF73E7AAFF5 (Unity) TransferScriptingObject<JSONRead,0>
0x00007FF73E7C4152 (Unity) FromJsonInternal
0x00007FF73ECCA1E5 (Unity) JsonUtility_CUSTOM_FromJsonInternal
0x0000020B06CC5C93 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.JsonUtility:FromJsonInternal (string,object,System.Type)

  1. Resolution Note (fix version 2020.1):

    Fixed in: 2021.2.0a3

  2. Resolution Note (fix version 2021.1):

    Fixed in: 2021.1.0b9

  3. Resolution Note (fix version 2020.3):

    Fixed in: 2020.3.10f1

  4. Resolution Note (fix version 2019.4):

    Fixed in: 2019.4.24f1

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.