SciML / SciML/ModelingToolkitStandardLibrary.jl

Test suite red on master (latest MTK/SymbolicUtils): _clamp import + ExtraVariablesSystemException + fntype_X_Y; blocks downgrade re-enable

Open
#457 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
171
Forks
49
Avg merge
15h 50m
Merged PRs (30d)
10

Description

Investigated re-enabling downgrade CI. The suite fails on master with the latest deps (MTK 11.26.8, MTKBase 1.42.2, SciMLBase 3.18.0, DiffEqBase 7.5.5, OrdinaryDiffEq 7.0.0, SymbolicUtils 4.34.3) — so these are pre-existing master failures, not downgrade-floor problems:

  1. _clamp import bug (clear): test/Blocks/math.jl:4 does using ModelingToolkitStandardLibrary.Blocks: _clamp, _dead_zone, but _clamp is defined nowhere in src/ (HEAD df33dee — src/Blocks/nonlinear.jl defines only _dead_zone; Limiter uses built-in clamp). → UndefVarError: _clamp.
  2. ExtraVariablesSystemException (deeper): SISO Check, Heat flow, Mechanical sensors, AccelerationSensor build unbalanced systems out of mtkcompile under current MTK.
  3. fntype_X_Y MethodError: LinearInterpolation/BSplineInterpolation hit MethodError: no method matching fntype_X_Y(::Type{Real}) under SymbolicUtils 4.34.3.

(2) and (3) look like MTK/SymbolicUtils co-evolution breakage and reproduce at newest versions. Fixing (1) alone won't green the suite.

For when master is fixed, the resolve/precompile floors that work on Julia 1.10 (verified): ModelingToolkit ≥11.2.0 (MTK 11.0.0/11.1.0 call Base.ispublic, a Julia-1.11-only function, in @import_mtkbaseUndefVarError: ispublic on 1.10; fixed in v11.2.0), and a DiffEqBase/SciMLBase pairing that avoids both the init kwcall ambiguity (DiffEqBase <6.190.0) and the numargs rrule method-overwrite (DiffEqBase ≥6.210.1 with SciMLBase ≥2.146.0, or keep SciMLBase <2.146.0).

Downgrade CI can't be re-enabled until the master suite is green. (Possibly related to the OrdinaryDiffEq 7.0.0 issues #3721/#3722.)

From the SciML downgrade re-enablement pass.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the test suite on master with the listed latest dependency versions and begin with test/Blocks/math.jl:4 and src/Blocks/nonlinear.jl to reproduce the _clamp failure. Then isolate the ExtraVariablesSystemException cases and the fntype_X_Y failures in SISO Check, Heat flow, sensors, AccelerationSensor, LinearInterpolation, and BSplineInterpolation. Done means the master suite is green and downgrade CI can be re-enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.