You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LinearSolve v3.85.0/v3.85.1 (the persistent_nonstructural_zeros operator assumption + default sparse persistent-zero reduction, #1017, plus the Auto fall-back #1020) regresses downstream BoundaryValueDiffEq.jl:
ArgumentError above, already during BoundaryValueDiffEqShooting precompile
v3.85.1 (registry)
no error, but RadauIIa5 → Stalled
Only #1017 and #1020 are between v3.84.0 and v3.85.1.
Notes from attempted minimization
Direct LinearCache usage with nothing (default) solver did not reproduce wrong solutions on v3.85.1 for either Float64 or BigFloat in these scenarios:
reassigning cache.A to sparse matrices with different stored nnz (per-solve fallback worked, results correct);
constant stored pattern with stored zeros that later activate (results correct).
So the corruption/stall appears to need the actual NonlinearSolve/BVP iteration pattern (the failing case goes through NonlinearSolveBase.LinearSolveParameters with the default solver on sparse BigFloat (Sparspak) and Float64 banded/sparse BVP Jacobians). Happy to provide more instrumentation if useful.
Summary
LinearSolve v3.85.0/v3.85.1 (the
persistent_nonstructural_zerosoperator assumption + default sparse persistent-zero reduction, #1017, plus the Auto fall-back #1020) regresses downstream BoundaryValueDiffEq.jl:v3.85.0 (persistent_nonstructural_zeros operator assumption + default sparse persistent-zero reduction #1017, cdb6f77): hard
ArgumentErrorduring precompilation of BoundaryValueDiffEqShooting / BoundaryValueDiffEq (Float64 sparse Jacobians in the precompile workload):This is what turned BoundaryValueDiffEq master CI red on 2026-06-08 (run on commit 074eeb8e).
v3.85.1 (Auto-fall-back nonstructural_zeros reduction on stored-pattern changes #1020): the hard error is gone (Auto falls back to per-solve dropzeros), but BVP solves that converged with v3.84.0 now silently return
ReturnCode.Stalled:RadauIIa5()on a BigFloat two-point BVP:Successon v3.84.0 →Stalledon v3.85.1.MIRKN4()on a BigFloat second-order BVP: threw on v3.84.0 (known-broken test) → now returns aStalledsolution.This is the currently-failing
Misctest group on BoundaryValueDiffEq master CI (all of lts/1/pre),test/misc/bigfloat_test.jl.Reproduction (Julia 1.12.6)
Version bisect (BoundaryValueDiffEq master e625130a, Julia 1.12.6):
Successfor MIRK4/RadauIIa5/LobattoIIIa4 BigFloat two-pointArgumentErrorabove, already during BoundaryValueDiffEqShooting precompileStalledOnly #1017 and #1020 are between v3.84.0 and v3.85.1.
Notes from attempted minimization
Direct
LinearCacheusage withnothing(default) solver did not reproduce wrong solutions on v3.85.1 for either Float64 or BigFloat in these scenarios:cache.Ato sparse matrices with different stored nnz (per-solve fallback worked, results correct);So the corruption/stall appears to need the actual NonlinearSolve/BVP iteration pattern (the failing case goes through
NonlinearSolveBase.LinearSolveParameterswith the default solver on sparse BigFloat (Sparspak) and Float64 banded/sparse BVP Jacobians). Happy to provide more instrumentation if useful.Failing CI for reference: https://github.com/SciML/BoundaryValueDiffEq.jl/actions/runs/27135552430 (Misc group, lts/1/pre).
Related downstream issue: SciML/BoundaryValueDiffEq.jl (Misc group red on master).