Blosc / Blosc/python-blosc2

tests fail on s390x

Abierto
#125 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
211
Forks
58
Merge medio
1 d 17 h
PR fusionados (30 d)
6

Descripción

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
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
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 :)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza con tests/test_iterchunks.py y reproduce los fallos en s390x usando pytest. Sigue el crash reportado a través de blosc2/schunk.py, especialmente get_slice e iterchunks, y compara las combinaciones de parámetros que fallan con las que pasan. Se considera terminado cuando los tests de iterchunks pasan en s390x sin fallos ni segmentation faults.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
operating-systems, testing-qa
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.