Skip to content

Return INFO = 1 from xLASQ1 instead of stopping in XERBLA when SIGMX is a NaN - #1387

Open
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:lasq1-nan-info
Open

Return INFO = 1 from xLASQ1 instead of stopping in XERBLA when SIGMX is a NaN#1387
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:lasq1-nan-info

Conversation

@rmlarsen

@rmlarsen rmlarsen commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Disclaimer: This PR was prepared using Claude Code.

Summary

xLASQ1 scales the bidiagonal matrix by its largest entry SIGMX before calling the dqds algorithm. When D or E contains a NaN that survives the MAX reductions that compute SIGMX (with gfortran: a NaN in D(N)), SIGMX is a NaN and xLASCL rejects it by stopping the process in XERBLA (On entry to DLASCL parameter number 4 had an illegal value). xBDSQR without singular vectors takes this path, and so does xGESVD with JOBU = JOBVT = 'N'. This PR returns INFO = 1 from xLASQ1 instead, which is the same mechanism #1382 uses for xLALSD and xBDSDC. xBDSQR treats every nonzero INFO from xLASQ1 as "try the QR algorithm", so it then finishes the QR iteration on the NaN data and reports the non-convergence through its own INFO, as it does for other non-finite input. Two files: {s,d}lasq1.f.

Description

      DO 20 I = 1, N
         SIGMX = MAX( SIGMX, D( I ) )
   20 CONTINUE
      ...
      CALL DLASCL( 'G', 0, 0, SIGMX, SCALE, 2*N-1, 1, WORK, 2*N-1, IINFO )

Which NaN positions reach DLASCL depends on the compiler's MAX (gfortran returns the second argument when the first is a NaN, so only a NaN in D(N) propagates; a NaN in D(1) or D(3) is dropped and the routine returns INFO = 0 with NaN output). The guard tests exactly the quantity DLASCL will reject, so it removes the abort on every compiler without changing the outcome for a NaN that does not reach SIGMX. INFO = 1 is documented ("a split was marked by a positive value in E, or the input contains a NaN").

Minimal reproducer

! DBDSQR without singular vectors on a 5x5 upper bidiagonal matrix with D(5) = NaN,
! and DGESVD('N', 'N') on the same matrix.
program minimal
  implicit none
  integer, parameter :: n = 5
  double precision :: d(n), e(n), a(n,n), s(n), u(n,n), vt(n,n), work(8*n*n+40), zero, c(1,1)
  integer :: info, i
  zero = 0
  d = [1d0, 2d0, 3d0, 4d0, 5d0]; e = 0.3d0; e(n) = 0
  d(n) = zero/zero
  a = 0
  do i = 1, n
    a(i,i) = d(i)
  end do
  do i = 1, n-1
    a(i,i+1) = e(i)
  end do
  call dbdsqr('U', n, 0, 0, 0, d, e, vt, n, u, n, c, 1, work, info)
  print '(a,i3)', 'DBDSQR (no vectors): info = ', info
  call dgesvd('N', 'N', n, n, a, n, s, u, n, vt, n, work, 8*n*n+40, info)
  print '(a,i3)', 'DGESVD(N, N):        info = ', info
end program
BEFORE (master):      ** On entry to DLASCL parameter number  4 had an illegal value   (process stops)
AFTER (this branch):  DBDSQR (no vectors): info =   4
                      DGESVD(N, N):        info =   4

Regression test. xERRBD gets the case: a 4 by 4 bidiagonal with a NaN in D(N), passed to xBDSQR without singular vectors, which must return without calling XERBLA. All four files carry it, since the complex xBDSQR reaches the same real xLASQ1. It belongs with the error-exit tests rather than in xCHKBD, because the routine returns no meaningful output for such a matrix and the point of the test is that it returns at all; as a matrix type it would also be misleading, since xCHKBD counts the fixed behaviour (IINFO > 0) as a failure while master's INFO = 0 with NaN output passes every RESULT( J ) .GE. THRESH comparison. On the parent commit the four sections report the two xLASCL illegal-argument lines and *** xBDSQR called XERBLA for a matrix with a NaN ***; with the fix they pass.

Validation

  • The full LAPACK test suite passes on this branch: 5441901 LAPACK tests, 0 numerical errors, 0 other errors, the same totals as the parent commit (ctest: 100% of 215 tests passed).
  • 120 cases (DBDSQR without vectors and DGESVD; NaN, +Inf, -Inf in five positions; N = 2, 3, 5, 8), one process per case: master stops in XERBLA in 3 of them (NaN in D(N), N >= 3, through DBDSQR), this branch in none; every other case returns the same INFO as on master.
  • DLASQ1 itself: NaN in D(1) and D(3) return INFO = 0 on both; NaN in D(5) stops the process on master and returns INFO = 1 here.
  • Finite input never takes the new branch (DISNAN( SIGMX ) is false), so results are unchanged.

DGESDD is not affected: it checks its input norm for a NaN up front and returns INFO = -4.

The INFO = 0 returns for a NaN in D(1) or D(3) above are a separate defect, reported as #1392: xLASQ3's deflation tests are written as "keep iterating while Z(...) .GT. TOL2*(...)", so a NaN operand makes every comparison false and the NaN is deflated as a converged singular value. Widening the check here from SIGMX to the whole bidiagonal would cover that too; this PR keeps to the position that stops the process.

This PR touches TESTING/EIG/{s,d,c,z}errbd.f, as #1390 does; the two blocks are independent and the textual conflict between them is a trivial one.

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

❌ 10 Tests Failed:

Tests completed Failed Passed Skipped
236 10 226 0
View the top 3 failed test(s) by shortest run time
BLAS.blas::cblat2.out (COMPLEX Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::cblat3.out (COMPLEX Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::dblat2.out (DOUBLE PRECISION Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::sblat2.out (REAL Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::sblat3.out (REAL Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::zblat2.out (COMPLEX16 Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::zblat3.out (COMPLEX16 Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::cblat2_64.out (COMPLEX Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::cblat3_64.out (COMPLEX Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::dblat2_64.out (DOUBLE PRECISION Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::dblat3_64.out (DOUBLE PRECISION Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::sblat2_64.out (REAL Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::zblat2_64.out (COMPLEX16 Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::zblat3_64.out (COMPLEX16 Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS.cblas::ctest3.out (COMPLEX C interface to Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS.cblas::dtest3.out (DOUBLE PRECISION C interface to Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS.cblas::ztest2.out (COMPLEX16 C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::ctest2_64.out (COMPLEX C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::dtest3_64.out (DOUBLE PRECISION C interface to Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::stest2_64.out (REAL C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::ztest2_64.out (COMPLEX16 C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
LAPACK_64.eig::sec_64.out (REAL Eigen Condition)
Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to STRSYL_64 parameter number  1 had an illegal value
LAPACK.eig::ccsd.out (COMPLEX CS Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CUNCSD parameter number  7 had an illegal value
LAPACK.eig::cec.out (COMPLEX Eigen Condition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CTRSYL parameter number  1 had an illegal value
LAPACK.eig::cgd.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGES parameter number  1 had an illegal value
LAPACK.eig::cgg.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGHRD parameter number  1 had an illegal value
LAPACK.eig::cglm.out (COMPLEX Generalized Linear Regression Model routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGGLM parameter number  1 had an illegal value
LAPACK.eig::cgqr.out (COMPLEX Generalized QR and RQ factorization routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGQRF parameter number  1 had an illegal value
LAPACK.eig::cgsv.out (COMPLEX Generalized Singular Value Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::clse.out (COMPLEX Constrained Linear Least Squares routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGLSE parameter number  1 had an illegal value
LAPACK.eig::csb.out (COMPLEX Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHBTRD parameter number  1 had an illegal value
LAPACK.eig::cse2.out (COMPLEX Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD parameter number  1 had an illegal value
LAPACK.eig::csep.out (COMPLEX Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD parameter number  1 had an illegal value
LAPACK.eig::csvd.out (COMPLEX Singular Value Decomposition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGEBRD parameter number  1 had an illegal value
LAPACK.eig::dcsd.out (DOUBLE PRECISION CS Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DORCSD parameter number  7 had an illegal value
LAPACK.eig::dec.out (DOUBLE PRECISION Eigen Condition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DTRSYL parameter number  1 had an illegal value
LAPACK.eig::dgd.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGES parameter number  1 had an illegal value
LAPACK.eig::dgg.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGHRD parameter number  1 had an illegal value
LAPACK.eig::dglm.out (DOUBLE PRECISION Generalized Linear Regression Model routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGGLM parameter number  1 had an illegal value
LAPACK.eig::dgqr.out (DOUBLE PRECISION Generalized QR and RQ factorization routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGQRF parameter number  1 had an illegal value
LAPACK.eig::dgsv.out (DOUBLE PRECISION Generalized Singular Value Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::dlse.out (DOUBLE PRECISION Constrained Linear Least Squares routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGLSE parameter number  1 had an illegal value
LAPACK.eig::dnep.out (DOUBLE PRECISION Nonsymmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBAL parameter number  1 had an illegal value
LAPACK.eig::dsb.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSBTRD parameter number  1 had an illegal value
LAPACK.eig::dse2.out (DOUBLE PRECISION Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD parameter number  1 had an illegal value
LAPACK.eig::dsep.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD parameter number  1 had an illegal value
LAPACK.eig::dsvd.out (DOUBLE PRECISION Singular Value Decomposition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBRD parameter number  1 had an illegal value
LAPACK.eig::scsd.out (REAL CS Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SORCSD parameter number  7 had an illegal value
LAPACK.eig::sec.out (REAL Eigen Condition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to STRSYL parameter number  1 had an illegal value
LAPACK.eig::sed.out (REAL Nonsymmetric Eigenvalue)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEEV parameter number  1 had an illegal value
LAPACK.eig::sgd.out (REAL Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGES parameter number  1 had an illegal value
LAPACK.eig::sgg.out (REAL Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGHRD parameter number  1 had an illegal value
LAPACK.eig::sglm.out (REAL Generalized Linear Regression Model routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGGLM parameter number  1 had an illegal value
LAPACK.eig::sgqr.out (REAL Generalized QR and RQ factorization routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGQRF parameter number  1 had an illegal value
LAPACK.eig::sgsv.out (REAL Generalized Singular Value Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::slse.out (REAL Constrained Linear Least Squares routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGLSE parameter number  1 had an illegal value
LAPACK.eig::ssb.out (REAL Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSBTRD parameter number  1 had an illegal value
LAPACK.eig::sse2.out (REAL Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD parameter number  1 had an illegal value
LAPACK.eig::ssep.out (REAL Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD parameter number  1 had an illegal value
LAPACK.eig::ssvd.out (REAL Singular Value Decomposition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBRD parameter number  1 had an illegal value
LAPACK.eig::zcsd.out (COMPLEX16 CS Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZUNCSD parameter number  7 had an illegal value
LAPACK.eig::zec.out (COMPLEX16 Eigen Condition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZTRSYL parameter number  1 had an illegal value
LAPACK.eig::zgd.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGES parameter number  1 had an illegal value
LAPACK.eig::zgg.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGHRD parameter number  1 had an illegal value
LAPACK.eig::zglm.out (COMPLEX16 Generalized Linear Regression Model routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGGLM parameter number  1 had an illegal value
LAPACK.eig::zgqr.out (COMPLEX16 Generalized QR and RQ factorization routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGQRF parameter number  1 had an illegal value
LAPACK.eig::zgsv.out (COMPLEX16 Generalized Singular Value Decomposition routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::zlse.out (COMPLEX16 Constrained Linear Least Squares routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGLSE parameter number  1 had an illegal value
LAPACK.eig::zsb.out (COMPLEX16 Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHBTRD parameter number  1 had an illegal value
LAPACK.eig::zse2.out (COMPLEX16 Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD parameter number  1 had an illegal value
LAPACK.eig::zsep.out (COMPLEX16 Symmetric Eigenvalue Problem)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD parameter number  1 had an illegal value
LAPACK.eig::zsvd.out (COMPLEX16 Singular Value Decomposition)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGEBRD parameter number  1 had an illegal value
LAPACK.lin::ctest.out (COMPLEX Linear Equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGETRF parameter number  1 had an illegal value
LAPACK.lin::dtest.out (DOUBLE PRECISION Linear Equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGETRF parameter number  1 had an illegal value
LAPACK.lin::stest.out (REAL Linear Equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGETRF parameter number  1 had an illegal value
LAPACK.lin::ztest.out (COMPLEX16 Linear Equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGETRF parameter number  1 had an illegal value
LAPACK.mixed::dstest.out (DOUBLE PRECISION Mixed Precision linear equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSGESV parameter number  1 had an illegal value
LAPACK.mixed::zctest.out (COMPLEX16 Mixed Precision linear equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZCGESV parameter number  1 had an illegal value
LAPACK.rfp::ctest_rfp.out (COMPLEX RFP linear equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CPFTRF parameter number  1 had an illegal value
LAPACK.rfp::dtest_rfp.out (DOUBLE PRECISION RFP linear equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DPFTRF parameter number  1 had an illegal value
LAPACK.rfp::ztest_rfp.out (COMPLEX16 RFP linear equation routines)
Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZPFTRF parameter number  1 had an illegal value
View the full list of 74 ❄️ flaky test(s)
BLAS.blas::dblat3.out (DOUBLE PRECISION Level 3 BLAS routines)

Flake rate in main: 17.09% (Passed 422 times, Failed 87 times)

Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::sblat3_64.out (REAL Level 3 BLAS routines)

Flake rate in main: 29.62% (Passed 183 times, Failed 77 times)

Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
LAPACK.eig::ced.out (COMPLEX Nonsymmetric Eigenvalue)

Flake rate in main: 42.65% (Passed 1120 times, Failed 833 times)

Stack Traces | 0.3s run time
191 numerical error(s), 14104 test(s) run
 CES:   44 out of  3812 tests failed to pass the threshold
 CEV:   82 out of  1126 tests failed to pass the threshold
 CSX:   65 out of  3994 tests failed to pass the threshold
LAPACK.eig::cnep.out (COMPLEX Nonsymmetric Eigenvalue Problem)

Flake rate in main: 26.51% (Passed 1425 times, Failed 514 times)

Stack Traces | 0.1s run time
385 numerical error(s), 48 other error(s) (illegal: 0, info: 48), 10080 test(s) run
 CCHKHS: CHSEIN(R) returned INFO=     1.
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    15.
 CHS:   81 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    13.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CCHKHS: CHSEIN(R) returned INFO=     7.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    10.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(R) returned INFO=     2.
 CCHKHS: CHSEIN(L) returned INFO=     3.
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=    13.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    11.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CHS:   79 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(L) returned INFO=     2.
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=    13.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    15.
 CHS:   84 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    11.
 CCHKHS: CHSEIN(L) returned INFO=    11.
 CHS:   69 out of  2016 tests failed to pass the threshold
LAPACK.eig::ded.out (DOUBLE PRECISION Nonsymmetric Eigenvalue)

Flake rate in main: 38.21% (Passed 1205 times, Failed 745 times)

Stack Traces | 32s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEEV parameter number  1 had an illegal value
LAPACK.eig::snep.out (REAL Nonsymmetric Eigenvalue Problem)

Flake rate in main: 28.67% (Passed 1391 times, Failed 559 times)

Stack Traces | 0.03s run time
1 numerical error(s), 10080 test(s) run
 SHS:    1 out of  2016 tests failed to pass the threshold
LAPACK.eig::zed.out (COMPLEX16 Nonsymmetric Eigenvalue)

Flake rate in main: 42.65% (Passed 1120 times, Failed 833 times)

Stack Traces | 0.33s run time
127 numerical error(s), 14078 test(s) run
 ZES:   36 out of  3816 tests failed to pass the threshold
 ZEV:   44 out of  1096 tests failed to pass the threshold
 ZSX:   47 out of  3994 tests failed to pass the threshold
LAPACK.eig::znep.out (COMPLEX16 Nonsymmetric Eigenvalue Problem)

Flake rate in main: 26.51% (Passed 1425 times, Failed 514 times)

Stack Traces | 0.12s run time
99 numerical error(s), 10080 test(s) run
 ZHS:   50 out of  2016 tests failed to pass the threshold
 ZHS:   49 out of  2016 tests failed to pass the threshold
LAPACK.rfp::stest_rfp.out (REAL RFP linear equation routines)

Flake rate in main: 26.51% (Passed 1425 times, Failed 514 times)

Stack Traces | 0.16s run time
1 numerical error(s), 13128 test(s) run
  STFSM auxiliary routine:     1 out of  7776 tests failed to pass the threshold
LAPACK_64.eig::ccsd_64.out (COMPLEX CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CUNCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::cec_64.out (COMPLEX Eigen Condition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::ced_64.out (COMPLEX Nonsymmetric Eigenvalue)

Flake rate in main: 40.14% (Passed 1242 times, Failed 833 times)

Stack Traces | 0.29s run time
191 numerical error(s), 14104 test(s) run
 CES:   44 out of  3812 tests failed to pass the threshold
 CEV:   82 out of  1126 tests failed to pass the threshold
 CSX:   65 out of  3994 tests failed to pass the threshold
LAPACK_64.eig::cgd_64.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgg_64.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::cglm_64.out (COMPLEX Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgqr_64.out (COMPLEX Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgsv_64.out (COMPLEX Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::clse_64.out (COMPLEX Constrained Linear Least Squares routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::cnep_64.out (COMPLEX Nonsymmetric Eigenvalue Problem)

Flake rate in main: 25.04% (Passed 1539 times, Failed 514 times)

Stack Traces | 0.11s run time
385 numerical error(s), 48 other error(s) (illegal: 0, info: 48), 10080 test(s) run
 CCHKHS_64: CHSEIN_64(R) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    15.
 CHS:   81 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(R) returned INFO=     7.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    10.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(R) returned INFO=     2.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     3.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CHS:   79 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(L) returned INFO=     2.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    15.
 CHS:   84 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    11.
 CHS:   69 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::csb_64.out (COMPLEX Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::cse2_64.out (COMPLEX Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::csep_64.out (COMPLEX Symmetric Eigenvalue Problem)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::csvd_64.out (COMPLEX Singular Value Decomposition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dcsd_64.out (DOUBLE PRECISION CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DORCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::dec_64.out (DOUBLE PRECISION Eigen Condition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::ded_64.out (DOUBLE PRECISION Nonsymmetric Eigenvalue)

Flake rate in main: 36.03% (Passed 1323 times, Failed 745 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEEV_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgd_64.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgg_64.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dglm_64.out (DOUBLE PRECISION Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgqr_64.out (DOUBLE PRECISION Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgsv_64.out (DOUBLE PRECISION Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::dlse_64.out (DOUBLE PRECISION Constrained Linear Least Squares routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::dnep_64.out (DOUBLE PRECISION Nonsymmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBAL_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsb_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dse2_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsep_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsvd_64.out (DOUBLE PRECISION Singular Value Decomposition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::scsd_64.out (REAL CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SORCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::sed_64.out (REAL Nonsymmetric Eigenvalue)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEEV_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgd_64.out (REAL Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgg_64.out (REAL Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::sglm_64.out (REAL Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgqr_64.out (REAL Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgsv_64.out (REAL Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::slse_64.out (REAL Constrained Linear Least Squares routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::snep_64.out (REAL Nonsymmetric Eigenvalue Problem)

Flake rate in main: 27.03% (Passed 1509 times, Failed 559 times)

Stack Traces | 0.03s run time
1 numerical error(s), 10080 test(s) run
 SHS:    1 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::ssb_64.out (REAL Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::sse2_64.out (REAL Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::ssep_64.out (REAL Symmetric Eigenvalue Problem)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::ssvd_64.out (REAL Singular Value Decomposition)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zcsd_64.out (COMPLEX16 CS Decomposition routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZUNCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::zec_64.out (COMPLEX16 Eigen Condition)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::zed_64.out (COMPLEX16 Nonsymmetric Eigenvalue)

Flake rate in main: 40.14% (Passed 1242 times, Failed 833 times)

Stack Traces | 0.33s run time
127 numerical error(s), 14078 test(s) run
 ZES:   36 out of  3816 tests failed to pass the threshold
 ZEV:   44 out of  1096 tests failed to pass the threshold
 ZSX:   47 out of  3994 tests failed to pass the threshold
LAPACK_64.eig::zgd_64.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgg_64.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zglm_64.out (COMPLEX16 Generalized Linear Regression Model routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgqr_64.out (COMPLEX16 Generalized QR and RQ factorization routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgsv_64.out (COMPLEX16 Generalized Singular Value Decomposition routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::zlse_64.out (COMPLEX16 Constrained Linear Least Squares routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::znep_64.out (COMPLEX16 Nonsymmetric Eigenvalue Problem)

Flake rate in main: 33.73% (Passed 1375 times, Failed 700 times)

Stack Traces | 0.12s run time
99 numerical error(s), 10080 test(s) run
 ZHS:   50 out of  2016 tests failed to pass the threshold
 ZHS:   49 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::zsb_64.out (COMPLEX16 Symmetric Eigenvalue Problem)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zse2_64.out (COMPLEX16 Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zsep_64.out (COMPLEX16 Symmetric Eigenvalue Problem)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zsvd_64.out (COMPLEX16 Singular Value Decomposition)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.lin::ctest_64.out (COMPLEX Linear Equation routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::dtest_64.out (DOUBLE PRECISION Linear Equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::stest_64.out (REAL Linear Equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::ztest_64.out (COMPLEX16 Linear Equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGETRF_64 parameter number  1 had an illegal value
LAPACK_64.mixed::dstest_64.out (DOUBLE PRECISION Mixed Precision linear equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSGESV_64 parameter number  1 had an illegal value
LAPACK_64.mixed::zctest_64.out (COMPLEX16 Mixed Precision linear equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZCGESV_64 parameter number  1 had an illegal value
LAPACK_64.rfp::ctest_rfp_64.out (COMPLEX RFP linear equation routines)

Flake rate in main: 30.10% (Passed 144 times, Failed 62 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CPFTRF_64 parameter number  1 had an illegal value
LAPACK_64.rfp::dtest_rfp_64.out (DOUBLE PRECISION RFP linear equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DPFTRF_64 parameter number  1 had an illegal value
LAPACK_64.rfp::stest_rfp_64.out (REAL RFP linear equation routines)

Flake rate in main: 25.04% (Passed 1539 times, Failed 514 times)

Stack Traces | 0.18s run time
1 numerical error(s), 13128 test(s) run
 STFSM_ auxiliary routine:     1 out of  7776 tests failed to pass the threshold
LAPACK_64.rfp::ztest_rfp_64.out (COMPLEX16 RFP linear equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 28.5s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZPFTRF_64 parameter number  1 had an illegal value

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

…is a NaN

xLASQ1 scales the bidiagonal matrix by its largest entry SIGMX before
running dqds.  When D or E contains a NaN that survives the MAX
reductions computing SIGMX (with gfortran, a NaN in D(N)), SIGMX is a
NaN and xLASCL rejects it by stopping the process in XERBLA.  xBDSQR
without singular vectors and xGESVD with JOBU = JOBVT = 'N' take this
path; a NaN elsewhere in D returns INFO = 0 with NaN output.

Test SIGMX with xISNAN and return INFO = 1, the mechanism Reference-LAPACK#1382 uses
for xLALSD and xBDSDC.  xBDSQR treats every nonzero INFO from xLASQ1
as a request to finish with the QR algorithm, so it then reports the
non-convergence on the NaN data through its own INFO like it does for
other non-finite input.  Finite input never takes the new branch.

xERRBD gets the case as a regression test: a 4 by 4 bidiagonal with a
NaN in D(N), passed to xBDSQR without singular vectors, which must
return without calling XERBLA.  The error-exit tests are where it
belongs, since the routine returns no meaningful output for such a
matrix and the point of the test is that it returns at all.  All four
xERRBD files carry it, because the complex xBDSQR takes the same path
through the real xLASQ1.

Over 120 NaN/Inf cases of DBDSQR without vectors and DGESVD the parent
stops in XERBLA 3 times and this branch never; every other case
returns the same INFO on both.  The full LAPACK test suite passes:
5441901 LAPACK tests, 0 numerical errors, 0 other errors, the same
totals as the parent.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@rmlarsen

rmlarsen commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Verified on an Apple M4 (macOS, Homebrew gfortran 16.2, Release build with the CI flags). With this branch merged onto current master, the full test suite passes.

Difference from x86: the defect does not occur on this machine. gfortran compiles MAX to fmaxnm, which returns the non-NaN operand, so SIGMX never becomes a NaN and xLASCL is never reached. On master and on this branch alike, DLASQ1 returns INFO = 0 with NaN output for the reproducer (the behavior of #1392). The new xERRBD case therefore passes even without the fix here. On x86, where maxsd propagates the NaN, it should fail as described.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant