pytries / marisa-trie

Static memory-efficient Trie-like structures for Python based on marisa-trie C++ library.
https://marisa-trie.readthedocs.io/en/latest/
MIT License
1.02k stars 91 forks source link

Test failures on armv7 and armhf, Bus error (core dumped) #96

Open PureTryOut opened 7 months ago

PureTryOut commented 7 months ago

Running the unit tests for this package on Alpine Linux reveals failures on the armhf and armv7 architectures (no other architectures):

============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
rootdir: /builds/alpine/aports/testing/py3-marisa-trie/src/marisa-trie-1.1.0
plugins: hypothesis-6.90.0
collected 71 items
tests/test_binary_trie.py ...........................                    [ 38%]
tests/test_bytes_trie.py ...........                                     [ 53%]
tests/test_packaging.py .                                                [ 54%]
tests/test_record_trie.py .                                              [ 56%]
tests/test_trie.py .......Fatal Python error: Bus error
Current thread 0xf7b79f24 (most recent call first):
  File "/builds/alpine/aports/testing/py3-marisa-trie/src/marisa-trie-1.1.0/tests/test_trie.py", line 135 in test_map_with_pad
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 793 in test
  File "/builds/alpine/aports/testing/py3-marisa-trie/src/marisa-trie-1.1.0/tests/test_trie.py", line 126 in test_map_with_pad
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 858 in run
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 705 in default_executor
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 867 in execute_once
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 926 in _execute_once_for_engine
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 174 in __stoppable_test_function
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 196 in test_function
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 1052 in cached_test_function
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 599 in generate_new_examples
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 867 in _run
  File "/usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/engine.py", line 461 in run
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 1004 in run_engine
  File "/usr/lib/python3.11/site-packages/hypothesis/core.py", line 1436 in wrapped_test
  File "/builds/alpine/aports/testing/py3-marisa-trie/src/marisa-trie-1.1.0/tests/test_trie.py", line 126 in test_map_with_pad
  File "/usr/lib/python3.11/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
  File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/usr/lib/python3.11/site-packages/_pytest/python.py", line 1792 in runtest
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
  File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 262 in <lambda>
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 341 in from_call
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 222 in call_and_report
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/usr/lib/python3.11/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350 in pytest_runtestloop
  File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325 in _main
  File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271 in wrap_session
  File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 318 in pytest_cmdline_main
  File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/usr/lib/python3.11/site-packages/_pytest/config/__init__.py", line 169 in main
  File "/usr/lib/python3.11/site-packages/_pytest/config/__init__.py", line 192 in console_main
  File "/usr/lib/python3.11/site-packages/pytest/__main__.py", line 5 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main
Extension modules: marisa_trie (total: 1)
Bus error (core dumped)

I'm unsure what is happening here :thinking:

BoboTiG commented 7 months ago

The faultive line seems: https://github.com/pytries/marisa-trie/blob/a1dc368eb0b7d7e481a1663f80dfabefa942aec8/tests/test_trie.py#L135

As of now, I've no idea at all, and thanks for the report :)

BoboTiG commented 7 months ago

The feature was added in v1.0.0 with #90.

@duilio, out of curiosity, do you have any clues?