rpds icon indicating copy to clipboard operation
rpds copied to clipboard

`tests/test_hash_trie_map.py::test_hashing - pyo3_runtime.PanicException: attempt to multiply with overflow` and more

Open mgorny opened this issue 1 year ago • 3 comments

The test suite of 0.20.0 release fails with PyO3 panics when built with --profile=dev.

To reproduce:

pip install -e . -Cbuild-args=--profile=dev
pip install pytest
pytest

Output:

========================================================= test session starts =========================================================
platform linux -- Python 3.12.4, pytest-8.3.2, pluggy-1.5.0
rootdir: /tmp/rpds
configfile: pyproject.toml
collected 116 items                                                                                                                   

tests/test_hash_trie_map.py ............F.F............................................                                         [ 50%]
tests/test_hash_trie_set.py ..F..................                                                                               [ 68%]
tests/test_list.py ...................                                                                                          [ 85%]
tests/test_queue.py .................                                                                                           [100%]

============================================================== FAILURES ===============================================================
____________________________________________________________ test_hashing _____________________________________________________________

    def test_hashing():
        o = object()
    
>       assert hash(HashTrieMap([(o, o), (1, o)])) == hash(
            HashTrieMap([(o, o), (1, o)]),
        )
E       pyo3_runtime.PanicException: attempt to multiply with overflow

tests/test_hash_trie_map.py:157: PanicException
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
thread '<unnamed>' panicked at src/lib.rs:13:5:
attempt to multiply with overflow
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
_______________________________________ test_map_does_not_hash_values_on_second_hash_invocation _______________________________________

    def test_map_does_not_hash_values_on_second_hash_invocation():
        hashable = HashabilityControlled()
        x = HashTrieMap(dict(el=hashable))
>       hash(x)
E       pyo3_runtime.PanicException: attempt to multiply with overflow

tests/test_hash_trie_map.py:196: PanicException
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
thread '<unnamed>' panicked at src/lib.rs:13:5:
attempt to multiply with overflow
____________________________________________________________ test_hashing _____________________________________________________________

    def test_hashing():
        o = object()
    
>       assert hash(HashTrieSet([o])) == hash(HashTrieSet([o]))
E       pyo3_runtime.PanicException: attempt to multiply with overflow

tests/test_hash_trie_set.py:51: PanicException
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
thread '<unnamed>' panicked at src/lib.rs:13:5:
attempt to multiply with overflow
======================================================= short test summary info =======================================================
FAILED tests/test_hash_trie_map.py::test_hashing - pyo3_runtime.PanicException: attempt to multiply with overflow
FAILED tests/test_hash_trie_map.py::test_map_does_not_hash_values_on_second_hash_invocation - pyo3_runtime.PanicException: attempt to multiply with overflow
FAILED tests/test_hash_trie_set.py::test_hashing - pyo3_runtime.PanicException: attempt to multiply with overflow
==================================================== 3 failed, 113 passed in 0.32s ====================================================

mgorny avatar Aug 07 '24 13:08 mgorny