-
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
CHECK failure in ResetStdio on >=12.5.0 #28479
Comments
Same issue here
|
Same here :/
|
cc @bnoordhuis it looks like this is from 5872705 |
Same issue with protractor testing (npm run e2e). [On Mac OS X running protractor tests in terminal window of vs code] |
@devsnek Are you on macOS? This doesn’t seem to happen with Linux, which makes it hard to debug for me. In any case, it might be good to know what Also, side note, another, different issue with the same commit was reported: #24260 (comment) |
@addaleax i'm on arch linux. i'll compile it to print errno and report back |
i found out, just doing require('child_process').spawn('node', ['test/test262.js'], {
stdio: 'inherit',
}); output is:
from: diff --git a/src/node.cc b/src/node.cc
index 9b4328d2ec..fb00ea023c 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -692,6 +692,7 @@ void ResetStdio() {
do
err = tcsetattr(fd, TCSANOW, &s.termios);
while (err == -1 && errno == EINTR); // NOLINT
+ printf("errno %d\n", errno);
CHECK_NE(err, -1);
}
}
|
Errno 5 is EIO. Basically the kernel is saying something went wrong without going into specifics, but I guess it's because the tty went away somehow. I'll open a PR to accept that error. |
EIO has been observed to be returned by the Linux kernel under some circumstances. Reading through drivers/tty/tty_io*.c, it seems to indicate the tty went away. Of course none of this is documented. Fixes: nodejs#28479
The fix will be available in the next node release |
EIO has been observed to be returned by the Linux kernel under some circumstances. Reading through drivers/tty/tty_io*.c, it seems to indicate the tty went away. Of course none of this is documented. Fixes: #28479 PR-URL: #28490 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gus Caplan <[email protected]>
EIO has been observed to be returned by the Linux kernel under some circumstances. Reading through drivers/tty/tty_io*.c, it seems to indicate the tty went away. Of course none of this is documented. Fixes: #28479 PR-URL: #28490 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gus Caplan <[email protected]>
We might be a background job that doesn't own the TTY so block SIGTTOU before making the tcsetattr() call, otherwise that signal suspends us. This is a better fix than PR nodejs#28490 for issue nodejs#28479. Fixes: nodejs#28530 Fixes: nodejs#28479 Refs: nodejs#28490
We might be a background job that doesn't own the TTY so block SIGTTOU before making the tcsetattr() call, otherwise that signal suspends us. This is a better fix than PR nodejs#28490 for issue nodejs#28479. Fixes: nodejs#28530 Fixes: nodejs#28479 Refs: nodejs#28490 PR-URL: nodejs#28535 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Sam Roberts <[email protected]>
We might be a background job that doesn't own the TTY so block SIGTTOU before making the tcsetattr() call, otherwise that signal suspends us. This is a better fix than PR #28490 for issue #28479. Fixes: #28530 Fixes: #28479 Refs: #28490 PR-URL: #28535 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Sam Roberts <[email protected]>
upgrading from node 12.5.0 to 12.16.3 fixed it. |
Check failure is this:
../src/node.cc:649:void node::ResetStdio(): Assertion
(err) != (-1)' failed.`node/src/node.cc
Lines 646 to 649 in dec5b22
Reproduction:
npm run build && npm run test
The text was updated successfully, but these errors were encountered: