Skip to content

Let an exact zero always split the matrix in xBDSQR so that an Inf cannot hang it - #1390

Open
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:bdsqr-zero-split
Open

Let an exact zero always split the matrix in xBDSQR so that an Inf cannot hang it#1390
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:bdsqr-zero-split

Conversation

@rmlarsen

@rmlarsen rmlarsen commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Disclaimer: This PR was prepared using Claude Code.

Summary

xBDSQR with singular vectors never returns when the bidiagonal matrix contains an Inf in one of its first two diagonal entries, and neither do xBDSDC with COMPQ = 'I' and the SVD drivers xGESVD and xGESDD built on them. The relative-accuracy threshold THRESH is computed from a recurrence that produces Inf/Inf = NaN for such input, and with THRESH = NaN the block search IF( ABSE.LE.THRESH ) GO TO 80 never recognises a split. The convergence test further down zeroes E( M-1 ) and jumps back to the top of the loop without touching the iteration counter, the block search does not see the zero, the test zeroes it again, and so on. This PR makes an exact zero in E always a split, which is what it already is for every finite THRESH (THRESH >= MAXITR*N*N*UNFL > 0), so the change is a no-op for finite input and closes the cycle for a NaN threshold. Four files: {s,d,c,z}bdsqr.f.

Description

With TOL >= 0 (relative accuracy, the default), the threshold is

         MU = SMINOA
         DO 40 I = 2, N
            MU = ABS( D( I ) )*( MU / ( MU+ABS( E( I-1 ) ) ) )
            SMINOA = MIN( SMINOA, MU )
   ...
         THRESH = MAX( TOL*SMINOA, MAXITR*(N*(N*UNFL)) )

For D(1) = Inf the first step evaluates Inf/Inf, SMINOA becomes NaN and so does THRESH. In the main loop every test against THRESH is then false. The block search (DO 70) therefore never finds a split, so LL = 1 and the whole matrix is the working block; the standard test ABS( E( M-1 ) ).LE.ABS( TOL )*ABS( D( M ) ) (or its forward/backward relative variants) zeroes an off-diagonal entry and executes GO TO 60, and the loop returns to the block search, which still does not see the zero. ITER is only advanced by a QR sweep, so the iteration limit is never reached. Without singular vectors xBDSQR calls xLASQ1 instead and returns.

The fix changes the split test to IF( ABSE.LE.THRESH .OR. ABSE.EQ.ZERO ). For a finite THRESH the added clause is implied by the first (THRESH is at least MAXITR*N*N*UNFL, which is positive), so the singular values and vectors of every finite matrix are unchanged, bit for bit. For a NaN THRESH every path back to the loop head now makes progress: a split shrinks the working block, a 2-by-2 block is finished by xLASV2, and a QR sweep advances ITER, so the loop ends within the existing MAXITR*N*N bound and the routine returns like it does for any other non-finite input.

Minimal reproducer

! DBDSQR with singular vectors on a 3x3 upper bidiagonal matrix with D(1) = Inf.
program minimal
  implicit none
  integer, parameter :: n = 3
  double precision :: d(n), e(n), vt(n,n), u(n,n), c(1,1), work(4*n), zero
  integer :: info, i
  zero = 0
  d = [1d0, 2d0, 3d0]
  e = [0.3d0, 0.3d0, 0d0]
  d(1) = 1/zero
  vt = 0; u = 0
  do i = 1, n
    vt(i,i) = 1; u(i,i) = 1
  end do
  call dbdsqr('U', n, n, n, 0, d, e, vt, n, u, n, c, 1, work, info)
  print '(a,i3,a,3es11.2)', 'DBDSQR: info = ', info, '  d = ', d
end program
BEFORE (master):     (no output; the call never returns)
AFTER (this branch): DBDSQR: info =   0  d =    Infinity   3.03E+00   1.98E+00

Regression test. xERRBD gets the case: a 4 by 4 bidiagonal with an infinite D(1), passed to xBDSQR with both sets of singular vectors, which must return without calling XERBLA. 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; a matrix type would additionally feed the infinity to xBDSDC and xBDSVDX, and its residual ratios would be NaN, which the RESULT( J ) .GE. THRESH comparison passes silently. On the parent commit all four xeigtst binaries stop responding at that call, so LAPACK-xeigtst{s,d,c,z}_svd_in fail by timeout; with the fix the four error-exit sections pass (SBD/DBD 56 tests, CBD/ZBD 39).

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).
  • 480 cases (DBDSQR with and without vectors, SBDSQR, ZBDSQR, DBDSDC('I'), DGESVD, DGESDD, ZGESVD; +Inf, -Inf, NaN in D(1), D(2), D(N), E(1), E(N-1); N = 2, 3, 5, 8), one process per case with a 3 s timeout: master hangs in 66 (the three xBDSQR and DBDSDC for +-Inf in D(1) or D(2) with N >= 3, the three drivers for +-Inf in D(1)); this branch returns in all 480 with the same INFO values master produces for the non-finite cases it does return from (0, or the number of unconverged off-diagonals).
  • 160 finite bidiagonal matrices (N = 1 ... 40; random, scaled to 1e-150 and to 1e100, nearly diagonal with an exact zero off-diagonal) give bit-identical singular values and vectors from DBDSQR on master and on this branch.

xBDSQR without vectors takes the xLASQ1 path; that path stops the process in XERBLA (DLASCL, parameter 4) for a NaN in D(N) and is not changed here; #1387 fixes it.

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

❌ 10 Tests Failed:

Tests completed Failed Passed Skipped
361 10 351 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_64.cblas::ctest3_64.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_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.eig::ccsd.out (COMPLEX CS Decomposition routines)
Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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
LAPACK_64.eig::sec_64.out (REAL Eigen Condition)
Stack Traces | 24.1s 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
View the full list of 74 ❄️ flaky test(s)
BLAS.blas::dblat3.out (DOUBLE PRECISION Level 3 BLAS routines)

Flake rate in main: 15.94% (Passed 633 times, Failed 120 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: 24.10% (Passed 381 times, Failed 121 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.26% (Passed 1294 times, Failed 947 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: 27.17% (Passed 1622 times, Failed 605 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: 35.75% (Passed 1438 times, Failed 800 times)

Stack Traces | 24.1s 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: 29.09% (Passed 1587 times, Failed 651 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.26% (Passed 1294 times, Failed 947 times)

Stack Traces | 0.34s 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: 27.17% (Passed 1622 times, Failed 605 times)

Stack Traces | 0.13s 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: 27.17% (Passed 1622 times, Failed 605 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 | 24.1s 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 | 24.1s 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: 39.74% (Passed 1436 times, Failed 947 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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.62% (Passed 1756 times, Failed 605 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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: 33.67% (Passed 1576 times, Failed 800 times)

Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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.40% (Passed 1725 times, Failed 651 times)

Stack Traces | 0.04s 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 39.74% (Passed 1436 times, Failed 947 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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: 34.12% (Passed 1570 times, Failed 813 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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 | 24.1s 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: 22.76% (Passed 397 times, Failed 117 times)

Stack Traces | 24.1s 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 | 24.1s 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.62% (Passed 1756 times, Failed 605 times)

Stack Traces | 0.17s 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 | 24.1s 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.

…nnot hang it

xBDSQR with singular vectors never returns for a bidiagonal matrix with
an Inf in one of its first two diagonal entries, and neither do xBDSDC
with COMPQ = 'I' and the drivers xGESVD and xGESDD built on them.  The
relative-accuracy threshold THRESH comes from a recurrence that
evaluates Inf/Inf for such input and becomes NaN; the block search
IF( ABSE.LE.THRESH ) then never recognises a split, while the
convergence test zeroes E( M-1 ) and jumps back to the top of the loop
without advancing the iteration counter.  The two chase each other
forever.  Without vectors xBDSQR calls xLASQ1 instead and returns.

Make an exact zero in E a split regardless of THRESH.  For a finite
THRESH, which is at least MAXITR*N*N*UNFL > 0, the extra clause is
implied by the existing test, so nothing changes for finite input; for
a NaN threshold every path back to the loop head now shrinks the block
or advances ITER, and the routine returns within its iteration bound
like it does for other non-finite input.

xERRBD gets the case as a regression test: a 4 by 4 bidiagonal with an
infinite D(1), passed to xBDSQR with both sets of 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; on
the parent, all four xeigtst binaries stop responding at that call.

Over 480 Inf/NaN cases (the four xBDSQR, DBDSDC, DGESVD, DGESDD,
ZGESVD; five positions; n = 2, 3, 5, 8) the parent hangs in 66, this
branch returns in all of them.  160 finite bidiagonal matrices give
bit-identical singular values and vectors 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 hang does not occur on this machine. gfortran compiles MIN to fminnm, which returns the non-NaN operand, so SMINOA and THRESH stay finite. On master and on this branch alike, DBDSQR returns INFO = 0 with d = (Inf, 3.00, 2.00) for the reproducer. The new xERRBD case therefore passes even without the fix here. On x86, where minsd propagates the NaN, it should hang 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