Search Issue Tracker

Won't Fix

Votes

0

Found in

2018.4

2019.3

2019.3.9f1

2020.1

2020.2

Issue ID

1237566

Regression

Yes

Exceptions in looped finally blocks corrupt memory and cause crashes

Mono

-

How to reproduce:
1. Download the user-submitted script(BreakIl2cppFinally.cs)
2. Create a new Unity project
3. Import the downloaded script and create a new script that calls BreakIl2cppFinally.CorruptMemory()
4. Attach the newer script to a GameObject and enter Play Mode/Build and Run for Mono/Build and Run for IL2CPP

Expected result: Editor/Player does not crash
Actual result: Editor/Player crashes

Reproducible with: 2018.4.23f1, 2019.3.13f1, 2020.1.0b9, 2020.2.0a12
Not reproducible with: 2017.4.40f1(Editor does not crash, but throws some errors, Mono build does not crash, could not test IL2CPP build)

Notes:
Crashes occur in Editor, Mono and IL2CPP builds

  1. Resolution Note:

    The root cause of this is a stack overflow in the way mono is handling exceptions thrown like this. A bug has been filed upstream for this: https://github.com/mono/mono/issues/19846 -- will reopen this bug once it has been fixed upstream.

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.