Bug#1134307: python-meshio: FTBFS: FAILED tests/test_vtu.py::test_read_from_file[01_raw_binary_int64.vtu-tetra-162-64]
Santiago Vila
sanvila at debian.org
Sat Apr 18 18:32:29 BST 2026
Package: src:python-meshio
Version: 7.0.0-really-5.3.5-6
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202604/
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 cannot 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:python-meshio, 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
debian/rules execute_after_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf src/meshio.egg-info
rm -f msh2xdmf.1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
[... snipped ...]
adding 'meshio-5.3.5.dist-info/WHEEL'
adding 'meshio-5.3.5.dist-info/entry_points.txt'
adding 'meshio-5.3.5.dist-info/top_level.txt'
adding 'meshio-5.3.5.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built meshio-5.3.5-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with "installer" module
debian/rules execute_after_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
pandoc -s -t man debian/msh2xdmf.md \
-o msh2xdmf.1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build; python3.14 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.14.4, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build
configfile: pyproject.toml
plugins: typeguard-4.4.4
collected 763 items
tests/test_abaqus.py ............... [ 1%]
tests/test_ansys.py .................. [ 4%]
tests/test_avsucd.py ........ [ 5%]
tests/test_cgns.py . [ 5%]
tests/test_cli.py .... [ 6%]
tests/test_dgf.py ... [ 6%]
tests/test_dolfin.py ..... [ 7%]
tests/test_exodus.py ................. [ 9%]
tests/test_flac3d.py ............ [ 10%]
tests/test_gmsh.py ..................................................... [ 17%]
............................................................ [ 25%]
tests/test_helpers.py ..s..s [ 26%]
tests/test_hmf.py ..............................s [ 30%]
tests/test_mdpa.py ............ [ 32%]
tests/test_med.py ...................... [ 34%]
tests/test_medit.py .............. [ 36%]
tests/test_mesh.py ..s... [ 37%]
tests/test_moab.py ...... [ 38%]
tests/test_nastran.py .............. [ 40%]
tests/test_netgen.py ................................. [ 44%]
tests/test_neuroglancer.py .. [ 44%]
tests/test_obj.py .....s [ 45%]
tests/test_off.py .. [ 45%]
tests/test_permas.py .......... [ 47%]
tests/test_ply.py .................. [ 49%]
tests/test_public.py . [ 49%]
tests/test_stl.py .... [ 50%]
tests/test_su2.py ..... [ 50%]
tests/test_svg.py ..... [ 51%]
tests/test_tecplot.py ...... [ 52%]
tests/test_tetgen.py .. [ 52%]
tests/test_ugrid.py .................................................... [ 59%]
....... [ 60%]
tests/test_vtk.py ...................................................... [ 67%]
................................................. [ 73%]
tests/test_vtu.py ...................................................... [ 80%]
........................................................FF [ 88%]
tests/test_wkt.py s.. [ 88%]
tests/test_xdmf.py ..................................................... [ 95%]
................................ [100%]
=================================== FAILURES ===================================
__________ test_read_from_file[01_raw_binary_int64.vtu-tetra-162-64] ___________
filename = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build/tests/meshes/vtu/01_raw_binary_int64.vtu')
ref_cells = 'tetra', ref_num_cells = 162, ref_num_pnt = 64
@pytest.mark.parametrize(
"filename, ref_cells, ref_num_cells, ref_num_pnt",
[
("00_raw_binary.vtu", "tetra", 162, 64),
("01_raw_binary_int64.vtu", "tetra", 162, 64),
("02_raw_compressed.vtu", "tetra", 162, 64),
],
)
def test_read_from_file(filename, ref_cells, ref_num_cells, ref_num_pnt):
this_dir = pathlib.Path(__file__).resolve().parent
filename = this_dir / "meshes" / "vtu" / filename
> mesh = meshio.read(filename)
^^^^^^^^^^^^^^^^^^^^^
tests/test_vtu.py:76:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
meshio/_helpers.py:71: in read
return _read_file(Path(filename), file_format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/_helpers.py:103: in _read_file
return reader_map[file_format](str(path))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:581: in read
reader = VtuReader(filename)
^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:393: in __init__
piece_cells[data_array.attrib["Name"]] = self.read_data(
meshio/vtu/_vtu.py:562: in read_data
data = reader(self.appended_data[offset:], dtype)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:452: in read_uncompressed_binary
byte_string = base64.b64decode(data)
^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s = b'QBQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAACAAAAAAAA...oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo='
altchars = None, validate = False
def b64decode(s, altchars=None, validate=False):
"""Decode the Base64 encoded bytes-like object or ASCII string s.
Optional altchars must be a bytes-like object or ASCII string of length 2
which specifies the alternative alphabet used instead of the '+' and '/'
characters.
The result is returned as a bytes object. A binascii.Error is raised if
s is incorrectly padded.
If validate is False (the default), characters that are neither in the
normal base-64 alphabet nor the alternative alphabet are discarded prior
to the padding check. If validate is True, these non-alphabet characters
in the input result in a binascii.Error.
For more information about the strict base64 check, see:
https://docs.python.org/3.11/library/binascii.html#binascii.a2b_base64
"""
s = _bytes_from_decode_data(s)
if altchars is not None:
altchars = _bytes_from_decode_data(altchars)
assert len(altchars) == 2, repr(altchars)
s = s.translate(bytes.maketrans(altchars, b'+/'))
> return binascii.a2b_base64(s, strict_mode=validate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E binascii.Error: Invalid base64-encoded string: number of data characters (8889) cannot be 1 more than a multiple of 4
/usr/lib/python3.14/base64.py:85: Error
___________ test_read_from_file[02_raw_compressed.vtu-tetra-162-64] ____________
filename = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build/tests/meshes/vtu/02_raw_compressed.vtu')
ref_cells = 'tetra', ref_num_cells = 162, ref_num_pnt = 64
@pytest.mark.parametrize(
"filename, ref_cells, ref_num_cells, ref_num_pnt",
[
("00_raw_binary.vtu", "tetra", 162, 64),
("01_raw_binary_int64.vtu", "tetra", 162, 64),
("02_raw_compressed.vtu", "tetra", 162, 64),
],
)
def test_read_from_file(filename, ref_cells, ref_num_cells, ref_num_pnt):
this_dir = pathlib.Path(__file__).resolve().parent
filename = this_dir / "meshes" / "vtu" / filename
> mesh = meshio.read(filename)
^^^^^^^^^^^^^^^^^^^^^
tests/test_vtu.py:76:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
meshio/_helpers.py:71: in read
return _read_file(Path(filename), file_format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/_helpers.py:103: in _read_file
return reader_map[file_format](str(path))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:581: in read
reader = VtuReader(filename)
^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:393: in __init__
piece_cells[data_array.attrib["Name"]] = self.read_data(
meshio/vtu/_vtu.py:562: in read_data
data = reader(self.appended_data[offset:], dtype)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
meshio/vtu/_vtu.py:452: in read_uncompressed_binary
byte_string = base64.b64decode(data)
^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s = b'QBQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAACAAAAAAAA...oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo='
altchars = None, validate = False
def b64decode(s, altchars=None, validate=False):
"""Decode the Base64 encoded bytes-like object or ASCII string s.
Optional altchars must be a bytes-like object or ASCII string of length 2
which specifies the alternative alphabet used instead of the '+' and '/'
characters.
The result is returned as a bytes object. A binascii.Error is raised if
s is incorrectly padded.
If validate is False (the default), characters that are neither in the
normal base-64 alphabet nor the alternative alphabet are discarded prior
to the padding check. If validate is True, these non-alphabet characters
in the input result in a binascii.Error.
For more information about the strict base64 check, see:
https://docs.python.org/3.11/library/binascii.html#binascii.a2b_base64
"""
s = _bytes_from_decode_data(s)
if altchars is not None:
altchars = _bytes_from_decode_data(altchars)
assert len(altchars) == 2, repr(altchars)
s = s.translate(bytes.maketrans(altchars, b'+/'))
> return binascii.a2b_base64(s, strict_mode=validate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E binascii.Error: Invalid base64-encoded string: number of data characters (8889) cannot be 1 more than a multiple of 4
/usr/lib/python3.14/base64.py:85: Error
=============================== warnings summary ===============================
tests/test_stl.py::test_stl[False-1e-15-mesh1]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build/meshio/stl/_stl.py:40: RuntimeWarning: overflow encountered in scalar multiply
if 84 + num_triangles * 50 == filesize_bytes:
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_vtu.py::test_read_from_file[01_raw_binary_int64.vtu-tetra-162-64]
FAILED tests/test_vtu.py::test_read_from_file[02_raw_compressed.vtu-tetra-162-64]
============= 2 failed, 755 passed, 6 skipped, 1 warning in 2.08s ==============
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_meshio/build; python3.14 -m pytest tests
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_meshio/build; python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.12, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_meshio/build
configfile: pyproject.toml
plugins: typeguard-4.4.4
collected 763 items
tests/test_abaqus.py ............... [ 1%]
tests/test_ansys.py .................. [ 4%]
tests/test_avsucd.py ........ [ 5%]
tests/test_cgns.py . [ 5%]
tests/test_cli.py .... [ 6%]
tests/test_dgf.py ... [ 6%]
tests/test_dolfin.py ..... [ 7%]
tests/test_exodus.py ................. [ 9%]
tests/test_flac3d.py ............ [ 10%]
tests/test_gmsh.py ..................................................... [ 17%]
............................................................ [ 25%]
tests/test_helpers.py ..s..s [ 26%]
tests/test_hmf.py ..............................s [ 30%]
tests/test_mdpa.py ............ [ 32%]
tests/test_med.py ...................... [ 34%]
tests/test_medit.py .............. [ 36%]
tests/test_mesh.py ..s... [ 37%]
tests/test_moab.py ...... [ 38%]
tests/test_nastran.py .............. [ 40%]
tests/test_netgen.py ................................. [ 44%]
tests/test_neuroglancer.py .. [ 44%]
tests/test_obj.py .....s [ 45%]
tests/test_off.py .. [ 45%]
tests/test_permas.py .......... [ 47%]
tests/test_ply.py .................. [ 49%]
tests/test_public.py . [ 49%]
tests/test_stl.py .... [ 50%]
tests/test_su2.py ..... [ 50%]
tests/test_svg.py ..... [ 51%]
tests/test_tecplot.py ...... [ 52%]
tests/test_tetgen.py .. [ 52%]
tests/test_ugrid.py .................................................... [ 59%]
....... [ 60%]
tests/test_vtk.py ...................................................... [ 67%]
................................................. [ 73%]
tests/test_vtu.py ...................................................... [ 80%]
.......................................................... [ 88%]
tests/test_wkt.py s.. [ 88%]
tests/test_xdmf.py ..................................................... [ 95%]
................................ [100%]
=============================== warnings summary ===============================
tests/test_stl.py::test_stl[False-1e-15-mesh1]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_meshio/build/meshio/stl/_stl.py:40: RuntimeWarning: overflow encountered in scalar multiply
if 84 + num_triangles * 50 == filesize_bytes:
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================== 757 passed, 6 skipped, 1 warning in 2.00s ===================
I: pybuild pybuild:416: find /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_meshio/build -maxdepth 1 -type f -delete
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the debian-science-maintainers
mailing list