]> git.ipfire.org Git - thirdparty/bind9.git/commit
Prevent Cygwin from concealing non-abort() crashes
authorMichał Kępień <michal@isc.org>
Thu, 26 Sep 2019 08:34:01 +0000 (10:34 +0200)
committerMichał Kępień <michal@isc.org>
Thu, 26 Sep 2019 08:34:01 +0000 (10:34 +0200)
commit3d4b17806f96762b08ba94382c8a5fbfefde0a87
tree569b3ccfb6a9411ade734f7b0bec233fb8f6ad93
parent5a55e95b05714c952724487be1a29ddfa366993a
Prevent Cygwin from concealing non-abort() crashes

BIND system tests are run in a Cygwin environment.  Apparently Cygwin
shell sets the SEM_NOGPFAULTERRORBOX bit in its process error mode which
is then inherited by all spawned child processes.  This bit prevents the
Windows Error Reporting dialog from being displayed, which I assume is
part of an effort to contain memory handling errors triggered by Cygwin
binaries in the Cygwin environment.  Unfortunately, this also prevents
automatic crash dump creation by Windows Error Reporting and Cygwin
itself does not handle memory errors in native Windows processes spawned
from a Cygwin shell.

Fix by clearing the SEM_NOGPFAULTERRORBOX bit inside named if it is
started in a Cygwin environment, thus overriding the Cygwin-set process
error mode in order to enable Windows Error Reporting to handle all
named crashes.
bin/named/win32/os.c