You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[wasm][R2R] Exception thrown from a finally reached by leave is reported as unhandled instead of reaching the caller's catch (b51875, b77707) #134975
JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875 fails when the test assembly is compiled with crossgen2 for browser-wasm. AA.Main1 leaves a try with goto, and its finally throws. TestEntryPoint wraps the call in try { ... } catch (Exception). That catch is never reached: the runtime reports the exception as unhandled and aborts the process:
Running test: global::b51875.AA.TestEntryPoint()
Unhandled exception. System.Exception: Exception of type 'System.Exception' was thrown.
at b51875.AA.Main1()
Aborted(native code called abort())
RuntimeError: unreachable
Because the process aborts, the merged runner stops and the remaining tests in it report no results.
Both copies fail:
Regression_8 (b51875/b51875.cs)
Regression_PdbOnly_r_2 (b51875/Desktop/b51875.cs)
The same work items pass in the browser-wasm interpreter leg (interpreted test code over R2R CoreLib), so the failure is specific to test code compiled with ReadyToRun.
The module-validation bug for this test (#129335, missing function-body end opcode) is fixed. Now that the module loads, this EH propagation failure is visible.
b77707 (Regression_PdbOnly_r_2) fails the same way, found once b51875 stopped crashing that runner. AA.Method1 leaves its try with return, and its finally throws:
Unhandled exception. System.Exception: Exception of type 'System.Exception' was thrown.
at b77707.AA.Method1()
Aborted(native code called abort())
Configuration
browser-wasm, CoreCLR, Checked, R2R_CG2 (crossgen2 at Helix time), priority 1
changed the title [-][wasm][R2R] Exception thrown from a finally reached by leave is reported as unhandled instead of reaching the caller's catch (b51875)[/-][+][wasm][R2R] Exception thrown from a finally reached by leave is reported as unhandled instead of reaching the caller's catch (b51875, b77707)[/+]on Sep 30, 2026
Description
JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875fails when the test assembly is compiled with crossgen2 for browser-wasm.AA.Main1leaves atrywithgoto, and itsfinallythrows.TestEntryPointwraps the call intry { ... } catch (Exception). That catch is never reached: the runtime reports the exception as unhandled and aborts the process:Because the process aborts, the merged runner stops and the remaining tests in it report no results.
Both copies fail:
Regression_8(b51875/b51875.cs)Regression_PdbOnly_r_2(b51875/Desktop/b51875.cs)The same work items pass in the browser-wasm interpreter leg (interpreted test code over R2R CoreLib), so the failure is specific to test code compiled with ReadyToRun.
The module-validation bug for this test (#129335, missing function-body
endopcode) is fixed. Now that the module loads, this EH propagation failure is visible.b77707(Regression_PdbOnly_r_2) fails the same way, found onceb51875stopped crashing that runner.AA.Method1leaves itstrywithreturn, and itsfinallythrows:Configuration
R2R_CG2(crossgen2 at Helix time), priority 1runtime-coreclr outerloopon [wasm][CoreCLR] Add browser_wasm R2R_CG2 leg to runtime-coreclr outerloop #134960: build 1618213, Helix job470668a9-1c32-41f9-ac2c-a8a0ddd812c3, work itemsRegression_8andRegression_PdbOnly_r_2Note
This issue was drafted with GitHub Copilot assistance.