-
Notifications
You must be signed in to change notification settings - Fork 519
tests: log TestSimulate to debug the shutdown deadlock #6438
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6438 +/- ##
==========================================
- Coverage 50.83% 50.65% -0.18%
==========================================
Files 664 657 -7
Lines 111455 111357 -98
==========================================
- Hits 56660 56412 -248
- Misses 51927 52071 +144
- Partials 2868 2874 +6 ☔ View full report in Codecov by Sentry. |
jannotti
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you help be understand why we have this complicated shutdown scheme in test code? It feels like this change circumvents the careful shutdown, implying it's not really needed.
|
The rationale for the non-trivial shutdown is that |
This reverts commit b98e456.
|
I had thought that the race / flaky scenario was:
I'm told this test has failed a couple times since we switched to Github Actions, most recently on the MacOS platform runner, so hopefully collecting TestSimulate.log will help understand it better |
Summary
The agreementtest package's
TestSimulatevery rarely deadlocks, with a recent example here. The stack trace in that failure shows the test goroutine blocked ininstant.shutdown()waiting on channel<-i.Z1.instantis a test-only clock implementation used by the simulation.This fetches the test logs on failure to help us better understand this failure.