Skip to content

Commit 661ee7b

Browse files
committed
ci: windows: set error mode to not include SEM_NOGPFAULTERRORBOX
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... Discussion: https://postgr.es/m/20220909235836.lz3igxtkcjb5w7zb%40awork3.anarazel.de Backpatch: 15-, where CI was added
1 parent a3a3c1e commit 661ee7b

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

.cirrus.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,15 @@ task:
386386
# currently have a tool for that...
387387
CIRRUS_ESCAPING_PROCESSES: 1
388388

389+
# Cirrus defaults to SetErrorMode(SEM_NOGPFAULTERRORBOX | ...). That
390+
# prevents crash reporting from working unless binaries do SetErrorMode()
391+
# themselves. Furthermore, it appears that either python or, more likely,
392+
# the C runtime has a bug where SEM_NOGPFAULTERRORBOX can very
393+
# occasionally *trigger* a crash on process exit - which is hard to debug,
394+
# given that it explicitly prevents crash dumps from working...
395+
# 0x8001 is SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX
396+
CIRRUS_WINDOWS_ERROR_MODE: 0x8001
397+
389398
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
390399

391400
windows_container:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy