fairywren exiting in ecpg
От | Andres Freund |
---|---|
Тема | fairywren exiting in ecpg |
Дата | |
Msg-id | 20230404011546.f5wmw4r43op5e6ie@awork3.anarazel.de обсуждение исходный текст |
Ответы |
Re: fairywren exiting in ecpg
|
Список | pgsql-hackers |
Hi, Looks like fairywren is possibly seeing something I saw before and spent many days looking into: https://postgr.es/m/20220909235836.lz3igxtkcjb5w7zb%40awork3.anarazel.de which led me to add the following to .cirrus.yml: # 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 The mingw folks also spent a lot of time looking into this ([1]), without a lot of success. It sure looks like it might be a windows C runtime issue - none of the stacktrace handling python has gets invoked. I could not find any relevant behavoural differences in python's code that depend on SEM_NOGPFAULTERRORBOX being set. It'd be interesting to see if fairywren's occasional failures go away if you set MSYS=winjitdebug (which prevents msys from adding SEM_NOGPFAULTERRORBOX to ErrorMode). Greetings, Andres Freund [1] https://github.com/msys2/MINGW-packages/issues/11864
В списке pgsql-hackers по дате отправления: