-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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: add known issue for fs.open() keeping event loop open #34228
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This seems ready for review. /ping @ronag @nodejs/fs: This is a bug, not expected behavior, right? Or is it possibly-expected behavior in certain conditions like NFS-mounted filesystems? @nodejs/fs and @nodejs/build: Any idea why this keeps the event loop open and times out on Raspberry Pi devices but works fine everywhere else? I'm guessing it has nothing to do with the Pi devices per se but is because those devices are running the tests on NFS-mounted file systems or something like that. |
This comment has been minimized.
This comment has been minimized.
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 for landing the test. No idea on the issue itself but definitely looks like a bug.
that would be my guess, although speed is another factor that regularly comes in to play - things not happening in the order you expect because everything is slowed down so much so the system gets tripped up. It could be that an unref is getting tripped up in the process and happens too late, or too soon, or something. If you close the
|
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.
I'm trying to make sense of this:
- Callback to
fs.open()
is called but the test doesn't exit (on the RPi 1's) - Call
fs.close()
from the callback and it exits?
If someone can get me access to one of the affected machines, I'll investigate. Are gdb and strace installed?
@bnoordhuis You're a member of the Build WG so should have access to the secrets repo as documented in https://github.com/nodejs/build/blob/master/doc/ssh.md. The RPI's are behind a jumpbox -- the ansible script described in the ssh doc will write that into your ssh config file for easy access, otherwise the proxy command is templated in https://github.com/nodejs/build/blob/d4b074cd221cce329ee1f31292e3114845390a56/ansible/ansible.cfg#L24 with the hosts defined in https://github.com/nodejs/build/blob/master/ansible/inventory.yml. test-requireio_williamkapke-debian10-arm64_pi3-1 (from https://ci.nodejs.org/job/node-test-binary-arm-12+/6210/RUN_SUBSET=0,label=pi3-docker/) looks like one of the machines to exhibit the issue. I just checked and that one seems to have gdb and strace installed. |
Landed in 6ae1b9c |
PR-URL: #34228 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Robert Nagy <ronagy@icloud.com>
PR-URL: #34228 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Robert Nagy <ronagy@icloud.com>
PR-URL: #34228 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Robert Nagy <ronagy@icloud.com>
Fwiw, this test is flaky on v12.x in the sense that apparently, it does succeed there occasionally. |
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes