Source: contourpy
Version: 1.3.0-1
Severity: normal
User: debian-pyt...@lists.debian.org
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

I'm not sure exactly where the failure is coming from, here. Something
is referencing _PyThreadState_UncheckedGet(). pybind11 shouldn't be
doing that any more. Needs more digging.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

[15/15] c++  -o src/_contourpy.cpython-312-aarch64-linux-gnu.so 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/chunk_local.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/contour_generator.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/converter.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/fill_type.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/line_type.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/mpl2005_original.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/mpl2005.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/mpl2014.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/outer_or_hole.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/serial.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/threaded.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/util.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/wrap.cpp.o 
src/_contourpy.cpython-312-aarch64-linux-gnu.so.p/z_interp.cpp.o 
-Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro 
-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security 
-mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2
[1/20] 
/<<PKGBUILDDIR>>/.mesonpy-mhlpnv2u/src/_contourpy.cpython-312-aarch64-linux-gnu.so
[2/20] /<<PKGBUILDDIR>>/lib/contourpy/__init__.py
[3/20] /<<PKGBUILDDIR>>/lib/contourpy/_version.py
[4/20] /<<PKGBUILDDIR>>/lib/contourpy/array.py
[5/20] /<<PKGBUILDDIR>>/lib/contourpy/chunk.py
[6/20] /<<PKGBUILDDIR>>/lib/contourpy/convert.py
[7/20] /<<PKGBUILDDIR>>/lib/contourpy/dechunk.py
[8/20] /<<PKGBUILDDIR>>/lib/contourpy/enum_util.py
[9/20] /<<PKGBUILDDIR>>/lib/contourpy/typecheck.py
[10/20] /<<PKGBUILDDIR>>/lib/contourpy/types.py
[11/20] /<<PKGBUILDDIR>>/lib/contourpy/_contourpy.pyi
[12/20] /<<PKGBUILDDIR>>/lib/contourpy/py.typed
[13/20] /<<PKGBUILDDIR>>/lib/contourpy/util/__init__.py
[14/20] /<<PKGBUILDDIR>>/lib/contourpy/util/bokeh_renderer.py
[15/20] /<<PKGBUILDDIR>>/lib/contourpy/util/bokeh_util.py
[16/20] /<<PKGBUILDDIR>>/lib/contourpy/util/data.py
[17/20] /<<PKGBUILDDIR>>/lib/contourpy/util/mpl_renderer.py
[18/20] /<<PKGBUILDDIR>>/lib/contourpy/util/mpl_util.py
[19/20] /<<PKGBUILDDIR>>/lib/contourpy/util/renderer.py
[20/20] /<<PKGBUILDDIR>>/.mesonpy-mhlpnv2u/lib/contourpy/util/_build_config.py
Successfully built contourpy-1.3.0-cp312-cp312-linux_aarch64.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
"installer" module
   dh_auto_test -a -O--buildsystem=pybuild
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_contourpy/build; python3.13 -m pytest 
tests/test*.py
ImportError while loading conftest 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_contourpy/build/tests/conftest.py'.
tests/conftest.py:10: in <module>
    from contourpy import FillType, LineType, ZInterp
contourpy/__init__.py:7: in <module>
    from contourpy._contourpy import (
E   ImportError: 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_contourpy/build/contourpy/_contourpy.cpython-313-aarch64-linux-gnu.so:
 undefined symbol: _PyThreadState_UncheckedGet
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=4: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_contourpy/build; python3.13 -m pytest 
tests/test*.py
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_contourpy/build; python3.12 -m pytest 
tests/test*.py
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.2, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_contourpy/build
configfile: pyproject.toml
plugins: typeguard-4.3.0
collected 2512 items / 1 skipped

tests/test_array.py ....................                                 [  0%]
tests/test_build_config.py .                                             [  0%]
tests/test_chunk.py ................................................     [  2%]
tests/test_codebase.py ss.                                               [  2%]
tests/test_config.py .s.s.s.s.s.s.s.s.sss.s.s.s.s.s.s.s.s                [  4%]
tests/test_constructor.py .............................................. [  6%]
........................................................................ [  8%]
........................................................................ [ 11%]
........................................................................ [ 14%]
........................................................................ [ 17%]
........................................................................ [ 20%]
........................................................................ [ 23%]
........................................................................ [ 26%]
..                                                                       [ 26%]
tests/test_convert.py .................................................. [ 28%]
........................................................................ [ 31%]
........................................................................ [ 33%]
........................................................................ [ 36%]
........................................................................ [ 39%]
........................................................................ [ 42%]
........................................................................ [ 45%]
......                                                                   [ 45%]
tests/test_dechunk.py .................................................. [ 47%]
................                                                         [ 48%]
tests/test_enum.py .................                                     [ 49%]
tests/test_filled.py ................................................... [ 51%]
........................................................................ [ 53%]
........................................................................ [ 56%]
........................................................................ [ 59%]
...........................................................ss........... [ 62%]
.ssssssssss............................................................. [ 65%]
........................................................................ [ 68%]
.........................................................ss............  [ 71%]
tests/test_internal.py ................................                  [ 72%]
tests/test_lines.py .................................................... [ 74%]
........................................................................ [ 77%]
........................................................................ [ 80%]
....................s................................................... [ 83%]
.....................................ss................................. [ 85%]
........................................................................ [ 88%]
.........................ss..........                                    [ 90%]
tests/test_minimal.py ..........................                         [ 91%]
tests/test_misc.py ..                                                    [ 91%]
tests/test_renderer.py .s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 93%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 96%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s....                                  [ 97%]
tests/test_static.py ....................................                [ 99%]
tests/test_typecheck.py ..............                                   [ 99%]
tests/test_z_interp.py ........                                          [100%]

=============================== warnings summary ===============================
tests/test_config.py:38
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_contourpy/build/tests/test_config.py:38:
 PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo?  You can 
register custom marks to avoid this warning - for details, see 
https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.flaky(reruns=1, 
condition=platform.python_implementation().startswith("PyPy"))

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========== 2394 passed, 119 skipped, 1 warning in 510.29s (0:08:30) ===========
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 
3.12" returned exit code 13
make: *** [debian/rules:7: binary-arch] Error 25
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-13T15:34:22Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/711940/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to