New submission from Zack Weinberg <>:

There are several existing issues (e.g. #18748 and #35866) where at least part 
of the problem is that GNU libc tried to dlopen() `` at a moment 
when that's not safe, e.g. during thread or process shutdown.  This converts a 
recoverable error into a deadlock or crash.

This is arguably a bug in glibc, but Python can easily work around it by 
linking the core interpreter (the `python` executable and/or ``) 
with libgcc_s at build time (`-lgcc_s`) on Linux.  It will then be loaded 
already if and when it's needed, and glibc won't try to load it on demand.

In order for this to be 100% reliable, it needs to be at least theoretically 
possible for code within the interpreter to call a function defined in `_Unwind_Backtrace` is probably the most practical option.  (See

components: Interpreter Core
messages: 346468
nosy: zwol
priority: normal
severity: normal
status: open
title: Core interpreter should be linked with on Linux
type: crash

Python tracker <>
Python-bugs-list mailing list

Reply via email to