Skip to content

Conversation

@staticfloat
Copy link
Member

In order to properly generate minidumps during actual events, it is necessary to disable the call to SetErrorMode() during libuv initialization and to remove the job flag
JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION, both of which interfered in the normal handling of exceptions. Finally, it was determined prudent to include CREATE_DEFAULT_ERROR_MODE when spawning new processes, to ensure that whatever error handling mode was set in the current process is not inherited by subprocesses.

In order to properly generate minidumps during actual events, it is
necessary to disable the call to `SetErrorMode()` during libuv
initialization and to remove the job flag
`JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION`, both of which interfered
in the normal handling of exceptions.  Finally, it was determined
prudent to include `CREATE_DEFAULT_ERROR_MODE` when spawning new
processes, to ensure that whatever error handling mode was set in the
current process is not inherited by subprocesses.
staticfloat added a commit to JuliaLang/julia that referenced this pull request Nov 17, 2022
This commit provides two pieces; first, it enables building libuv with
`SIGQUIT` support on Windows (useful for [0]), and second it enables
coredumping when exceptions are hit, after our exception handler has
finished printing out a backtrace.  This is useful for using WER to
create dump files when we segfault, etc...

This commit requires libuv PRs [1] and [2] to properly function.

[0] #45864
[1] JuliaLang/libuv#30
[2] JuliaLang/libuv#31
Copy link
Member

@vtjnash vtjnash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you submit this to libuv against the master branch there?

@staticfloat
Copy link
Member Author

Could you submit this to libuv against the master branch there?

libuv#3838

@vtjnash vtjnash merged commit fa7058b into julia-uv2-1.44.2 Jan 17, 2023
@vtjnash vtjnash deleted the sf/wer_fixes branch January 17, 2023 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants