Skip to content

src: don't abort on EIO when restoring tty - #28490

Closed
bnoordhuis wants to merge 1 commit into
nodejs:masterfrom
bnoordhuis:fix28479
Closed

src: don't abort on EIO when restoring tty#28490
bnoordhuis wants to merge 1 commit into
nodejs:masterfrom
bnoordhuis:fix28479

Conversation

@bnoordhuis

Copy link
Copy Markdown
Member

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

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
@nodejs-github-botnodejs-github-bot added the c++ Issues and PRs that require attention from people who are familiar with C++. label Jul 1, 2019
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@targos

Copy link
Copy Markdown
Member

Do we want to fast track? I'm going to prepare a release tomorrow

@addaleaxaddaleax added the fast-track PRs that do not need to wait for 48 hours to land. label Jul 1, 2019
@addaleaxaddaleax added tty Issues and PRs related to the tty subsystem. author ready PRs that have at least one approval, no pending requests for changes, and a CI started. labels Jul 1, 2019
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@devsnek

Copy link
Copy Markdown
Member

landed in 1095635

@devsnekdevsnek closed this Jul 2, 2019
devsnek pushed a commit that referenced this pull request Jul 2, 2019
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 <targos@protonmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
targos pushed a commit that referenced this pull request Jul 2, 2019
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 <targos@protonmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
targos pushed a commit that referenced this pull request Jul 2, 2019
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 <targos@protonmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
targos added a commit that referenced this pull request Jul 2, 2019
Notable changes:
* build:
* Experimental support for building Node.js on MIPS architecture
is back. #27992
* child_process:
* The promisified versions of `child_process.exec` and
`child_process.execFile` now both return a `Promise` which has the
child instance attached to their `child` property.
#28325
* deps:
* Updated libuv to 1.30.0. #28449
* Support for the Haiku platform has been added.
* The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
1024.
* `uv_fs_copyfile()` now works properly when the source and
destination files are the same.
* process:
* A new method, `process.resourceUsage()` was added. It returns
resource usage for the current process, such as CPU time.
#28018
* src:
* Fixed an issue related to stdio that could lead to a crash of the
process in some circumstances.
#28490
* stream:
* Added a `writableFinished` property to writable streams. It
indicates that all the data has been flushed to the underlying
system. #28007
* worker:
* Fixed an issue that prevented worker threads to listen for data on
stdin. #28153
PR-URL: #28508
@targostargos mentioned this pull request Jul 2, 2019
targos added a commit that referenced this pull request Jul 2, 2019
Notable changes:
* build:
* Experimental support for building Node.js on MIPS architecture
is back. #27992
* child_process:
* The promisified versions of `child_process.exec` and
`child_process.execFile` now both return a `Promise` which has the
child instance attached to their `child` property.
#28325
* deps:
* Updated libuv to 1.30.0. #28449
* Support for the Haiku platform has been added.
* The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
1024.
* `uv_fs_copyfile()` now works properly when the source and
destination files are the same.
* process:
* A new method, `process.resourceUsage()` was added. It returns
resource usage for the current process, such as CPU time.
#28018
* src:
* Fixed an issue related to stdio that could lead to a crash of the
process in some circumstances.
#28490
* stream:
* Added a `writableFinished` property to writable streams. It
indicates that all the data has been flushed to the underlying
system. #28007
* worker:
* Fixed an issue that prevented worker threads to listen for data on
stdin. #28153
* meta:
* Added Jiawen Geng (https://github.com/gengjiawen) to collaborators.
#28322
PR-URL: #28508
targos added a commit that referenced this pull request Jul 2, 2019
Notable changes:
* build:
* Experimental support for building Node.js on MIPS architecture
is back. #27992
* child_process:
* The promisified versions of `child_process.exec` and
`child_process.execFile` now both return a `Promise` which has the
child instance attached to their `child` property.
#28325
* deps:
* Updated libuv to 1.30.1. #28449,
#28511
* Support for the Haiku platform has been added.
* The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
1024.
* `uv_fs_copyfile()` now works properly when the source and
destination files are the same.
* process:
* A new method, `process.resourceUsage()` was added. It returns
resource usage for the current process, such as CPU time.
#28018
* src:
* Fixed an issue related to stdio that could lead to a crash of the
process in some circumstances.
#28490
* stream:
* Added a `writableFinished` property to writable streams. It
indicates that all the data has been flushed to the underlying
system. #28007
* worker:
* Fixed an issue that prevented worker threads to listen for data on
stdin. #28153
* meta:
* Added Jiawen Geng (https://github.com/gengjiawen) to collaborators.
#28322
PR-URL: #28508
targos added a commit that referenced this pull request Jul 3, 2019
Notable changes:
* build:
* Experimental support for building Node.js on MIPS architecture
is back. #27992
* child_process:
* The promisified versions of `child_process.exec` and
`child_process.execFile` now both return a `Promise` which has the
child instance attached to their `child` property.
#28325
* deps:
* Updated libuv to 1.30.1. #28449,
#28511
* Support for the Haiku platform has been added.
* The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
1024.
* `uv_fs_copyfile()` now works properly when the source and
destination files are the same.
* process:
* A new method, `process.resourceUsage()` was added. It returns
resource usage for the current process, such as CPU time.
#28018
* src:
* Fixed an issue related to stdio that could lead to a crash of the
process in some circumstances.
#28490
* stream:
* Added a `writableFinished` property to writable streams. It
indicates that all the data has been flushed to the underlying
system. #28007
* worker:
* Fixed an issue that prevented worker threads to listen for data on
stdin. #28153
* meta:
* Added Jiawen Geng (https://github.com/gengjiawen) to collaborators.
#28322
PR-URL: #28508
@marsammarsam mentioned this pull request Jul 3, 2019
10 tasks
bnoordhuis added a commit to bnoordhuis/io.js that referenced this pull request Jul 4, 2019
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#28530Fixes: nodejs#28479
Refs: nodejs#28490
pullBot pushed a commit to Mattlk13/node that referenced this pull request Jul 6, 2019
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#28530Fixes: nodejs#28479
Refs: nodejs#28490
PR-URL: nodejs#28535
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
targos pushed a commit that referenced this pull request Jul 20, 2019
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: #28530Fixes: #28479
Refs: #28490
PR-URL: #28535
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.c++Issues and PRs that require attention from people who are familiar with C++.fast-trackPRs that do not need to wait for 48 hours to land.ttyIssues and PRs related to the tty subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CHECK failure in ResetStdio on >=12.5.0

7 participants

@bnoordhuis@nodejs-github-bot@targos@devsnek@addaleax@cjihrig@gireeshpunathil