Search Issue Tracker
Won't Fix
Votes
4
Found in
2018.3.0b1
Issue ID
1085243
Regression
No
Crash on scripting_object_get_class because Mono does not throw correct exception
How to reproduce:
1. Open the attached project
2. Open the "SampleScene.Unity" scene
3. Press Play
Actual result: Unity crashes.
Reproducible with: 2019.1.0a5, 2018.3.0b6, 2018.2.13f1, 2018.1.9f2, 2017.4.13f1, 2017.2.4f1.
Notes:
The crash is caused by lines 29 and 30 (both have to be executed to reproduce the crash) in Crashy.cs
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- URP Realtime reflection probes do not update when RenderProbe() is being called once per second
- Addressable terrain shader variants are stripped from the Player
- [iOS] Debug.Log() appears as <private> in Console app
- UI stays in the background when it is disabled in simulator
- A wrong log file is attached when project is launched with a "-logFile" command line argument
Resolution Note:
We should raise an exception rather than crash when reference and valuetype fields overlap. However, detecting this in mono has proven more difficult than expected. I am resolving this for now as this crash only occurs in a low likelihood event, where a user has explicitly overlapped reference and valuetype fields via Explicit layout.
// Avoid code like the following
[StructLayout(LayoutKind.Explicit)]
public struct GCCrasher
{
[FieldOffset(0)] public int valueType;
[FieldOffset(0)] public GameObject referenceType;
}