-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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 inspector-stop-profile-after-done #18126
Conversation
Stress test showing failure on master: Stress test for this pull request: UPDATE: Failures still happening. Bummer. |
[EDIT by @Trott: This comment is not applicable any more as the change has completely morphed into something different. Just don't want people to be confused to think that it applies to the fix that is currently there now or the message explaining it above that has been completely changed since the original posting.] |
45d9aaa
to
3e42d89
Compare
So, this is kind of interesting. The same exact branch on two different Pi 1 devices takes radically different amounts of time to run the test. Here's test-requireio_securogroup-debian7-arm_pi1p-1 taking about 13 seconds to run the test and (so far, at least) never timing out: https://ci.nodejs.org/job/node-stress-single-test/1752/nodes=pi1-raspbian-wheezy/console Here's the exact same branch running on test-requireio_mhdawson-debian7-arm_pi1p-1 and taking about 90 seconds to run the test and timing out here and there: https://ci.nodejs.org/job/node-stress-single-test-pi1-binary/31/label=pi1-raspbian-wheezy/console @nodejs/build (particularly @rvagg) any idea what the cause of the disparity might be? EDIT: Further testing seems to reveal that it gets way slower after the first failure. So the test will take 13 seconds or so an a Pi 1 until there's a timeout. Then it will take more like 90 seconds. But there doesn't seem to be a stale process, or at least not one I noticed. Maybe there is but my |
Wow, big difference. It could be that test-requireio_mhdawson-debian7-arm_pi1p-1 was having trouble at the time, maybe some background work that wasn't killed from a previous run. It could also be that test-requireio_mhdawson-debian7-arm_pi1p-1 genuinely has problems, it's one of the Pi's that I have repeated problems with—although not enough to pull it entirely. |
Actually, the links you've provided indicate that they're now working at roughly the same level, the former in the 60-70 range and the latter in the 70-80 range. Maybe it's some kind of warm-up thing? |
Yipes! Interesting... Also, they're both showing failures too. |
cc09e8d
to
1ef282b
Compare
Ping @Trott |
I'm stumped for now. |
Oh, I just had a blast-from-the-past memory about a similar problem and I now think I know what might be going on... |
Hmmm, build failure on the stress test. Let's try the fanned stress test instead: https://ci.nodejs.org/view/All/job/node-stress-single-test-pi1-fanned/33/ And for comparison, here's master: |
a9b3589
to
507e811
Compare
Trying something else: https://ci.nodejs.org/view/All/job/node-stress-single-test/1777/ |
507e811
to
2458454
Compare
So far, this latest change looks like it fixes it. Stress test: https://ci.nodejs.org/job/node-stress-single-test-pi1-binary/40/label=pi1-raspbian-wheezy/console |
bc2d911
to
cbea82d
Compare
46335e5
to
e259d26
Compare
Stress test is green! https://ci.nodejs.org/job/node-stress-single-test-pi1-binary/83/label=pi1-raspbian-wheezy/ Removing in-progress flag. |
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.
Awesome. Thanks for continuing to work on this and finally resolving it, @Trott!
Use common.platformTimeout() to give longer durations to Raspberry Pi devices to make test more reliable. PR-URL: nodejs#18126 Fixes: nodejs#16772 Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Eugene Ostroukhov <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]>
Landed in 81d73fe |
Use common.platformTimeout() to give longer durations to Raspberry Pi devices to make test more reliable. PR-URL: nodejs#18126 Fixes: nodejs#16772 Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Eugene Ostroukhov <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]>
Use common.platformTimeout() to give longer durations to Raspberry Pi devices to make test more reliable. PR-URL: nodejs#18126 Fixes: nodejs#16772 Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Eugene Ostroukhov <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]>
Use common.platformTimeout() to give longer durations to Raspberry Pi devices to make test more reliable. PR-URL: #18126 Fixes: #16772 Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Eugene Ostroukhov <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]>
In test/sequential/test-inspector-stop-profile-after-done.js, start the
profiler before running the code to avoid a race condition. If
Profile.start
is received after the debugger is waiting to disconnect,then the process will not terminate.
Fixes: #16772
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
test inspector