On 2026-Feb-23, Bryan Green wrote: > I have implemented DuplicateHandle and closed the handle in the > appropriate places. I also reset backtrace_process to NULL if > SymInitialize() fails. Patch is attached.
Hmm, should then backtrace_cleanup() cope with the case where it's NULL? Also, I wonder what happens if one "backtraceable" error occurs, and we fail to SymInitialize(), then another backtraceable error occurs. Should we do the DuplicateHandle()+SymInitialize() dance again, or should we just give up? The current implementation does the former, I think; but the latter is also easily achievable by setting backtrace_symbols_initialized to true and leaving backtrace_process as NULL; then this case can be detected specifically in set_backtrace() and treated as a case where we just return NULL before attempting anything else. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
