SciML / SciML/PDESystemLibrary.jl
[CI Broken] Dependency resolution failures and MethodError in MethodOfLines tests
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 26
- Forks
- 6
- Avg merge
- 4h 21m
- Merged PRs (30d)
- 11
Description
CI Status: BROKEN
The master branch is currently failing CI checks. This was detected during an automated CI health check.
Test PR: #38
Failed CI Run: https://github.com/SciML/PDESystemLibrary.jl/actions/runs/20799079910
Summary
CI is broken due to two distinct issues:
- Dependency resolution failure in the
alldepstest (Julia 1.10) - MethodError in all MethodOfLines tests across all Julia versions (1, lts, pre)
Issue 1: Dependency Resolution Failure (alldeps test)
Failed Job: test (alldeps, 1.10)
Duration: 51 seconds
Log: https://github.com/SciML/PDESystemLibrary.jl/actions/runs/20799079912/job/59739857080
Error Details
ERROR: LoadError: Unsatisfiable requirements detected for package MethodOfLines [94925ecb]:
MethodOfLines [94925ecb] log:
├─possible versions are: 0.1.0-0.11.9 or uninstalled
├─restricted to versions * by project [427c309f], leaving only versions: 0.1.0-0.11.9
├─restricted by compatibility requirements with Symbolics [0c5d862f] to versions: [0.8.3-0.8.4, 0.9.0-0.11.0] or uninstalled
│ └─Symbolics [0c5d862f] log:
│ ├─possible versions are: 0.1.0-7.5.0 or uninstalled
│ └─restricted to versions 5.25.2 by an explicit requirement, leaving only versions: 5.25.2
└─restricted by compatibility requirements with ModelingToolkit [961ee093] to versions: uninstalled — no versions left
└─ModelingToolkit [961ee093] log:
├─possible versions are: 0.0.1-11.5.1 or uninstalled
├─restricted to versions 9-11 by project [427c309f], leaving only versions: 9.0.0-11.5.1
└─restricted to versions 9.0.0 by an explicit requirement, leaving only versions: 9.0.0
Root Cause
The alldeps downgrade test is attempting to find the minimum compatible versions but encounters an unsatisfiable dependency constraint:
- The downgrade resolver selected
Symbolics 5.25.2andModelingToolkit 9.0.0 - These versions are incompatible with any version of
MethodOfLines - MethodOfLines compatible with Symbolics 5.25.2 requires a newer ModelingToolkit (>9.0.0)
- This indicates the compat bounds in Project.toml may be too loose or there's a gap in the dependency graph
Issue 2: MethodError in MethodOfLines Tests
Failed Jobs:
- test (MOL, 1) - https://github.com/SciML/PDESystemLibrary.jl/actions/runs/20799079910/job/59739857043
- test (MOL, lts) - https://github.com/SciML/PDESystemLibrary.jl/actions/runs/20799079910/job/59739857039
- test (MOL, pre) - https://github.com/SciML/PDESystemLibrary.jl/actions/runs/20799079910/job/59739857038
Duration: ~28 minutes each
Error Details
All MOL examples are failing with the same error pattern:
Example: heat_1d1: Error During Test at /home/runner/work/PDESystemLibrary.jl/PDESystemLibrary.jl/test/mol_test.jl:10
Got exception outside of a @test
MethodError: Cannot `convert` an object of type
Pair{Symbolics.Num, Float64} to an object of type
SymbolicUtils.Symbolic
The function `convert` exists, but no method is defined for this combination of argument types.
Stacktrace:
[1] setindex!(h::Dict{SymbolicUtils.Symbolic, Nothing}, v0::Nothing, key0::Pair{Symbolics.Num, Float64})
@ Base ./dict.jl:346
[2] push!(s::Set{SymbolicUtils.Symbolic}, x::Pair{Symbolics.Num, Float64})
@ Base ./set.jl:137
[3] ModelingToolkit.TearingState(sys::ModelingToolkit.System; quick_cancel::Bool, check::Bool, sort_eqs::Bool)
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/Ay2JZ/src/systems/systemstructure.jl:377
Root Cause
This appears to be a type incompatibility introduced by recent changes in ModelingToolkit or Symbolics:
- The code is trying to insert a
Pair{Symbolics.Num, Float64}into aSet{SymbolicUtils.Symbolic} - The conversion from
Pair{Symbolics.Num, Float64}toSymbolicUtils.Symbolicis not defined - This is happening during the
TearingStateconstruction in ModelingToolkit's structural transformation
This suggests either:
- An upstream breaking change in ModelingToolkit or Symbolics that PDESystemLibrary hasn't adapted to
- The systems in this library are passing parameters in a format that's no longer supported
Affected Tests
Passing:
- ✅ test (NeuralPDE, 1)
- ✅ test (NeuralPDE, lts)
- ✅ test (NeuralPDE, pre)
- ✅ Spell Check with Typos
- ✅ build
Failing:
- ❌ test (MOL, 1)
- ❌ test (MOL, lts)
- ❌ test (MOL, pre)
- ❌ test (alldeps, 1.10)
Suggested Fix Approach
For Issue 1 (alldeps):
- Review the compat bounds in
Project.tomlfor ModelingToolkit, Symbolics, and MethodOfLines - Tighten the lower bounds if necessary to ensure a valid dependency resolution exists
- Consider whether the minimum versions are actually being tested in practice
For Issue 2 (MethodError):
- Check recent releases of ModelingToolkit and Symbolics for breaking changes
- Review how PDESystem parameters are being passed (look for
D => 1.0style pairs) - May need to update the parameter specification format in the library systems
- Coordinate with ModelingToolkit team if this is an upstream issue
Additional Information
- Detection Date: 2026-01-07
- All failures are reproducible across multiple Julia versions
- NeuralPDE tests pass, suggesting the issue is specific to MethodOfLines integration
cc @ChrisRackauckas
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review Project.toml compatibility bounds and rerun the alldeps job; then inspect test/mol_test.jl and the reported TearingState stack trace while reproducing the MOL jobs across Julia versions. Done means dependency resolution succeeds and all MOL tests pass in the affected matrix, with the local-versus-upstream cause established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, julia
- Domain
- build-system, ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100