Blosc / Blosc/python-blosc2

tests fail on s390x

Đang mở
#125 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
211
Fork
58
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với tests/test_iterchunks.py và tái hiện các lỗi trên s390x bằng pytest. Truy vết crash được báo cáo qua blosc2/schunk.py, đặc biệt là get_slice và iterchunks, đồng thời so sánh các tổ hợp tham số bị lỗi với các tổ hợp chạy thành công. Hoàn tất khi các bài kiểm thử iterchunks chạy qua trên s390x mà không có lỗi hoặc segmentation fault.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
operating-systems, testing-qa
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.