mirror of
https://github.com/postgres/postgres.git
synced 2025-07-23 03:21:12 +03:00
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
This commit is contained in:
@ -386,6 +386,15 @@ task:
|
|||||||
# currently have a tool for that...
|
# currently have a tool for that...
|
||||||
CIRRUS_ESCAPING_PROCESSES: 1
|
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.*'
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
|
||||||
|
|
||||||
windows_container:
|
windows_container:
|
||||||
|
Reference in New Issue
Block a user