[PATCH] D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 18 06:05:23 PST 2019


aganea added a comment.

In D70568#1789527 <https://reviews.llvm.org/D70568#1789527>, @hans wrote:

> I looked over this again, and also studied CrashRecoveryContext some more.
>
> I don't really understand why this patch needs to modify the code for how the CRC is enabled and installed, etc.
>
> I thought all we need for in-process-cc1 is to add the DumpStackAndCleanupOnFailure flag and behavior, nothing more.
>
> Do you think this is possible, or am I missing something?


Hi Hans,
Sorry for taking time to respond.
The way `Enable()/Disable()` is currently implemented will not work when the tool executes jobs in parallel (ie. llvm-buildozer <https://www.youtube.com/watch?v=usPL_DROn4k> I presented at LLVM conference; or our re-implementation of /MP <https://docs.microsoft.com/en-us/cpp/build/reference/mp-build-with-multiple-processes?view=vs-2019> which I haven't published yet). It needs refcounting, otherwise one instance might disable the CRC while other threads are running, which effectively disables the crash handlers.
But we can discuss that in a separate review if you prefer. I'll remove it from this patch unless you say otherwise.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70568/new/

https://reviews.llvm.org/D70568





More information about the llvm-commits mailing list