Commit aa70655
Fix DataDrivenLux downgrade CI: raise IntervalArithmetic and Optim floors (#629)
The Downgrade Sublibraries / test (lib/DataDrivenLux) lane is red on master
(run 28267588245, commit eb11901): the main Downgrade lane is green, only the
DataDrivenLux sublibrary fails, and only at minimum compat versions. It
resolves and builds, then fails at runtime with 5 errors. Two distinct root
causes, both gated by [compat] lower bounds:
1. IntervalArithmetic floor 0.22.0 (4 errors).
safe_sin/safe_cos in src/utils.jl evaluate real(<f>(Complex(x))) on
x::Interval{Float64} during path-interval propagation. Base's sin(::Complex)
does `zr == 0`, which dispatches to ==(::Interval, ::Interval).
IntervalArithmetic 0.22.0-0.22.9 throw
ArgumentError("== is purposely not supported for intervals"); 0.22.10 added
the thin-interval fallback so the comparison returns a value and
sin(Complex{Interval}) works. Raise floor to 0.22.10.
2. Optim floor 1.7.6 (1 BoundsError).
BoundsError: attempt to access Float64 at index [2] in
LineSearches.var"#phidphi#2". LineSearches <= 7.5.x make_phidphi does
`f, g = value_gradient!(df, x_new)` and fails to unpack the scalar return of
ManifoldObjective.value_gradient!. LineSearches 7.6.0 switched to
value_jvp!(df, x_new, s) (a 2-tuple) and requires NLSolversBase 8. No Optim
1.x admits NLSolversBase 8 (all cap 7.9.0), so at the Optim 1.7 floor
LineSearches stays <= 7.5.x and the BoundsError persists. Optim 2.0.0 pulls
LineSearches 7.6+ / NLSolversBase 8. Require Optim = "2".
Verified locally on Julia 1.10 LTS by pinning the new floors to their minimums
(IntervalArithmetic v0.22.10, Optim v2.0.0): resolver co-installs
IntervalArithmetic 0.22.10, Optim 2.0.0, LineSearches 7.7.1, NLSolversBase
8.0.0; DataDrivenLux Core test group is 96/96 pass, 0 fail, 0 error (was 0
pass / 5 errored on the old floors).
Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>1 parent eb11901 commit aa70655
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
0 commit comments