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
- Certain textures are incorrectly marked in the render pass list when observed through Render Graph Viewer
- "Assertion failed on expression" error occurs when multiple Animation Components are instantiated after changing the Culling Type
- MacOS persistentDataPath uses old path when built compared to Editor Play mode
- Crash on RaiseException when entering Play Mode in a specific project
- Debug Console does not reappear when disabling and re-enabling Debug.developerConsoleEnabled
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;
}