GHC RTS VEH swallowing exceptions
On ticket #6079 (closed), a top level VEH handler was implemented which effectively means there is no uncaught exceptions for those it catches.
#13108 (closed) improved things a little by giving some basic info upon segfaults, but otherwise left everything as is.
Rather than trying to catch all exceptions, I think it would be more worthwhile to leave them uncaught, and let current & future tools have an eyes open approach to debugging.
If something needs to go in the place of the global handler, perhaps SetUnhandledExceptionFilter is of use?
VEH overrides all other exception handlers as far as I'm aware (C++, SEH, .NET), so trying to interop with any other code that wants to handle it's own exceptions won't work unless said code is also using VEH.
This is causing an issue for some code I've been working on, and I've documented similar to this bug report there also: https://gitlab.com/tim-m89/clr-haskell/issues/25#note_33960203
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | RuntimeCrash |
Priority | normal |
Resolution | Unresolved |
Component | Runtime System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture | x86_64 (amd64) |