Skip to content

Commit aa70655

Browse files
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

File tree

lib/DataDrivenLux/Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DataDrivenLux"
22
uuid = "47881146-99d0-492a-8425-8f2f33327637"
3-
version = "0.2.4"
3+
version = "0.2.5"
44
authors = ["JuliusMartensen <julius.martensen@gmail.com>"]
55

66
[deps]
@@ -45,13 +45,13 @@ Distributions = "0.25.123"
4545
DistributionsAD = "0.6"
4646
DocStringExtensions = "0.9.3"
4747
ForwardDiff = "0.10, 1"
48-
IntervalArithmetic = "0.22, 0.23, 1"
48+
IntervalArithmetic = "0.22.10, 0.23, 1"
4949
InverseFunctions = "0.1"
5050
LinearAlgebra = "1.10"
5151
Logging = "1.10"
5252
Lux = "1"
5353
LuxCore = "1"
54-
Optim = "1.7, 2"
54+
Optim = "2"
5555
Optimisers = "0.3, 0.4"
5656
OrdinaryDiffEq = "6, 7"
5757
Pkg = "1.10"

0 commit comments

Comments
 (0)