Bug#1114379: silx: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
Santiago Vila
sanvila at debian.org
Fri Sep 5 19:26:23 BST 2025
Package: src:silx
Version: 2.2.1+dfsg-3
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build.
Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202509/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:silx, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
pybuild --clean -i python{version} -p 3.13
rm -rf .pybuild/
find . -name \*.pyc -exec rm {} \;
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
rm -f debian/debhelper-build-stamp
rm -rf debian/.debhelper/
rm -f -- debian/silx.substvars debian/python3-silx.substvars debian/python-silx-doc.substvars debian/files
rm -fr -- debian/silx/ debian/tmp/ debian/python3-silx/ debian/python-silx-doc/
find . \( \( \
\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
[... snipped ...]
# temporary install the scipy dataset before running the test
pybuild --test -s custom --test-args="mkdir -p {home_dir}/.cache/scipy-data/ && cp debian/dataset-ascent/ascent.dat {home_dir}/.cache/scipy-data/"
I: pybuild base:311: mkdir -p /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_silx/.cache/scipy-data/ && cp debian/dataset-ascent/ascent.dat /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_silx/.cache/scipy-data/
GPU=False WITH_QT_TEST=False SILX_OPENCL=False SILX_TEST_LOW_MEM=False \
dh_auto_test
pybuild --test --test-pytest -i python{version} -p 3.13
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_silx/build; python3.13 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.13.7, pytest-8.4.1, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_silx/build
configfile: pyproject.toml
plugins: xvfb-3.0.0, mock-3.14.1, typeguard-4.4.4
collected 2523 items
silx/app/compare/test/test_compare.py ss [ 0%]
silx/app/compare/test/test_launcher.py sssss [ 0%]
silx/app/test/test_convert.py .... [ 0%]
silx/app/utils/test/test_parseutils.py ..... [ 0%]
silx/app/view/test/test_launcher.py sssss [ 0%]
silx/app/view/test/test_plotselection.py sssss [ 1%]
silx/app/view/test/test_view.py ssssssssssssssssssssssssssssssssss [ 2%]
silx/gui/_glutils/test/test_gl.py ss [ 2%]
silx/gui/data/test/test_arraywidget.py ssssssssssssssss [ 3%]
silx/gui/data/test/test_dataviewer.py ssssssssssssssssssssssssssssssssss [ 4%]
ssssssss [ 4%]
silx/gui/data/test/test_numpyaxesselector.py sssssssss [ 5%]
silx/gui/data/test/test_textformatter.py ssssssssssssssssssssssss [ 6%]
silx/gui/dialog/test/test_colormapdialog.py ssssssssssssssssssssssssssss [ 7%]
s [ 7%]
silx/gui/dialog/test/test_datafiledialog.py ssssssssssssssssssssssssssss [ 8%]
sssssss [ 8%]
silx/gui/dialog/test/test_imagefiledialog.py sssssssssssssssssssssssssss [ 9%]
sssssss [ 9%]
silx/gui/fit/test/test_backgroundwidget.py ssss [ 10%]
silx/gui/fit/test/test_fitconfig.py ssss [ 10%]
silx/gui/fit/test/test_fitwidget.py sss [ 10%]
silx/gui/hdf5/test/test_hdf5.py ssssssssssssssssssssssssssssssssssssssss [ 11%]
sssssssssssssssssssssssssssssssssssss [ 13%]
silx/gui/plot/_utils/test/test_dtime_ticklayout.py sssss [ 13%]
silx/gui/plot/_utils/test/test_ticklayout.py sss [ 13%]
silx/gui/plot/test/test_alphaslider.py sssssssss [ 14%]
silx/gui/plot/test/test_axis.py ssss [ 14%]
silx/gui/plot/test/test_colorbar.py ssssssssss [ 14%]
silx/gui/plot/test/test_compareimages.py sssssssssssssssssssssssssssssss [ 15%]
sssssssssssssssss [ 16%]
silx/gui/plot/test/test_compleximageview.py s [ 16%]
silx/gui/plot/test/test_curvesroiwidget.py ssssssssssssss [ 17%]
silx/gui/plot/test/test_imagestack.py ssss [ 17%]
silx/gui/plot/test/test_imageview.py ssssssss [ 17%]
silx/gui/plot/test/test_interaction.py s [ 17%]
silx/gui/plot/test/test_item.py sssssssssssssssssssssssssssssssssssss [ 19%]
silx/gui/plot/test/test_legendselector.py ss [ 19%]
silx/gui/plot/test/test_limitconstraints.py sssssssss [ 19%]
silx/gui/plot/test/test_masktoolswidget.py sssss [ 19%]
silx/gui/plot/test/test_pixelintensityhistoaction.py ssss [ 19%]
silx/gui/plot/test/test_plotactions.py ss [ 20%]
silx/gui/plot/test/test_plotinteraction.py sssssssssssssssssssss [ 20%]
silx/gui/plot/test/test_plotwidget.py ssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 25%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
sssssssss [ 28%]
silx/gui/plot/test/test_plotwidgetactiveitem.py sssssssssssssssss [ 28%]
silx/gui/plot/test/test_plotwidgetdatamargins.py sssssssss [ 29%]
silx/gui/plot/test/test_plotwidgetnobackend.py sssssssssssssssssssssss [ 30%]
silx/gui/plot/test/test_plotwindow.py ssssss [ 30%]
silx/gui/plot/test/test_roistatswidget.py ssssssssssss [ 30%]
silx/gui/plot/test/test_saveaction.py ss [ 30%]
silx/gui/plot/test/test_scattermasktoolswidget.py sssss [ 31%]
silx/gui/plot/test/test_scatterview.py ss [ 31%]
silx/gui/plot/test/test_stackview.py ssssssssss [ 31%]
silx/gui/plot/test/test_stats.py sssssssssssssssssssssssssssssssss [ 32%]
silx/gui/plot/test/test_utilsaxis.py sssssssssssssss [ 33%]
silx/gui/plot/tools/test/test_curvelegendswidget.py ss [ 33%]
silx/gui/plot/tools/test/test_profile.py sssssssssss [ 34%]
silx/gui/plot/tools/test/test_roicore.py ssssssssssss [ 34%]
silx/gui/plot/tools/test/test_roiitems.py sssssssssssssssssssssssssss [ 35%]
silx/gui/plot/tools/test/test_scatterprofiletoolbar.py sss [ 35%]
silx/gui/plot/tools/test/test_tools.py sssss [ 35%]
silx/gui/plot3d/scene/test/test_transform.py s [ 35%]
silx/gui/plot3d/scene/test/test_utils.py ssssssss [ 36%]
silx/gui/plot3d/test/test_gl.py s [ 36%]
silx/gui/plot3d/test/test_scalarfieldview.py sss [ 36%]
silx/gui/plot3d/test/test_scenewidget.py s [ 36%]
silx/gui/plot3d/test/test_scenewidgetpicking.py ssssss [ 36%]
silx/gui/plot3d/test/test_scenewindow.py sssss [ 36%]
silx/gui/plot3d/test/test_statswidget.py ss [ 37%]
silx/gui/plot3d/tools/test/test_positioninfowidget.py s [ 37%]
silx/gui/test/test_colors.py sssssssssssssssssssssssssssssssssssssssssss [ 38%]
ssssss [ 39%]
silx/gui/test/test_console.py ss [ 39%]
silx/gui/test/test_icons.py ssssssssssssssss [ 39%]
silx/gui/test/test_qt.py ssss [ 39%]
silx/gui/utils/test/test_async.py sss [ 39%]
silx/gui/utils/test/test_blocksignals.py ss [ 40%]
silx/gui/utils/test/test_glutils.py ssss [ 40%]
silx/gui/utils/test/test_image.py ssssss [ 40%]
silx/gui/utils/test/test_qtutils.py sssss [ 40%]
silx/gui/utils/test/test_testutils.py s [ 40%]
silx/gui/widgets/test/test_boxlayoutdockwidget.py s [ 40%]
silx/gui/widgets/test/test_elidedlabel.py ssssssss [ 41%]
silx/gui/widgets/test/test_floatedit.py ssss [ 41%]
silx/gui/widgets/test/test_flowlayout.py s [ 41%]
silx/gui/widgets/test/test_framebrowser.py s [ 41%]
silx/gui/widgets/test/test_hierarchicaltableview.py sss [ 41%]
silx/gui/widgets/test/test_legendiconwidget.py sss [ 41%]
silx/gui/widgets/test/test_periodictable.py ssssssss [ 41%]
silx/gui/widgets/test/test_printpreview.py ssss [ 42%]
silx/gui/widgets/test/test_rangeslider.py sss [ 42%]
silx/gui/widgets/test/test_stackedprogressbar.py ssss [ 42%]
silx/gui/widgets/test/test_tablewidget.py s [ 42%]
silx/gui/widgets/test/test_threadpoolpushbutton.py sssss [ 42%]
silx/gui/widgets/test/test_urlselectiontable.py ssss [ 42%]
silx/gui/widgets/test/test_waitingoverlay.py ss [ 42%]
silx/image/marchingsquares/test/test_funcapi.py .. [ 42%]
silx/image/marchingsquares/test/test_mergeimpl.py ...................... [ 43%]
.... [ 43%]
silx/image/test/test_bb.py .... [ 44%]
silx/image/test/test_bilinear.py ...... [ 44%]
silx/image/test/test_medianfilter.py .s [ 44%]
silx/image/test/test_shapes.py ............ [ 44%]
silx/image/test/test_tomography.py ss [ 44%]
silx/io/test/test_commonh5.py ............................... [ 46%]
silx/io/test/test_dictdump.py .........................F........ [ 47%]
silx/io/test/test_fabioh5.py ................................... [ 48%]
silx/io/test/test_fioh5.py ................. [ 49%]
silx/io/test/test_h5link_utils.py . [ 49%]
silx/io/test/test_h5py_utils.py ....... [ 49%]
silx/io/test/test_nxdata.py .................... [ 50%]
silx/io/test/test_octaveh5.py .. [ 50%]
silx/io/test/test_rawh5.py ... [ 50%]
silx/io/test/test_sliceh5.py ............ [ 51%]
silx/io/test/test_specfile.py ....................s. [ 52%]
silx/io/test/test_specfilewrapper.py .......... [ 52%]
silx/io/test/test_spech5.py ............................................ [ 54%]
.. [ 54%]
silx/io/test/test_spectoh5.py ...... [ 54%]
silx/io/test/test_url.py ............................................... [ 56%]
.. [ 56%]
silx/io/test/test_utils.py ............................................. [ 58%]
....................... [ 59%]
silx/io/test/test_write_to_h5.py ... [ 59%]
silx/math/fft/test/test_fft.py ssss.ss.s [ 59%]
silx/math/fit/test/test_bgtheories.py ...... [ 60%]
silx/math/fit/test/test_filters.py ... [ 60%]
silx/math/fit/test/test_fit.py ......... [ 60%]
silx/math/fit/test/test_fitmanager.py ............. [ 60%]
silx/math/fit/test/test_functions.py .......... [ 61%]
silx/math/fit/test/test_peaks.py .......................... [ 62%]
silx/math/medianfilter/test/test_medianfilter.py ....................... [ 63%]
............ [ 63%]
silx/math/test/test_HistogramndLut_nominal.py .......................... [ 64%]
......................... [ 65%]
silx/math/test/test_calibration.py ................. [ 66%]
silx/math/test/test_colormap.py ........... [ 66%]
silx/math/test/test_combo.py ..... [ 67%]
silx/math/test/test_histogramnd_error.py ......................... [ 68%]
silx/math/test/test_histogramnd_nominal.py ............................. [ 69%]
.............................................. [ 71%]
silx/math/test/test_histogramnd_vs_np.py ....s.........s.........s...... [ 72%]
...s.........s.........s.........s.........s.........s.........s........ [ 75%]
.s.........s.........s.........s.........s.........s.........s.........s [ 78%]
.........s.........s.........s.........s.........s.........s.........s.. [ 80%]
.......s.........s..... [ 81%]
silx/math/test/test_interpolate.py .... [ 81%]
silx/math/test/test_marchingcubes.py .. [ 82%]
silx/opencl/codec/test/test_bitshuffle_lz4.py ssssssssssssssssssssssss [ 82%]
silx/opencl/codec/test/test_byte_offset.py sssssss [ 83%]
silx/opencl/test/test_addition.py sss [ 83%]
silx/opencl/test/test_array_utils.py s [ 83%]
silx/opencl/test/test_backprojection.py sss [ 83%]
silx/opencl/test/test_convolution.py sssssssssssssssssssssssssssssssssss [ 84%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 87%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
sssssssssssss [ 91%]
silx/opencl/test/test_doubleword.py sssssssss [ 91%]
silx/opencl/test/test_image.py sss [ 91%]
silx/opencl/test/test_kahan.py ss [ 91%]
silx/opencl/test/test_linalg.py sss [ 91%]
silx/opencl/test/test_medfilt.py s [ 91%]
silx/opencl/test/test_projection.py s [ 91%]
silx/opencl/test/test_sparse.py ss [ 91%]
silx/opencl/test/test_stats.py s [ 92%]
silx/test/test_resources.py ................................ [ 93%]
silx/test/test_sx.py ssssssss [ 93%]
silx/test/test_version.py . [ 93%]
silx/utils/test/test_array_like.py ..................... [ 94%]
silx/utils/test/test_debug.py .... [ 94%]
silx/utils/test/test_deprecation.py ....... [ 94%]
silx/utils/test/test_enum.py . [ 94%]
silx/utils/test/test_external_resources.py ss [ 95%]
silx/utils/test/test_launcher.py ............... [ 95%]
silx/utils/test/test_number.py .......................... [ 96%]
silx/utils/test/test_proxy.py ............................... [ 97%]
silx/utils/test/test_retry.py ...... [ 98%]
silx/utils/test/test_testutils.py ....... [ 98%]
silx/utils/test/test_weakref.py ........................................ [100%]
=================================== FAILURES ===================================
______________________________ test_dicttonx_pint ______________________________
tmp_h5py_file = <HDF5 file "<_io.BytesIO object at 0x7faa94714b30>" (mode r+)>
@pytest.mark.skipif(pint is None, reason="Require pint")
def test_dicttonx_pint(tmp_h5py_file):
ureg = pint.UnitRegistry()
treedict = {
"array_mm": pint.Quantity([1, 2, 3], ureg.mm),
"value_kg": 3 * ureg.kg,
}
> dictdump.dicttonx(treedict, tmp_h5py_file)
silx/io/test/test_dictdump.py:836:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
silx/io/dictdump.py:737: in dicttonx
nxtreedict = nexus_to_h5_dict(treedict, parents=parents, add_nx_class=add_nx_class)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
silx/io/dictdump.py:480: in nexus_to_h5_dict
copy[(key, "units")] = f"{value.units:~C}"
^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pint/facets/plain/unit.py:67: in __format__
return self._REGISTRY.formatter.format_unit(self, spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pint/delegates/formatter/full.py:138: in format_unit
return self.get_formatter(uspec).format_unit(
/usr/lib/python3/dist-packages/pint/delegates/formatter/plain.py:209: in format_unit
numerator, denominator = prepare_compount_unit(
/usr/lib/python3/dist-packages/pint/delegates/formatter/_compound_unit_helpers.py:297: in prepare_compount_unit
numerator = sort_func(numerator, registry)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pint/delegates/formatter/_compound_unit_helpers.py:189: in sort_by_unit_name
return sorted(items, key=lambda el: el[2])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pint/delegates/formatter/_compound_unit_helpers.py:160: in to_symbol_exponent_name
return registry._get_symbol(el[0]), el[1], el[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pint/facets/plain/registry.py:711: in _get_symbol
return self._units[name].symbol
^^^^^^^^^^^^^^^^^
/usr/lib/python3.13/collections/__init__.py:1019: in __getitem__
return self.__missing__(key) # support subclasses that define __missing__
^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = ChainMap({'meter': UnitDefinition(name='meter', defined_symbol='m', aliases=('metre',), converter=ScaleConverter(scale...se', defined_symbol='cP', aliases=(), converter=ScaleConverter(scale=0.01), reference=<UnitsContainer({'poise': 1})>)})
key = 'millimeter'
def __missing__(self, key):
> raise KeyError(key)
E KeyError: 'millimeter'
/usr/lib/python3.13/collections/__init__.py:1011: KeyError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/jupyter_client/connect.py:22
/usr/lib/python3/dist-packages/jupyter_client/connect.py:22: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
given by the platformdirs library. To remove this warning and
see the appropriate new directories, set the environment variable
`JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
The use of platformdirs will be the default in `jupyter_core` v6
from jupyter_core.paths import jupyter_data_dir, jupyter_runtime_dir, secure_write
../../../../../../usr/lib/python3/dist-packages/pytools/persistent_dict.py:52
/usr/lib/python3/dist-packages/pytools/persistent_dict.py:52: RecommendedHashNotFoundWarning: Unable to import recommended hash 'siphash24.siphash13', falling back to 'hashlib.sha256'. Run 'python3 -m pip install siphash24' to install the recommended hash.
warn("Unable to import recommended hash 'siphash24.siphash13', "
silx/io/test/test_h5py_utils.py: 10 warnings
/usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=398) is multi-threaded, use of fork() may lead to deadlocks in the child.
self.pid = os.fork()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED silx/io/test/test_dictdump.py::test_dicttonx_pint - KeyError: 'millime...
========== 1 failed, 1152 passed, 1370 skipped, 12 warnings in 21.81s ==========
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_silx/build; python3.13 -m pytest
rm -fr -- /tmp/dh-xdg-rundir-3K5065Zw
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
make[1]: *** [debian/rules:68: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:28: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
More information about the debian-science-maintainers
mailing list