Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test master #3094

Merged
merged 9 commits into from
Oct 9, 2024
Merged

Test master #3094

merged 9 commits into from
Oct 9, 2024

Conversation

ChrisRackauckas
Copy link
Member

No description provided.

README.md Outdated
@@ -24,6 +24,7 @@ For information on using the package,
[in-development documentation](https://docs.sciml.ai/ModelingToolkit/dev/) for the version of
the documentation which contains the unreleased features.


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaFormatter] reported by reviewdog 🐶

Suggested change

@ChrisRackauckas
Copy link
Member Author

@hersle
Copy link
Contributor

hersle commented Oct 5, 2024

It broke from the 3rd to the 1st commit between Sept. 27-28, where only DiffEqCallbacks was bumped to v4. Reverting to DiffEqCallbacks v3 does not fix it on my machine, so I think the cause is external. Maybe something solver-related in this test call?

@AayushSabharwal
Copy link
Member

AayushSabharwal commented Oct 5, 2024

@AayushSabharwal is this what you were talking about the other day?

Yes

Maybe something solver-related in this test call?

That test call fails because it uses the tstops from the previous solve, which also fails.

@hersle
Copy link
Contributor

hersle commented Oct 5, 2024

SciML/DiffEqBase.jl@f870554 breaks the test.

@ChrisRackauckas
Copy link
Member Author

Really? That's related????

@ChrisRackauckas
Copy link
Member Author

Just decrease the tolerance, that's effectively random.

@hersle
Copy link
Contributor

hersle commented Oct 5, 2024

Yeah, it seems very sensitive to the tolerance. I just did checkout on some commits until this hit.

@hersle
Copy link
Contributor

hersle commented Oct 5, 2024

using Printf
for pow in range(-10, -3)
    for fac in range(1, 9)
        reltol = fac * 10.0^pow
        sol1 = solve(prob, RosShamp4(); reltol)
        @printf "reltol = %.1E -> %s\n" reltol sol1.retcode
    end
end
after f870554                   before f870554
============================    ============================
reltol = 1.0E-10 -> Unstable    reltol = 1.0E-10 -> Unstable
reltol = 2.0E-10 -> Unstable    reltol = 2.0E-10 -> Unstable
reltol = 3.0E-10 -> Success     reltol = 3.0E-10 -> Success
reltol = 4.0E-10 -> Unstable    reltol = 4.0E-10 -> Unstable
reltol = 5.0E-10 -> Unstable    reltol = 5.0E-10 -> Unstable
reltol = 6.0E-10 -> Unstable    reltol = 6.0E-10 -> Unstable
reltol = 7.0E-10 -> Unstable    reltol = 7.0E-10 -> Unstable
reltol = 8.0E-10 -> Unstable    reltol = 8.0E-10 -> Unstable
reltol = 9.0E-10 -> Unstable    reltol = 9.0E-10 -> Unstable
reltol = 1.0E-09 -> Unstable    reltol = 1.0E-09 -> Unstable
reltol = 2.0E-09 -> Unstable    reltol = 2.0E-09 -> Unstable
reltol = 3.0E-09 -> Unstable    reltol = 3.0E-09 -> Unstable
reltol = 4.0E-09 -> Unstable    reltol = 4.0E-09 -> Unstable
reltol = 5.0E-09 -> Unstable    reltol = 5.0E-09 -> Unstable
reltol = 6.0E-09 -> Unstable    reltol = 6.0E-09 -> Unstable
reltol = 7.0E-09 -> Unstable    reltol = 7.0E-09 -> Unstable
reltol = 8.0E-09 -> Unstable    reltol = 8.0E-09 -> Unstable
reltol = 9.0E-09 -> Unstable    reltol = 9.0E-09 -> Unstable
reltol = 1.0E-08 -> Unstable    reltol = 1.0E-08 -> Unstable
reltol = 2.0E-08 -> Unstable    reltol = 2.0E-08 -> Unstable
reltol = 3.0E-08 -> Unstable    reltol = 3.0E-08 -> Unstable
reltol = 4.0E-08 -> Unstable    reltol = 4.0E-08 -> Unstable
reltol = 5.0E-08 -> Unstable    reltol = 5.0E-08 -> Unstable
reltol = 6.0E-08 -> Unstable    reltol = 6.0E-08 -> Unstable
reltol = 7.0E-08 -> Unstable    reltol = 7.0E-08 -> Unstable
reltol = 8.0E-08 -> Unstable    reltol = 8.0E-08 -> Unstable
reltol = 9.0E-08 -> Unstable    reltol = 9.0E-08 -> Unstable
reltol = 1.0E-07 -> Unstable    reltol = 1.0E-07 -> Unstable
reltol = 2.0E-07 -> Unstable    reltol = 2.0E-07 -> Unstable
reltol = 3.0E-07 -> Unstable    reltol = 3.0E-07 -> Unstable
reltol = 4.0E-07 -> Unstable    reltol = 4.0E-07 -> Unstable
reltol = 5.0E-07 -> Unstable    reltol = 5.0E-07 -> Unstable
reltol = 6.0E-07 -> Unstable    reltol = 6.0E-07 -> Unstable
reltol = 7.0E-07 -> Unstable    reltol = 7.0E-07 -> Unstable
reltol = 8.0E-07 -> Success     reltol = 8.0E-07 -> Unstable
reltol = 9.0E-07 -> Unstable    reltol = 9.0E-07 -> Unstable
reltol = 1.0E-06 -> Unstable    reltol = 1.0E-06 -> Unstable
reltol = 2.0E-06 -> Unstable    reltol = 2.0E-06 -> Unstable
reltol = 3.0E-06 -> Unstable    reltol = 3.0E-06 -> Unstable
reltol = 4.0E-06 -> Unstable    reltol = 4.0E-06 -> Unstable
reltol = 5.0E-06 -> Success     reltol = 5.0E-06 -> Unstable
reltol = 6.0E-06 -> Unstable    reltol = 6.0E-06 -> Unstable
reltol = 7.0E-06 -> Success     reltol = 7.0E-06 -> Success
reltol = 8.0E-06 -> Unstable    reltol = 8.0E-06 -> Unstable
reltol = 9.0E-06 -> Unstable    reltol = 9.0E-06 -> Success
reltol = 1.0E-05 -> Unstable    reltol = 1.0E-05 -> Unstable
reltol = 2.0E-05 -> Success     reltol = 2.0E-05 -> Success
reltol = 3.0E-05 -> Success     reltol = 3.0E-05 -> Success
reltol = 4.0E-05 -> Unstable    reltol = 4.0E-05 -> Unstable
reltol = 5.0E-05 -> Unstable    reltol = 5.0E-05 -> Unstable
reltol = 6.0E-05 -> Success     reltol = 6.0E-05 -> Success
reltol = 7.0E-05 -> Unstable    reltol = 7.0E-05 -> Unstable
reltol = 8.0E-05 -> Unstable    reltol = 8.0E-05 -> Unstable
reltol = 9.0E-05 -> Success     reltol = 9.0E-05 -> Unstable
reltol = 1.0E-04 -> Success     reltol = 1.0E-04 -> Success
reltol = 2.0E-04 -> Success     reltol = 2.0E-04 -> Success
reltol = 3.0E-04 -> Success     reltol = 3.0E-04 -> Success
reltol = 4.0E-04 -> Success     reltol = 4.0E-04 -> Unstable
reltol = 5.0E-04 -> Success     reltol = 5.0E-04 -> Success
reltol = 6.0E-04 -> Unstable    reltol = 6.0E-04 -> Unstable
reltol = 7.0E-04 -> Success     reltol = 7.0E-04 -> Success
reltol = 8.0E-04 -> Unstable    reltol = 8.0E-04 -> Unstable
reltol = 9.0E-04 -> Success     reltol = 9.0E-04 -> Success
reltol = 1.0E-03 -> Success     reltol = 1.0E-03 -> Success
reltol = 2.0E-03 -> Success     reltol = 2.0E-03 -> Success
reltol = 3.0E-03 -> Success     reltol = 3.0E-03 -> Success
reltol = 4.0E-03 -> Success     reltol = 4.0E-03 -> Success
reltol = 5.0E-03 -> Success     reltol = 5.0E-03 -> Success
reltol = 6.0E-03 -> Success     reltol = 6.0E-03 -> Success
reltol = 7.0E-03 -> Success     reltol = 7.0E-03 -> Success
reltol = 8.0E-03 -> Success     reltol = 8.0E-03 -> Success
reltol = 9.0E-03 -> Unstable    reltol = 9.0E-03 -> Unstable

@AayushSabharwal
Copy link
Member

I picked a tolerance from @hersle 's table above at the beginning of what looks like a relatively stable region

@AayushSabharwal
Copy link
Member

Huh, that passed locally

@AayushSabharwal
Copy link
Member

So far no luck in replicating any of the failures in InterfaceI

@hersle
Copy link
Contributor

hersle commented Oct 8, 2024

I got the feeling the test is not robust regardless, considering how SciML/DiffEqBase.jl@f870554 breaks it. Maybe even machine-dependent floating point operations etc. play a role.

@AayushSabharwal
Copy link
Member

That's possible, but how is it getting differently sized arrays given the tstops of the previous solve?

@AayushSabharwal
Copy link
Member

Hmm, there's this warning:

┌ Warning: At t=0.6261972386805764, dt was forced below floating point epsilon 1.1102230246251565e-16, and step error estimate = 3.138704824490307. Aborting. There is either an error in your model specification or the true solution is unstable (or the true solution can not be represented in the precision of Float64).
└ @ SciMLBase ~/.julia/packages/SciMLBase/PTTHz/src/integrator_interface.jl:609

right before the failure. Maybe the first solve is failing on CI?

@hersle
Copy link
Contributor

hersle commented Oct 8, 2024

I think that's what causes it.

@AayushSabharwal
Copy link
Member

AayushSabharwal commented Oct 8, 2024

I also fixed a failure in InterfaceII's dde tests, but it's failing differently now and is also not reproducing locally. This is really weird behavior

EDIT: Okay never mind I guess

@ChrisRackauckas ChrisRackauckas merged commit 725da10 into master Oct 9, 2024
21 of 26 checks passed
@ChrisRackauckas ChrisRackauckas deleted the ChrisRackauckas-patch-6 branch October 9, 2024 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants