Bug 43320

Summary: Thread aborts in the middle of .cctor and hell break loose
Product: [Mono] Runtime Reporter: Rodrigo Kumpera <kumpera>
Component: GeneralAssignee: Rodrigo Kumpera <kumpera>
Severity: normal CC: david, mono-bugs+mono, mono-bugs+runtime, vlad.brezae
Priority: Normal    
Version: master   
Target Milestone: Future Cycle (TBD)   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description Rodrigo Kumpera 2016-08-12 18:24:24 UTC
This bug is tracking the discussion from https://github.com/mono/mono/pull/3369

The summary is that a TAE landing in a .cctor should be routed around and keep the type viable.

Right now the TAE lands straight in the middle of the .cctor, punch it in the face, ruins the type and sneaks out hidden in a TLE.
Comment 1 Andi McClure 2016-08-12 18:26:55 UTC
It seems like this is a regression.
Comment 2 Rodrigo Kumpera 2016-08-12 18:31:22 UTC
It's not a regression per-se. The wrong behavior always existed, but became much more problematic with Zoltan's change to switch thread stop to abort instead.

We discussed back then that we'd need to get this and Kyte's fix[1] in.

[1] https://github.com/mono/mono/pull/1837
Comment 3 Rodrigo Kumpera 2016-09-01 21:50:10 UTC
Merged, let's hope it works.
Comment 5 Rodrigo Kumpera 2017-08-08 17:30:38 UTC
We did another round of fixing around the cctor abort January 2017: https://github.com/mono/mono/pull/4274

CC'ing Vlad as he recently did some work on interruption - changed how finally guarding is done.