Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests of version 0.6.0 fail on aarch64 #241

Open
BarrOff opened this issue Nov 10, 2024 · 5 comments
Open

Tests of version 0.6.0 fail on aarch64 #241

BarrOff opened this issue Nov 10, 2024 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@BarrOff
Copy link

BarrOff commented Nov 10, 2024

Hello

I am currently working on getting hcipy into nixpkgs.
The automatic CI of the nixpkgs project detected that some tests fail on aarch64-linux.
You can find more information about the error in the logs of the PR for nixpkgs.

The tested version is the v0.6.0 release, maybe the problem has been resolved in the meantime?
I do not have access to arm machines, so I can't check this or further debug the problem.

@FliegendeWurst
Copy link

Full stack trace

============================= test session starts ==============================
platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0
rootdir: /build/hcipy-0.6.0
configfile: pyproject.toml
plugins: cov-nixpkgs-stub-1.0.0, asdf-3.4.0
collected 361 items                                                            
tests/test_aperture.py ................................................. [ 13%]
.............s.s..............                                           [ 21%]
tests/test_atmosphere.py .s.s.s.s......                                  [ 25%]
tests/test_config.py .                                                   [ 26%]
tests/test_coronagraphy.py ........Fatal Python error: Aborted
Current thread 0x0000fffff7ff5e80 (most recent call first):
  File "/build/hcipy-0.6.0/hcipy/fourier/matrix_fourier_transform.py", line 180 in forward
  File "/build/hcipy-0.6.0/hcipy/fourier/fourier_transform.py", line 221 in inner
  File "/build/hcipy-0.6.0/hcipy/propagation/fraunhofer.py", line 70 in forward
  File "/build/hcipy-0.6.0/hcipy/optics/optical_element.py", line 758 in res
  File "/build/hcipy-0.6.0/hcipy/optics/optical_element.py", line 28 in __call__
  File "/build/hcipy-0.6.0/tests/test_coronagraphy.py", line 268 in test_lyot_coronagraph
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/python.py", line 159 in pytest_pyfunc_call
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/python.py", line 1627 in runtest
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 174 in pytest_runtest_call
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 242 in <lambda>
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 341 in from_call
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 241 in call_and_report
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 132 in runtestprotocol
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/runner.py", line 113 in pytest_runtest_protocol
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/main.py", line 362 in pytest_runtestloop
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/main.py", line 337 in _main
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/main.py", line 283 in wrap_session
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/main.py", line 330 in pytest_cmdline_main
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/nix/store/f7yp8yzjvd46awxsx8fwjx6w08znyy3k-python3.12-pluggy-1.5.0/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175 in main
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201 in console_main
  File "/nix/store/l7caivrmkb15r7iki561ga8h50imwrpc-python3.12-pytest-8.3.3/lib/python3.12/site-packages/pytest/__main__.py", line 9 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main
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, yaml._yaml, PIL._imaging, kiwisolver._cext, xxhash._xxhash, numexpr.interpreter, scipy._lib._ccallback_c, scipy._lib._uarray._uarray, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.linalg._propack._spropack, scipy.sparse.linalg._propack._dpropack, scipy.sparse.linalg._propack._cpropack, scipy.sparse.linalg._propack._zpropack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.special._ellip_harm_2, scipy.optimize._group_columns, scipy._lib.messagestream, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.spatial._ckdtree, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.spatial.transform._rotation, scipy.optimize._direct, erfa.ufunc, astropy.time._parse_times, astropy.table._column_mixins, astropy.table._np_utils, astropy.io.ascii.cparser, astropy.utils.xml._iterparser, astropy.io.fits._utils, astropy.io.fits.hdu.compressed._compression, astropy.io.votable.tablewriter, astropy.wcs._wcs, scipy.interpolate._fitpack, scipy.interpolate._dfitpack, scipy.interpolate._bspl, scipy.interpolate._ppoly, scipy.interpolate.interpnd, scipy.interpolate._rbfinterp_pythran, scipy.interpolate._rgi_cython, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, scipy.signal._sigtools, scipy.signal._max_len_seq_inner, scipy.signal._upfirdn_apply, scipy.signal._spline, scipy.signal._sosfilt, scipy.signal._spectral, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, scipy.special.cython_special, scipy.stats._stats, scipy.stats._biasedurn, scipy.stats._levy_stable.levyst, scipy.stats._stats_pythran, scipy.stats._ansari_swilk_statistics, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._mvn, scipy.stats._rcont.rcont, scipy.stats._unuran.unuran_wrapper, scipy.signal._peak_finding_utils (total: 119)

@ehpor ehpor self-assigned this Nov 11, 2024
@ehpor ehpor added the bug Something isn't working label Nov 11, 2024
@ehpor
Copy link
Owner

ehpor commented Nov 11, 2024

@BarrOff @FliegendeWurst The offending line is doing a BLAS call, which hasn't changed in the last four years. Is anything broken in the scipy.linalg.blas library that is inside nixpkgs?

CI for hcipy is performed on arm64, specifically the macos-latest runner which is Apple Silicon M1. Furthermore, I'm running HCIPy on my own machine (Apple Silicon M2 Max) for the last two years and had no problems. I don't have access to an arm64 linux machine to test this, but arm64 mac should be close enough?

@ehpor
Copy link
Owner

ehpor commented Nov 18, 2024

@BarrOff any progress? This is outside of hcipy control.

@ehpor
Copy link
Owner

ehpor commented Dec 3, 2024

@BarrOff Bump.

@FliegendeWurst
Copy link

I think you can close the issue here. We will continue investigating why our BLAS is broken in a nixpkgs issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants