You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of scanpy.
(optional) I have confirmed this bug exists on the master branch of scanpy.
What happened?
The test suite keeps failing with a segfault on the python=3.9 build. I haven't been able to reproduce locally.
Interestingly, I haven't seen it error when I rerun the check.
It looks like this always happens during the call to nn_approx
Minimal code sample
NA
Error output
platform linux -- Python 3.9.18, pytest-8.0.1, pluggy-1.4.0 -- /opt/hostedtoolcache/Python/3.9.18/x64/bin/python
cachedir: .pytest_cacherootdir: /home/vsts/work/1/sconfigfile: pyproject.tomltestpaths: scanpyplugins: nunit-1.0.6, mock-3.12.0
�[1mcollecting ... �[0mcollected 1474 items
scanpy/_utils/compute/is_constant.py::scanpy._utils.compute.is_constant.is_constant �[32mPASSED�[0m�[32m [ 0%]�[0m
scanpy/datasets/_ebi_expression_atlas.py::scanpy.datasets._ebi_expression_atlas.ebi_expression_atlas �[32mPASSED�[0m�[32m [ 0%]�[0m
scanpy/external/pl.py::scanpy.external.pl.phate �[33mSKIPPED�[0m (needs modul...)�[32m [ 0%]�[0m
scanpy/external/pp/_bbknn.py::scanpy.external.pp._bbknn.bbknn �[33mSKIPPED�[0m�[32m [ 0%]�[0m
scanpy/external/pp/_harmony_integrate.py::scanpy.external.pp._harmony_integrate.harmony_integrate �[32mPASSED�[0m�[32m [ 0%]�[0m
scanpy/external/pp/_hashsolo.py::scanpy.external.pp._hashsolo.hashsolo �[33mSKIPPED�[0m�[32m [ 0%]�[0m
scanpy/external/pp/_magic.py::scanpy.external.pp._magic.magic �[32mPASSED�[0m�[32m [ 0%]�[0m
scanpy/external/pp/_scanorama_integrate.py::scanpy.external.pp._scanorama_integrate.scanorama_integrate Fatal Python error: Illegal instruction
Thread 0x00007f00347c4640 (most recent call first):
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/threading.py", line 316 in wait
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/threading.py", line 581 in wait
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/tqdm/_monitor.py", line 60 in run
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Current thread 0x00007f004e08eb80 (most recent call first):
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/scanorama/scanorama.py", line 522 in nn_approx
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/scanorama/scanorama.py", line 590 in fill_table
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/scanorama/scanorama.py", line 631 in find_alignments_table
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/scanorama/scanorama.py", line 666 in find_alignments
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/scanorama/scanorama.py", line 793 in assemble
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/legacy_api_wrap/__init__.py", line 80 in fn_compatible
File "<doctest scanpy.external.pp._scanorama_integrate.scanorama_integrate[6]>", line 1 in <module>
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/doctest.py", line 1334 in __run
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/doctest.py", line 1481 in run
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/doctest.py", line 1842 in run
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/doctest.py", line 304 in runtest
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 174 in pytest_runtest_call
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_callers.py", line 102 in _multicall
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_manager.py", line 119 in _hookexec
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_hooks.py", line 501 in __call__
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 267 in <lambda>
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 346 in from_call
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 266 in call_runtest_hook
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 227 in call_and_report
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 134 in runtestprotocol
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/runner.py", line 115 in pytest_runtest_protocol
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_callers.py", line 102 in _multicall
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_manager.py", line 119 in _hookexec
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_hooks.py", line 501 in __call__
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/main.py", line 352 in pytest_runtestloop
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_callers.py", line 102 in _multicall
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_manager.py", line 119 in _hookexec
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_hooks.py", line 501 in __call__
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/main.py", line 327 in _main
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/main.py", line 273 in wrap_session
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/main.py", line 320 in pytest_cmdline_main
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_callers.py", line 102 in _multicall
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_manager.py", line 119 in _hookexec
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pluggy/_hooks.py", line 501 in __call__
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/config/__init__.py", line 175 in main
File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/_pytest/config/__init__.py", line 198 in console_main
File "/opt/hostedtoolcache/Python/3.9.18/x64/bin/pytest", line 8 in <module>
/home/vsts/work/_temp/1dc6f140-196e-4393-a84a-ebdaa5dcda61.sh: line 1: 1811 Illegal instruction (core dumped) pytest
##[error]Bash exited with code '132'.
##[section]Finishing: PyTest
Scanorama's nn_approx uses annoy, which is a package that has caused many a headache due to its instability. From my experience, these segfaults started showing up since 1.17.x got released, and tend to begin happening more consistently if anything is installed into the environment after annoy itself somehow. Downgrading to 1.16.3 via pip tends to make them go away.
It would be neat if there was some sort of more reliable workaround, keeping annoy stable and not bothering the user.
Please make sure these conditions are met
What happened?
The test suite keeps failing with a segfault on the
python=3.9
build. I haven't been able to reproduce locally.Interestingly, I haven't seen it error when I rerun the check.
It looks like this always happens during the call to
nn_approx
Minimal code sample
NA
Error output
Versions
The text was updated successfully, but these errors were encountered: