Blosc / python-blosc2

https://www.blosc.org/python-blosc2
Other
79 stars 19 forks source link

tests fail on s390x #125

Open keszybz opened 1 year ago

keszybz commented 1 year ago

When building the Fedora package for version 2.2.2, s390x fails with:

============================= test session starts ==============================
platform linux -- Python 3.12.0b4, pytest-7.3.2, pluggy-1.0.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /builddir/build/BUILD/python-blosc2-2.2.2
configfile: pytest.ini
collecting ... collected 1023 items
tests/test_bytes_array.py::test_bytes_array[True-] PASSED                [  0%]
tests/test_bytes_array.py::test_bytes_array[True-1111111] PASSED         [  0%]
tests/test_bytes_array.py::test_bytes_array[False-] PASSED               [  0%]
tests/test_bytes_array.py::test_bytes_array[False-1111111] PASSED        [  0%]
tests/test_bytes_array.py::test_bytearray[data0] PASSED                  [  0%]
tests/test_bytes_array.py::test_bytearray[data1] PASSED                  [  0%]
tests/test_comp_info.py::test_comp_info[Codec.BLOSCLZ] PASSED            [  0%]
tests/test_comp_info.py::test_comp_info[Codec.LZ4] PASSED                [  0%]
tests/test_comp_info.py::test_comp_info[Codec.LZ4HC] PASSED              [  0%]
tests/test_comp_info.py::test_comp_info[Codec.ZLIB] PASSED               [  0%]
tests/test_comp_info.py::test_comp_info[Codec.ZSTD] PASSED               [  1%]
tests/test_compress2.py::test_compress2_numpy[obj0-cparams0-dparams0] PASSED [  1%]
tests/test_compress2.py::test_compress2_numpy[obj1-cparams1-dparams1] PASSED [  1%]
tests/test_compress2.py::test_compress2_numpy[obj2-cparams2-dparams2] PASSED [  1%]
tests/test_compress2.py::test_compress2_numpy[obj3-cparams3-dparams3] PASSED [  1%]
tests/test_compress2.py::test_compress2_numpy[obj4-cparams4-dparams4] PASSED [  1%]
tests/test_compress2.py::test_compress2_numpy[obj5-cparams5-dparams5] PASSED [  1%]
tests/test_compress2.py::test_compress2[7-cparams0-dparams0] PASSED      [  1%]
tests/test_compress2.py::test_compress2[641091-cparams1-dparams1] PASSED [  1%]
tests/test_compress2.py::test_compress2[136-cparams2-dparams2] PASSED    [  1%]
tests/test_compress2.py::test_compress2[1231-cparams3-dparams3] PASSED   [  2%]
tests/test_compress2.py::test_raise_error[object0-cparams0-dparams0] PASSED [  2%]
tests/test_compress2.py::test_raise_error[-cparams1-dparams1] PASSED     [  2%]
tests/test_compression_parameters.py::test_compression_parameters[2-0] PASSED [  2%]
tests/test_compression_parameters.py::test_compression_parameters[1-30] PASSED [  2%]
tests/test_compression_parameters.py::test_compression_parameters[4-5] PASSED [  2%]
tests/test_compressors.py::test_compressors[Filter.NOFILTER-8-Codec.BLOSCLZ] PASSED [  2%]
tests/test_compressors.py::test_compressors[Filter.NOFILTER-9-Codec.LZ4] PASSED [  2%]
tests/test_compressors.py::test_compressors[Filter.NOFILTER-3-Codec.LZ4HC] PASSED [  2%]
tests/test_compressors.py::test_compressors[Filter.NOFILTER-5-Codec.ZLIB] PASSED [  2%]
tests/test_compressors.py::test_compressors[Filter.NOFILTER-2-Codec.ZSTD] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.SHUFFLE-8-Codec.BLOSCLZ] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.SHUFFLE-9-Codec.LZ4] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.SHUFFLE-3-Codec.LZ4HC] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.SHUFFLE-5-Codec.ZLIB] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.SHUFFLE-2-Codec.ZSTD] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.BITSHUFFLE-8-Codec.BLOSCLZ] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.BITSHUFFLE-9-Codec.LZ4] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.BITSHUFFLE-3-Codec.LZ4HC] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.BITSHUFFLE-5-Codec.ZLIB] PASSED [  3%]
tests/test_compressors.py::test_compressors[Filter.BITSHUFFLE-2-Codec.ZSTD] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.DELTA-8-Codec.BLOSCLZ] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.DELTA-9-Codec.LZ4] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.DELTA-3-Codec.LZ4HC] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.DELTA-5-Codec.ZLIB] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.DELTA-2-Codec.ZSTD] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.TRUNC_PREC-8-Codec.BLOSCLZ] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.TRUNC_PREC-9-Codec.LZ4] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.TRUNC_PREC-3-Codec.LZ4HC] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.TRUNC_PREC-5-Codec.ZLIB] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.TRUNC_PREC-2-Codec.ZSTD] PASSED [  4%]
tests/test_compressors.py::test_compressors[Filter.NDCELL-8-Codec.BLOSCLZ] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDCELL-9-Codec.LZ4] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDCELL-3-Codec.LZ4HC] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDCELL-5-Codec.ZLIB] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDCELL-2-Codec.ZSTD] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDMEAN-8-Codec.BLOSCLZ] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDMEAN-9-Codec.LZ4] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDMEAN-3-Codec.LZ4HC] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDMEAN-5-Codec.ZLIB] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.NDMEAN-2-Codec.ZSTD] PASSED [  5%]
tests/test_compressors.py::test_compressors[Filter.BYTEDELTA-8-Codec.BLOSCLZ] PASSED [  6%]
tests/test_compressors.py::test_compressors[Filter.BYTEDELTA-9-Codec.LZ4] PASSED [  6%]
tests/test_compressors.py::test_compressors[Filter.BYTEDELTA-3-Codec.LZ4HC] PASSED [  6%]
tests/test_compressors.py::test_compressors[Filter.BYTEDELTA-5-Codec.ZLIB] PASSED [  6%]
tests/test_compressors.py::test_compressors[Filter.BYTEDELTA-2-Codec.ZSTD] PASSED [  6%]
tests/test_decompress.py::test_decompress_numpy[object0-Codec.LZ4] PASSED [  6%]
tests/test_decompress.py::test_decompress_numpy[object1-Codec.BLOSCLZ] PASSED [  6%]
tests/test_decompress.py::test_decompress_numpy[object2-Codec.LZ4HC] PASSED [  6%]
tests/test_decompress.py::test_decompress_numpy[object3-Codec.ZLIB] PASSED [  6%]
tests/test_decompress.py::test_decompress_numpy[object4-Codec.ZSTD] PASSED [  6%]
tests/test_decompress.py::test_decompress[object0-Codec.LZ4] PASSED      [  7%]
tests/test_decompress.py::test_decompress[object1-Codec.BLOSCLZ] PASSED  [  7%]
tests/test_decompress.py::test_decompress[A string-Codec.LZ4HC] PASSED   [  7%]
tests/test_decompress.py::test_decompress[object3-Codec.ZSTD] PASSED     [  7%]
tests/test_decompress.py::test_raise_error[object0-Codec.LZ4] PASSED     [  7%]
tests/test_decompress.py::test_raise_error[-Codec.ZLIB] PASSED           [  7%]
tests/test_iterchunks.py::test_iterchunks[cparams0-dparams0-0-None-True] PASSED [  7%]
tests/test_iterchunks.py::test_iterchunks[cparams0-dparams0-0-None-False] PASSED [  7%]
tests/test_iterchunks.py::test_iterchunks[cparams0-dparams0-0-b2frame-True] PASSED [  7%]
tests/test_iterchunks.py::test_iterchunks[cparams0-dparams0-0-b2frame-False] PASSED [  7%]
tests/test_iterchunks.py::test_iterchunks[cparams1-dparams1-1-None-True] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams1-dparams1-1-None-False] PASSED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams1-dparams1-1-b2frame-True] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams1-dparams1-1-b2frame-False] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams2-dparams2-5-None-True] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams2-dparams2-5-None-False] PASSED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams2-dparams2-5-b2frame-True] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams2-dparams2-5-b2frame-False] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams3-dparams3-10-None-True] FAILED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams3-dparams3-10-None-False] PASSED [  8%]
tests/test_iterchunks.py::test_iterchunks[cparams3-dparams3-10-b2frame-True] Fatal Python error: Segmentation fault
Current thread 0x000003ff9ebf7720 (most recent call first):
  File "/builddir/build/BUILDROOT/python-blosc2-2.2.2-3.fc39.s390x/usr/lib64/python3.12/site-packages/blosc2/schunk.py", line 520 in get_slice
  File "/builddir/build/BUILDROOT/python-blosc2-2.2.2-3.fc39.s390x/usr/lib64/python3.12/site-packages/blosc2/schunk.py", line 625 in iterchunks
  File "/builddir/build/BUILD/python-blosc2-2.2.2/tests/test_iterchunks.py", line 38 in test_iterchunks
  File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1799 in runtest
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 262 in <lambda>
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341 in from_call
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 222 in call_and_report
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 323 in _main
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 166 in main
  File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 189 in console_main
  File "/usr/bin/pytest", line 8 in <module>
Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, msgpack._cmsgpack, blosc2.blosc2_ext, ndindex.ndindex, ndindex.shapetools, ndindex._crt, ndindex.subindex_helpers, ndindex.array, ndindex.ellipsis, ndindex.newaxis, ndindex.integer, ndindex.booleanarray, ndindex.integerarray, ndindex.tuple, ndindex.slice, ndindex.chunking, ndindex._version, ndindex, psutil._psutil_linux, psutil._psutil_posix (total: 32)
/var/tmp/rpm-tmp.Zehlg7: line 52:   708 Segmentation fault      (core dumped) CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" PATH="/builddir/build/BUILDROOT/python-blosc2-2.2.2-3.fc39.s390x/usr/bin:$PATH" PYTHONPATH="${PYTHONPATH:-/builddir/build/BUILDROOT/python-blosc2-2.2.2-3.fc39.s390x/usr/lib64/python3.12/site-packages:/builddir/build/BUILDROOT/python-blosc2-2.2.2-3.fc39.s390x/usr/lib/python3.12/site-packages}" PYTHONDONTWRITEBYTECODE=1 PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} --ignore=/builddir/build/BUILD/python-blosc2-2.2.2/.pyproject-builddir" PYTEST_XDIST_AUTO_NUM_WORKERS=3 /usr/bin/pytest tests/ -v

This is with python3-3.12.0~b4-1.fc39 and python3-numpy-1:1.24.3-2.fc39.

Unfortunately I can't provide much more information than this, I don't have access to the machine. I'd be happy to try patches though :)

keszybz commented 1 year ago

With --deselect to skip the first failing test:

tests/test_open.py::test_open[w-cparams0-dparams0-0-50-int16-schunk.b2frame-True] Fatal Python error: Segmentation fault
Current thread 0x000003ffabef7720 (most recent call first):
  File "/builddir/build/BUILDROOT/python-blosc2-2.2.2-4.fc39.s390x/usr/lib64/python3.12/site-packages/blosc2/schunk.py", line 926 in open
  File "/builddir/build/BUILD/python-blosc2-2.2.2/tests/test_open.py", line 42 in test_open
  File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1799 in runtest
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 262 in <lambda>
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341 in from_call
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 222 in call_and_report
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 323 in _main
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 166 in main
  File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 189 in console_main
  File "/usr/bin/pytest", line 8 in <module>
Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, msgpack._cmsgpack, blosc2.blosc2_ext, ndindex.ndindex, ndindex.shapetools, ndindex._crt, ndindex.subindex_helpers, ndindex.array, ndindex.ellipsis, ndindex.newaxis, ndindex.integer, ndindex.booleanarray, ndindex.integerarray, ndindex.tuple, ndindex.slice, ndindex.chunking, ndindex._version, ndindex, psutil._psutil_linux, psutil._psutil_posix (total: 32)
/var/tmp/rpm-tmp.YFmUyS: line 57:   708 Segmentation fault      (core dumped) CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" PATH="/builddir/build/BUILDROOT/python-blosc2-2.2.2-4.fc39.s390x/usr/bin:$PATH" PYTHONPATH="${PYTHONPATH:-/builddir/build/BUILDROOT/python-blosc2-2.2.2-4.fc39.s390x/usr/lib64/python3.12/site-packages:/builddir/build/BUILDROOT/python-blosc2-2.2.2-4.fc39.s390x/usr/lib/python3.12/site-packages}" PYTHONDONTWRITEBYTECODE=1 PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} --ignore=/builddir/build/BUILD/python-blosc2-2.2.2/.pyproject-builddir" PYTEST_XDIST_AUTO_NUM_WORKERS=3 /usr/bin/pytest tests/ "${OPTIONS[@]}" -v
FrancescAlted commented 1 year ago

This issue stems from https://github.com/Blosc/c-blosc2/issues/467