SciML / SciML/PDESystemLibrary.jl

advdiff3 example unstable under OrdinaryDiffEq v7.0.0 (blocks downgrade re-enable); expected unstable only on Julia ≥1.13

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

Nobody has claimed this yet.

Dominant language
Julia
Stars
26
Forks
6
Avg merge
4h 21m
Merged PRs (30d)
11

Description

After fixing the IfElse precompile bug (#52), the test suite runs on Julia 1.10 but advdiff3 fails (425 passed, 1 failed, 1 broken; deterministic over 2 runs):

Example: advdiff3: Test Failed at test/mol_test.jl:67
  Expression: sol.retcode == SciMLBase.ReturnCode.Success
   Evaluated: SciMLBase.ReturnCode.Unstable == SciMLBase.ReturnCode.Success
At t=1.137…, dt was forced below floating point epsilon. Aborting.
  • advdiff3 is defined in lib/general_linear_system.jl and does not use ifelse — unrelated to the #52 fix.
  • The test file only adds advdiff3 to BROKEN_EXAMPLES for VERSION >= v"1.13-", so on Julia 1.10 it is expected to pass — it doesn't anymore.
  • The instability appears with the new solver stack: OrdinaryDiffEq v7.0.0, OrdinaryDiffEqBDF v2.2.0, SciMLBase v3.18.0. FBDF drives dt below epsilon on this dispersive advection-diffusion case.

This blocks re-enabling PDESystemLibrary's downgrade CI (the IfElse fix #52 is independent and lands first). Maintainer decision: either (a) investigate it as an OrdinaryDiffEq v7 stiff/dispersion regression, or (b) if the new behavior is correct, mark advdiff3 broken on ≤1.12 too (not just ≥1.13). I did not loosen the assertion. (Possibly related to the other ODE 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

Start with test/mol_test.jl:67 and the advdiff3 definition in lib/general_linear_system.jl. Reproduce the failure on Julia 1.10 with the listed OrdinaryDiffEq, OrdinaryDiffEqBDF, and SciMLBase versions, then compare behavior across the relevant Julia versions. Done means establishing whether this is a solver regression or expected behavior and either documenting the upstream finding or correcting the BROKEN_EXAMPLES version condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.