-
Notifications
You must be signed in to change notification settings - Fork 30.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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