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
- [Android] Safe area ignores navigation bar on Android when targeting level 35 API or higher
- File watcher does not trigger after the AcquireFloatingLease and before the Entitlement check
- HDR Output gets disabled in the Editor when Reflection Probe is enabled during runtime
- The "Build and Run" Menu option tries to build for the selected Build Platform instead of the Active Build Platform
- Font kerning breaks at runtime when multiple UI Documents use different fonts
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;
}