Raise ModelingToolkitBase JumpProcesses floor to 9.27.0 (fix downgrade SSAIntegrator crash)#4710
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Conversation
…e SSAIntegrator crash) The sublibrary downgrade force-min-resolves DiffEqBase 7.4.2 + SciMLBase 3.18.0 + JumpProcesses 9.26.0. DiffEqBase 7.x callbacks.jl initialize! reads integrator.derivative_discontinuity (true across the whole 7.x line up to the semver-max 7.6.0). JumpProcesses SSAIntegrator has only a u_modified field, and 9.26.0 provides no getproperty shim, so the JumpSystem Discrete Callbacks path in symbolic_events.jl crashes with 'type SSAIntegrator has no field derivative_discontinuity'. JumpProcesses 9.27.0 added the Base.getproperty/setproperty! shim on SSAIntegrator mapping :derivative_discontinuity <-> u_modified, which makes the DiffEqBase 7.x initialize! path work. Raise the floor to 9.27.0. Verified locally on Julia 1.10 (lts) with julia-downgrade-compat v2.6.1: downgrade now resolves JumpProcesses 9.27.0 + DiffEqBase 7.4.2 + SciMLBase 3.18.0 and instantiates clean (previously resolved 9.26.0 and errored in test). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the Downgrade Sublibraries / test (lib/ModelingToolkitBase) lane (still red on master after #4709).
The sublibrary downgrade force-min-resolves DiffEqBase 7.4.2 + SciMLBase 3.18.0 + JumpProcesses 9.26.0. (ModelingToolkitBase requires SciMLBase 3.x via
SciMLBase = "3.18", which forces the DiffEqBase 7.x line; DiffEqBase 6.x needs SciMLBase 2.x, so 6.x is Unsatisfiable in the min graph.)DiffEqBase 7.x
src/callbacks.jlinitialize!readsintegrator.derivative_discontinuity— this holds across the entire 7.x line (7.4.2 through the semver-max 7.6.0), so a DiffEqBase floor bump does not help. JumpProcesses'SSAIntegratorhas only au_modifiedfield and, in 9.26.0, nogetpropertyshim. So theJumpSystem Discrete Callbackstestset (test/symbolic_events.jl:612,solve(jprob, SSAStepper())) crashes at initialize! with:(CI job 85204611517:
1436 passed, 0 failed, 1 errored, 5 broken.)Fix
JumpProcesses 9.27.0 added the
Base.getproperty/Base.setproperty!shim onSSAIntegratormapping:derivative_discontinuity↔u_modified(SSA_stepper.jl:123-136), which makes the DiffEqBase 7.xinitialize!path work. Raise the floor:Validation (local, Julia 1.10 lts, julia-downgrade-compat v2.6.1)
Successfully resolved minimal versionsandPkg.instantiate()exits 0.Not addressed here (separate conflict)
The root Downgrade / InterfaceI lane fails with a different error — a Pkg
Unsatisfiable requirements detected for package ImplicitDiscreteSolveduring the test-time re-resolve (SciMLBase 3.18 forces ImplicitDiscreteSolve 2.1.2, but OrdinaryDiffEqCore 4.0.0 caps it at 2.1.1). That is a deeper SciMLBase-3.18-floor min-resolution wall, not the SSAIntegrator crash, and needs a separate floor realignment. This PR is scoped to the sublibrary SSAIntegrator crash only.Please ignore until reviewed by @ChrisRackauckas.