- Package:
- src:dm-tree
- Source:
- src:dm-tree
- Submitter:
- Maximiliano Curia
- Date:
- 2026-10-11 18:07:05 UTC
- Severity:
- normal
- Tags:
Hi!
While rebuilding the python related packages against the Python 3.15rc2
version we found that dm-tree fails to build from source [1].
The error is:
pybind11::handle::dec_ref() is being called while the GIL is either not held or invalid. Please see https://pybind11.readthedocs.io/en/stable/advanced/misc.html#common-sources-of-global-interpreter-lock-errors for debugging advice.
If you are convinced there is no bug in your code, you can #define PYBIND11_NO_ASSERT_GIL_HELD_INCREF_DECREF to disable this check. In that case you have to ensure this #define is consistently used for all translation units linked into a given pybind11 extension, otherwise there will be ODR violations. The failing pybind11::handle::dec_ref() call was triggered on a ABCMeta object.
terminate called after throwing an instance of 'std::runtime_error'
what(): pybind11::handle::dec_ref() PyGILState_Check() failure.
Aborted
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=134: cd /build/reproducible-path/dm-tree-0.1.9/.pybuild/cpython3_3.15_dm-tree/build; python3.15 -m pytest
To fix the issues I had to apply two fixes:
- Backport c9be91f8 Add support for python 3.14 [2]. Which was already
included in version 0.1.10.
- Add patch to Release static Python objects to avoid dec_ref during
finalization. This is because in Python 3.15 this triggers the
PyGILState_Check() assertion.
I've applied these fixes in the sandbox [3] to verify that it builds
successfully, please consider applying the patch to support the upcoming
3.15 version.
Setting the severity to important for now. Once Python 3.15 is released,
it will be added to python3-defaults and this bug will become release
critical.
Happy hacking,
[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4597612/
[2]: https://github.com/google-deepmind/tree/commit/c9be91f8a9b84435da0d1e25b1d4bb4e249bc612
[3]: https://debusine.debian.net/debian/r-python-python3.15/
We believe that the bug you reported is fixed in the latest version of
dm-tree, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1147230@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Maximiliano Curia <maxy@debian.org> (supplier of updated dm-tree package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 08 Sep 2026 11:05:04 +0200
Source: dm-tree
Architecture: source
Version: 0.1.9-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Changed-By: Maximiliano Curia <maxy@debian.org>
Closes: 1147230
Changes:
dm-tree (0.1.9-2) unstable; urgency=medium
.
* Team upload.
.
[ Alexandre Detiste ]
* apply Multi-Arch: hint
* drop "Rules-Requires-Root: no": it is the default now
.
[ Maximiliano Curia ]
* Backport c9be91f8 Add support for python 3.14
* Add patch to Release static Python objects to avoid dec_ref during
finalization. (Closes: #1147230)
Checksums-Sha1:
86428bfcae7642c485af161f69885ac4f808ebd2 2328 dm-tree_0.1.9-2.dsc
fd58cba866294cea621847cf4bc9258cc730f06b 7216 dm-tree_0.1.9-2.debian.tar.xz
673921d619f4935ca8c3b1ede0275505d3c9d1f0 9590 dm-tree_0.1.9-2_source.buildinfo
Checksums-Sha256:
df916cdbe2b05e9d9151d3d5fd5899ab48d5ced06837a8d60a94d07e3e4913e9 2328 dm-tree_0.1.9-2.dsc
d6e414ca6fed71c06844b060fa1d73da94f6e0d9991205903b4271cccd9c2af1 7216 dm-tree_0.1.9-2.debian.tar.xz
8bc9bc176c01008414a6bbe417725db2df2fe31339213f15290401d151d43092 9590 dm-tree_0.1.9-2_source.buildinfo
Files:
1190062119a86d16a01bcee6f5522b28 2328 python optional dm-tree_0.1.9-2.dsc
101cc1a79b5fb576cda58dde5c394af8 7216 python optional dm-tree_0.1.9-2.debian.tar.xz
05b82e3b6be8d1b38b79bcc1951e9fb6 9590 python optional dm-tree_0.1.9-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE+JIdOnQEyG4RNSIVxxl2mbKbIyoFAmrLzlYACgkQxxl2mbKb
Iyo2wA//VR65hzcIs03xp/hYaJPxPx2115VEBnsrDA1PKJmCxP51efXYeMcijMUj
JQOYjOFAuh2RR2/0Tc+EgDY9A5StHySyCj7H0H13Ku2Xx5KcsgvbnwK0H4Z4iH+B
0BYyqKE4XOdleVTWGZ4MLEJsVzvpa1wk1/4fiDv8D8fUSZL/1Rh4X1CO2Z1O0oBf
tB35cTPVBZAkGqSEoQturHarSIxJqJVPu/sCR9yvhT3XAS5Pxtf1wtekfhq6YmQe
cM0DiQcYrIfWJzERoB2jzu5svoKr5fB9ECNkX7rxVY9uaWHqNgtdwh+9H4SovFhA
Z2SRmiBUkVcvwdXY9SKIXfDkhD8Jz6uwZ+1/AQugMyNBxtTHbxU1kAl/FXwVgylz
Cn54GHx8VTVh9rpkB3IbfkGRiKRNPUYt01OZbPWEnifABQ+/T9kUTxnJtAnXEdov
XueBtBu5M96qKkrdkKoeH6bdScEoAetN/AW0qm2mEaKshaSmxN98iC1Mz7CuRQca
jYDshumRg/jLKTRJ6RpBClEsgi9qEMp6kasAa8LI7ptQEe1ocCodQL+dCBQk4JqR
au3RPTbSlXqkJjf0DYnblJo9XyoEY3NqueoBvdGU4h+CuBs9qDwQ3dVA/ZcMHouU
ri3OScYH37+9nkSxn193oe0qi0MdaDLAR3geZv1C+09Q+3fdDzs=
=VJa/
-----END PGP SIGNATURE-----