-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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: fix flaky test-gc-net-timeout #23139
Conversation
There's a global.gc() invoked in an interval, and a second one in a req.setTimeout() callback. Remove the one in the callback. I'm not sure how competing global.gc() calls might result in a deadlock, but it seems plausible and empirical testing confirms that it makes the test reliable. Fixes: nodejs#23067
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.
Would this allow for moving back to parallel?
@nodejs/v8 could there be an issue with the |
Since the issue this addresses is coming up a lot in CI, I'd like to fast-track this. 👍 here if you approve fast-tracking. Thanks. |
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.
LGTM
There's a global.gc() invoked in an interval, and a second one in a req.setTimeout() callback. Remove the one in the callback. I'm not sure how competing global.gc() calls might result in a deadlock, but it seems plausible and empirical testing confirms that it makes the test reliable. Fixes: nodejs#23067 PR-URL: nodejs#23139 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Landed in ea232bd |
I'm reluctant because local testing with a big |
There's a global.gc() invoked in an interval, and a second one in a req.setTimeout() callback. Remove the one in the callback. I'm not sure how competing global.gc() calls might result in a deadlock, but it seems plausible and empirical testing confirms that it makes the test reliable. Fixes: #23067 PR-URL: #23139 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
There's a global.gc() invoked in an interval, and a second one in a req.setTimeout() callback. Remove the one in the callback. I'm not sure how competing global.gc() calls might result in a deadlock, but it seems plausible and empirical testing confirms that it makes the test reliable. Fixes: #23067 PR-URL: #23139 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
There's a global.gc() invoked in an interval, and a second one in a
req.setTimeout() callback. Remove the one in the callback. I'm not sure
how competing global.gc() calls might result in a deadlock, but it seems
plausible and empirical testing confirms that it makes the test
reliable.
Fixes: #23067
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes