Search Issue Tracker

Won't Fix

Votes

1

Found in

2019.4

2020.1.12f1

2021.1

Issue ID

1292505

Regression

No

Crash when SerializeReference is changed from class to abstract class

Serialization

-

How to reproduce:
1. Open "SerializeReferenceRepro.zip" and open the SampleScene
2. Attach "ForbiddenAssignment.cs" to "TargetObject"
3. Set "Field in Test Class" in "Reference field" of "Forbidden Assignment" to 5
4. Comment out the first line of "ForbiddenAssignment.cs"
5. Observe, that the "Field in Test Class" still exists
6. Press Play
7. Wait for ~10 seconds

Expected result: No crash
Actual result: Crash
Note: On step 5, there should be no "Field in Test Class" field

Reproducible with: 2019.4.16f1, 2020.1.16f1, 2020.2.0b14, 2021.1.0a8
Could not test with: 2018.4.30f1 (no SerializeReference)

Stack trace:
#0 0x007fcc86f65da0 in (Unknown)
#1 0x0000014300f034 in mono_jit_runtime_invoke
#2 0x000001431d1e81 in do_runtime_invoke
#3 0x000001431d1ddf in mono_runtime_invoke
#4 0x0000010682a8d7 in scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr, bool)
#5 0x0000010682449f in ScriptingInvocation::Invoke(ScriptingExceptionPtr
, bool)

  1. Resolution Note (2021.2.X):

    Unfortunately currently this is not supported and for performance consideration we cannot support this schema change. This is a scenario we will consider putting better support towards when improving services around data migration.

Add comment

Log in to post comment