[issue37395] Core interpreter should be linked with libgcc_s.so on Linux

2021-06-28 Thread STINNER Victor


STINNER Victor  added the comment:

> This is arguably a bug in glibc, but Python can easily work around it by 
> linking the core interpreter (the `python` executable and/or `libpython.so`) 
> 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.

I fixed the issue differently in bpo-44434.

I mark this issue as a duplicate of bpo-44434.

--
nosy: +vstinner
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> _thread module: Remove redundant PyThread_exit_thread() call to 
avoid glibc fatal error: libgcc_s.so.1 must be installed for pthread_cancel to 
work

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37395] Core interpreter should be linked with libgcc_s.so on Linux

2019-06-24 Thread Zack Weinberg


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() `libgcc_s.so` 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 `libpython.so`) 
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 
libgcc_s.so. `_Unwind_Backtrace` is probably the most practical option.  (See 
https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib--unwind-backtrace.html
 .)

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

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com