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

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.