Skip to content

[CI Broken] Dependency resolution failures and MethodError in MethodOfLines tests #39

@ChrisRackauckas-Claude

Description

@ChrisRackauckas-Claude

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:

  1. Dependency resolution failure in the alldeps test (Julia 1.10)
  2. 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.2 and ModelingToolkit 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:

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 a Set{SymbolicUtils.Symbolic}
  • The conversion from Pair{Symbolics.Num, Float64} to SymbolicUtils.Symbolic is not defined
  • This is happening during the TearingState construction in ModelingToolkit's structural transformation

This suggests either:

  1. An upstream breaking change in ModelingToolkit or Symbolics that PDESystemLibrary hasn't adapted to
  2. 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):

  1. Review the compat bounds in Project.toml for ModelingToolkit, Symbolics, and MethodOfLines
  2. Tighten the lower bounds if necessary to ensure a valid dependency resolution exists
  3. Consider whether the minimum versions are actually being tested in practice

For Issue 2 (MethodError):

  1. Check recent releases of ModelingToolkit and Symbolics for breaking changes
  2. Review how PDESystem parameters are being passed (look for D => 1.0 style pairs)
  3. May need to update the parameter specification format in the library systems
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions