Uh oh!
There was an error while loading. Please reload this page.
Revert "src: restore stdio on program exit" - #21257
Conversation
This reverts commit c2c9c0c. It seems to be causing hangs when piping output to other processes.
richardlau
left a comment
There was a problem hiding this comment.
Should we be adding a regression test for #21213? (Maybe separate PR?)
addaleax
commented
Jun 11, 2018
Oh … so … about the test failure. The original PR fixed another bug, namely #21020. I opened a PR for that, #21027, but because this had already been fixed by the other PR, I stripped it down to the tests only. Can you include the |
Otherwise, closing all handles associated with the main event loop would also mean that `uv_tty_reset_mode()` can’t function properly because the corresponding FDs have already been closed. Fixes: nodejs#21020
addaleax
commented
Jun 11, 2018
@evanlucas Took the liberty of pushing that commit into this PR, hope that’s okay – tests should look better now: |
addaleax
commented
Jun 11, 2018
After a quick chat with @evanlucas, we agreed that we’d like to fast-track this in time for the v10.x security release tomorrow. Please 👍 if you agree. (CI is ✔️✔️✔️) |
addaleax
commented
Jun 11, 2018
gireeshpunathil
commented
Jun 12, 2018
sorry, I am unable to follow. @evanlucas / @addaleax, can you please clarify what is the current state of the code base, after this landing?
|
addaleax
commented
Jun 12, 2018
@gireeshpunathil The revert commit reverts #20592. The other commit fixes #21020, which is one of the problems addressed by #20592. The test changes for that bug came in #21027, which remain on |
gireeshpunathil
commented
Jun 12, 2018
@addaleax - thanks for the clarification, so this means the current master state is:
|
addaleax
commented
Jun 12, 2018
@gireeshpunathil Yes, I think so. |
jdx
commented
Jun 13, 2018
I just tested #21020 in 10.4.1 and the bug has not regressed 👍 Thanks for all the hard work! |
Node leaves stdio file descriptors in non-blocking mode when exiting. This has been reported, fixed, unfixed, ad nauseum. nodejs/node#14752nodejs/node#17737nodejs/node#20592nodejs/node#21257 Should this become a problem in more places, we could add such a workaround elsewhere. But for now I'm limiting the ugliness to the unit-tests container, where we see this cause a lot of failures. Closescockpit-project#9484
Node leaves stdio file descriptors in non-blocking mode when exiting. This has been reported, fixed, unfixed, ad nauseum. nodejs/node#14752nodejs/node#17737nodejs/node#20592nodejs/node#21257 Should this become a problem in more places, we could add such a workaround elsewhere. But for now I'm limiting the ugliness to the unit-tests container, where we see this cause a lot of failures. Closes#9484
Node leaves stdio file descriptors in non-blocking mode when exiting. This has been reported, fixed, unfixed, ad nauseum. nodejs/node#14752nodejs/node#17737nodejs/node#20592nodejs/node#21257 Stolen from cockpit-project/cockpit@ef50d97cf4
AdamMajer
commented
Sep 10, 2018
This revert broke the build of NodeJS on OBS (open build service) for openSUSE. Reverting the revert fixes problem. FWIW, messing around with nonblocking stdio file descriptors without dup() has unintended consequences. |
addaleax
commented
Sep 10, 2018
@AdamMajer If you are seeing issues with building Node.js master (or some other tip-of-branch), could you open a new issue? |
Reverting the revert ... otherwise stdout/stderr are left in O_NONBLOCK state on exit from Node in certain circumstances which results in failture of %install script as the stdout pipe of OBS overflows and returns EAGAIN
Otherwise, closing all handles associated with the main event loop would also mean that `uv_tty_reset_mode()` can’t function properly because the corresponding FDs have already been closed. Fixes: nodejs/node#21020 PR-URL: nodejs/node#21257 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This reverts commit c2c9c0c. It seems to be causing hangs when piping output to other processes. PR-URL: nodejs/node#21257 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This reverts commit c2c9c0c.
It seems to be causing hangs when piping output to other processes.
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes