-
-
Notifications
You must be signed in to change notification settings - Fork 70
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
deepcopy prob.noise #496
deepcopy prob.noise #496
Conversation
If you do this, then you cannot solve with the same noise. That would be a bug. It's documented behavior that if you choose a noise and you solve with it, you solve with that noise. If you choose a noise and solve with it twice, you get the solution with that noise twice. |
Either way, I see a bug to fix. But my opinion is that it is reasonable not to mutate |
I don't see any error in As for |
Ok, this is the best I could think of. I hope deepcopying just |
We should add a keyword argument to the interface for It would be good to instead define |
When true, the default, it deepcopies the noise from and back to prob
Good idea about the keyword argument As for overloading |
Then let's go with deepcopy for now, and open an issue in DiffEqNoiseProcess about implementing a |
Oh, I need to add |
Yes |
(needs alias_noise kwd in DiffEqBase, introduced in 6.104.0)
Not sure about that test failure. |
The error in the Interface 2 test might have been "bad luck". The test file As for the errors in Interface 1 (1.0 and 1.6), I believe they have been happening since before I first started to contribute. The error report doesn't say much. In my machine, those tests just hang. |
Interface 2 was just bad luck: there are a few random seeds in there that can cause that. Interface 1, I don't know of that issue from before? Spawn null PR and see if master fails with that. If it does, we need to track that down. |
Indeed, it was not there. I probably got confused. Looking at the recent commit history, the only other place I saw the same error was on an innocent Project update commit on Aug 24 and the error was only on Interface 1, not 1.6. Could have been just bad luck too? |
This kind of kill seems scary. Retry? One way it could happen is if the CI machine goes OOM. Since the CI machines are shared with many other projects (Github actions just gives you a few cores), another project can cause the machine to OOM, so it can randomly happen (with a higher likelihood the more memory you take). |
Yeah, I didn't know the details, but that is what I imagined, that the system would hang for some reason. Retrying is a good idea. And I imagined the codecov decline is due to some tests failing and not covering what it used to? |
Do I need to make a silly commit to retrigger it or do you have other means? |
Fix something in the README 😅 |
No broken link in README so I edited some random things 😅 That same error always takes forever on my machine and I just usually kill it. Probably the CI choke at it this time as well. Hopefully it goes thru this time. |
Hmm, that is suspicious. I ran |
Yup, I used |
Force a GC call somewhere in the tests? |
GC did it! Tests passed locally. Let's wait for the CI. |
Ok, I had to move the GC inside the inner loop, but that worked, at least. |
This fixes #412 .
I noticed
deepcopy(prob.noise)
is also used at https://github.com/SciML/DiffEqNoiseProcess.jl/blob/master/src/solve.jl#L7