Search Issue Tracker

Fixed in 5.1.3

Votes

7

Found in

Issue ID

708527

Regression

No

IL2CPP doesn't call AppDomain.UnhandledException when "Fast but no Exceptions" is set.

IL2CPP

-

iOS with player setting "Script Call Optimization" set to "Fast but no Exceptions" running on Mono backend catches null exceptions and calls AppDomain.UnhandledException, which allows apps to trigger crash reports. IL2CPP catches the exception and ignores it.

To reproduce:
1) Create new project with script:
void OnGUI() {
if (GUILayout.Button("CRASH", GUILayout.Width(300.0f), GUILayout.Height(200.0f))) {
object o = null;
o.ToString();
}
}
2) In player settings set:
* "Script Call Optimization" to "Fast but no Exceptions".
* "On .Net UnhandledException" to "Crash".
3) Build and upload app to device.
4) Run app without Xcode attached.
5) Click "Crash" button.

Result: app keeps running.
Expected: app crashes, and inspecting generated crash log through Xcode's Devices tool should show CrashedCheckBellowForHintsWhy() being last on the callstack.

Comments (4)

  1. JoshPeterson

    Jul 08, 2015 10:47

    We've landed a fix for this bug internally now. It should be available in 4.6.7p2 and 5.1.2p1.

  2. nsejosh

    Jun 29, 2015 19:25

    Yes, every ios app that care about reporting crashes. which should be every one.

  3. caecus

    Jun 29, 2015 19:16

    Any fix to this issue is good, but the best one would be such that we could get the actual il2cpp exceptions properly reported as well.

  4. caecus

    Jun 29, 2015 19:13

    This is another issue that I'm pretty sure affects every iOS app. I can't believe theres no votes on it...

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.