Skip to content

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

Description

@ChrisRackauckas-Claude

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 fix: use Base ifelse for symbolic conditions (un-break precompile) #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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