New submission from Tom Birch <fro...@gmail.com>:

After https://github.com/python/cpython/pull/12946, there exists an issue on 
MacOS due to the two-level namespace for symbol resolution. If a C extension 
links against libpython.dylib, all symbols dependencies from the Python C API 
will be bound to libpython. When the C extension is loaded into a process 
launched by running the `python` binary, there will be two active copies of the 
python runtime. This can lead to crashes if objects from one runtime are used 
by the other.

https://developer.apple.com/library/archive/documentation/Porting/Conceptual/PortingUnix/compiling/compiling.html#//apple_ref/doc/uid/TP40002850-BCIHJBBF

See issue/test case here: https://github.com/PDAL/python/pull/76

----------
components: C API, macOS
messages: 382841
nosy: froody, ned.deily, ronaldoussoren
priority: normal
severity: normal
status: open
title: C Extensions on Darwin that link against libpython are likely to crash
type: crash
versions: Python 3.8, Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42616>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to