-
Notifications
You must be signed in to change notification settings - Fork 233
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
intermittent CI failure: swingset test virtualObjects - virtualObjectGC #4936
Comments
I ran CI is using v16.14.0, so my next step will be to switch to that version locally and try some more. |
I gave it 3 hours on |
I just got a reproduction locally during unrelated work. I can't make it stable, though. |
If you can make it happen, even if it's stochastic with a relatively low probability, I have a minor code tweak to the virtual objects tests to try out that is what made the problem go away in the stores tests those exhibited the same flakiness. Basically, in |
We don't understand why this is necessary, but hopefully it will make these flaky tests behave more consistently. refs #4936
We don't understand why this is necessary, but hopefully it will make these flaky tests behave more consistently. refs #4936
Ok I added that |
The previous PR didn't go far enough, there are other tests in the same file that are still failing intermittently. This turns on the forceGC flag on *all* tests in test-virtualObjectGC.js refs #4936
The previous PR didn't go far enough, there are other tests in the same file that are still failing intermittently. This turns on the forceGC flag on *all* tests in test-virtualObjectGC.js refs #4936
Closing. Seems to be under control for now. |
I'm seeing intermittent CI failures which like this:
https://github.com/Agoric/agoric-sdk/runs/5706589231?check_suite_focus=true is one example.
This is probably a modern example of #3240, in which
gcAndFinalize
failed to GC or call finalizers (or called them too early?) when run under Node.js in certain circumstances (Node-v14 vs v16 made a difference). In that ticket, and PR #4644 to address some parts of it, we found a workaround: run all the tests in a singletest-foo.js
file withtest.serial()
instead oftest()
, to prevent thegcAndFinalize
from one kernel+vat interacting with the finalizers from a different test in the same file.But this test file already has that treatement applied.
I'm usually able to make this go away by forcing a re-run of the CI job, but obviously that's not a solution.
The text was updated successfully, but these errors were encountered: