Skip to content

Raise BoundaryValueDiffEqMIRK floor past the RecursiveArrayTools v4 interpolation bug #4923

Description

@ChrisRackauckas-Claude

The root downgrade InterfaceI job on clean ModelingToolkit master d7f3ad5 resolves BoundaryValueDiffEqMIRK 1.14.0 with RecursiveArrayTools 4.2.0. BoundaryValueDiffEqMIRK then fails its precompile workload before the ModelingToolkit tests. This is unrelated to the one-line change in #4920.

Failing job: https://github.com/SciML/ModelingToolkit.jl/actions/runs/31368626127/job/93392397008

Exact clean standalone reproduction on Julia 1.10.11:

julialauncher +1.10 -e "using Pkg; Pkg.activate(\"bvd-min-repro-env\"); Pkg.add([PackageSpec(name=\"BoundaryValueDiffEqMIRK\", version=\"1.14.0\"), PackageSpec(name=\"RecursiveArrayTools\", version=\"4.2.0\")]); Pkg.precompile()"

Observed failure:

Failed to precompile BoundaryValueDiffEqMIRK
nested task error: MethodError: no method matching +(::CartesianIndex{2}, ::Int64)
@ BoundaryValueDiffEqMIRK .../interpolation.jl:318

The exact bug was fixed by commit 8a77971a1b3cb8f0d19b70746e3766d7e505d094 in SciML/BoundaryValueDiffEq.jl#479. Under RecursiveArrayTools v4, eachindex on VectorOfArray returns CartesianIndex values; the fix iterates the backing .u vectors. It was first released in BoundaryValueDiffEqMIRK 1.15.0.

Changing only BoundaryValueDiffEqMIRK to 1.15.0 in the same local environment makes the package precompile workload complete.

The root ModelingToolkit Project.toml currently permits BoundaryValueDiffEqMIRK 1.13.0. The focused resolution is to raise that floor to 1.15.0 and rerun the root downgrade InterfaceI job. This should be a standalone mechanical compatibility PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions