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

MAINT: skip a few failing tests in 1.7.x for macOS arm64 #15090

Merged
merged 3 commits into from
Nov 24, 2021

Conversation

rgommers
Copy link
Member

@rgommers rgommers commented Nov 23, 2021

The damage seems very limited. With these skips, the full test suite passes for me on an arm64 Macbook with macOS 12.0.1

The zvode failures are the only ones that look somewhat worrying, but not enough to block the release on. In master those failures may be gone, at least they were when testing the pre-release wheel built from master. Otherwise it's specific to a build setup somehow.

@tylerjereddy I think this is all for the release, never mind the iqr backport.

Closes gh-15077

Unclear whether or not this only happens on macOS arm64.
Failure (see scipygh-15077):
```
_______________________________________________________ test_standard_nonsymmetric_no_convergence ________________________________________________________
scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py:505: in test_standard_nonsymmetric_no_convergence
    w, v = eigs(m, 4, which='LM', v0=m[:, 0], maxiter=5, tol=tol)
        atol       = 4.440892098500626e-13
        k          = 0
        m          = array([[0.19151945+8.93352260e-01j, 0.62210877+4.48584019e-01j,
        0.43772774+2.44383579e-01j, 0.78535858+8.14172...8112992 +8.68899271e-01j, 0.8727098 +3.75823074e-01j,
        0.66598823+2.81110432e-01j, 0.58878655+1.01350637e-01j]])
        rtol       = 4.440892098500626e-13
        tol        = 0
scipy/sparse/linalg/eigen/arpack/arpack.py:1346: in eigs
    params.iterate()
        A          = array([[0.19151945+8.93352260e-01j, 0.62210877+4.48584019e-01j,
        0.43772774+2.44383579e-01j, 0.78535858+8.14172...8112992 +8.68899271e-01j, 0.8727098 +3.75823074e-01j,
        0.66598823+2.81110432e-01j, 0.58878655+1.01350637e-01j]])
        M          = None
        M_matvec   = None
        Minv       = None
        Minv_matvec = None
        OPinv      = None
        OPpart     = None
        k          = 4
        matvec     = <bound method LinearOperator.matvec of <30x30 MatrixLinearOperator with dtype=complex128>>
        maxiter    = 5
        mode       = 1
        n          = 30
        ncv        = None
        params     = <scipy.sparse.linalg.eigen.arpack.arpack._UnsymmetricArpackParams object at 0x178b76280>
        return_eigenvectors = True
        sigma      = None
        tol        = 0
        v0         = array([0.19151945+0.89335226j, 0.86912739+0.15381227j,
       0.28525096+0.13413814j, 0.15257277+0.3618351j ,
       0...571851j,
       0.98436901+0.65821638j, 0.59697377+0.94320689j,
       0.37845461+0.79574615j, 0.02798429+0.06622806j])
        which      = 'LM'
scipy/sparse/linalg/eigen/arpack/arpack.py:756: in iterate
    self._raise_no_convergence()
        self       = <scipy.sparse.linalg.eigen.arpack.arpack._UnsymmetricArpackParams object at 0x178b76280>
        xslice     = slice(60, 90, None)
        yslice     = slice(30, 60, None)
scipy/sparse/linalg/eigen/arpack/arpack.py:376: in _raise_no_convergence
    raise ArpackNoConvergence(msg % (num_iter, k_ok, self.k), ev, vec)
E   scipy.sparse.linalg.eigen.arpack.arpack.ArpackNoConvergence: ARPACK error -1: No convergence (6 iterations, 0/4 eigenvectors converged) [ARPACK error -14: ZNAUPD did not find any eigenvalues to sufficient accuracy.]
        ev         = array([], dtype=float64)
        k_ok       = 0
        msg        = 'No convergence (%d iterations, %d/%d eigenvectors converged) [ARPACK error -14: ZNAUPD did not find any eigenvalues to sufficient accuracy.]'
        num_iter   = 6
        self       = <scipy.sparse.linalg.eigen.arpack.arpack._UnsymmetricArpackParams object at 0x178b76280>
        vec        = array([], shape=(30, 0), dtype=float64)

The above exception was the direct cause of the following exception:
scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py:510: in test_standard_nonsymmetric_no_convergence
    raise AssertionError("Spurious no-eigenvalues-found case") from err
E   AssertionError: Spurious no-eigenvalues-found case
        atol       = 4.440892098500626e-13
        k          = 0
        m          = array([[0.19151945+8.93352260e-01j, 0.62210877+4.48584019e-01j,
        0.43772774+2.44383579e-01j, 0.78535858+8.14172...8112992 +8.68899271e-01j, 0.8727098 +3.75823074e-01j,
        0.66598823+2.81110432e-01j, 0.58878655+1.01350637e-01j]])
        rtol       = 4.440892098500626e-13
        tol        = 0
```
See scipygh-15077 for details. This seems broken in 1.7.x, but perhaps
not in master (at least with the pre-release wheels). Could be a case of
different build dependencies installed, unclear. Either way,
zvode is failing in this (conda-forge) build setup, and skipping
these tests seems pragmatic.
@rgommers rgommers added scipy.integrate maintenance Items related to regular maintenance tasks labels Nov 23, 2021
@rgommers rgommers added this to the 1.7.3 milestone Nov 23, 2021
Copy link
Contributor

@tylerjereddy tylerjereddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome, thanks Ralf

@tylerjereddy tylerjereddy merged commit 1b9e907 into scipy:maintenance/1.7.x Nov 24, 2021
@rgommers rgommers deleted the arm64-17x branch November 24, 2021 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Items related to regular maintenance tasks scipy.integrate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants