Bug#1003877: libblis3-openmp: i386 triggers segfault in scipy arpack test (test_hermitian_modes)

Drew Parsons dparsons at debian.org
Mon Jan 17 13:38:20 GMT 2022


Package: libblis3-openmp
Version: 0.8.1-2
Severity: normal

debci scipy tests fail on i386 when testing against blis.

The failing test is test_arpack.py::test_hermitian_modes, which
triggers a segfault:

linalg/eigen/arpack/tests/test_arpack.py::test_symmetric_modes PASSED    [  1%]
linalg/eigen/arpack/tests/test_arpack.py::test_hermitian_modes Fatal Python error: Segmentation fault

Current thread 0xf7c0bc80 (most recent call first):
  File "/usr/lib/python3/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 879 in extract
  File "/usr/lib/python3/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 1348 in eigs
  File "/usr/lib/python3/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 1567 in eigsh
  File "/usr/lib/python3/dist-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", line 248 in eval_evec
  File "/usr/lib/python3/dist-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", line 422 in test_hermitian_modes
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83 in <lambda>
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1641 in runtest
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83 in <lambda>
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 255 in <lambda>
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 311 in from_call
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 215 in call_and_report
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83 in <lambda>
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83 in <lambda>
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 323 in _main
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 269 in wrap_session
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83 in <lambda>
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 162 in main
  File "/usr/lib/python3/dist-packages/scipy/_lib/_testutils.py", line 67 in __call__
  File "/tmp/autopkgtest-lxc.nl0r4r9g/downtmp/autopkgtest_tmp/runtest.py", line 22 in <module>
Segmentation fault
autopkgtest [13:11:32]: test blis: -----------------------]
autopkgtest [13:11:33]: test blis:  - - - - - - - - - - results - - - - - - - - - -
blis                 FAIL non-zero exit status 139


line 879 in arpack.py refers to unpacking with complex numbers:
        else:
            # complex is so much simpler...
            d, z, ierr =\
                    self._arpack_extract(return_eigenvectors,
                           howmny, sselect, self.sigma, workev,
                           self.bmat, self.which, k, self.tol, self.resid,
                           self.v, self.iparam, self.ipntr,
                           self.workd, self.workl, self.rwork, ierr)




Are there any known problems using blis with complex numbers?

The same test passes with openblas and atlas.

The latest failing test log is 2022-01-17 13:11:36 UTC
https://ci.debian.net/data/autopkgtest/unstable/i386/s/scipy/18402204/log.gz

After this, I'll disable this test in scipy/blis so that i386 can
register clean tests.



More information about the debian-science-maintainers mailing list