public inbox for [email protected]  
help / color / mirror / Atom feed
From: Andres Freund <[email protected]>
Subject: [PATCH v13 09/20] ci: windows: set error mode to not include SEM_NOGPFAULTERRORBOX
Date: Fri, 9 Sep 2022 14:52:00 -0700

This allows crashdumps to work and fixes an odd python crash.

Discussion: https://postgr.es/m/20220909235836.lz3igxtkcjb5w7zb%40awork3.anarazel.de
---
 .cirrus.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index 81eb8a9996d..7034352c487 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -386,6 +386,15 @@ task:
     # currently have a tool for that...
     CIRRUS_ESCAPING_PROCESSES: 1
 
+    # Cirrus defaults to SetErrorMode(SEM_NOGPFAULTERRORBOX | ...). That
+    # prevents crash reporting from working unless binaries do SetErrorMode()
+    # themselves. Furthermore, it appears that either python or, more likely,
+    # the C runtime has a bug where SEM_NOGPFAULTERRORBOX can very
+    # occasionally *trigger* a crash on process exit - which is hard to debug,
+    # given that it explicitly prevents crash dumps from working...
+    # 0x8001 is SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX
+    CIRRUS_WINDOWS_ERROR_MODE: 0x8001
+
   only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
 
   windows_container:
@@ -398,6 +407,7 @@ task:
     systeminfo
     powershell -Command get-psdrive -psprovider filesystem
     set
+    python -c "import msvcrt; print(hex(msvcrt.GetErrorMode()))"
 
   setup_additional_packages_script: |
     REM choco install -y --no-progress ...
-- 
2.37.3.542.gdd3f6c4cae


--4uoxke3bx6ymzqvl
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v13-0010-meson-ci-Build-both-with-meson-and-as-before.patch"



view thread (22+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: [PATCH v13 09/20] ci: windows: set error mode to not include SEM_NOGPFAULTERRORBOX
  In-Reply-To: <no-message-id-1858606@localhost>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox