-
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
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.
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.
Should we be adding a regression test for #21213? (Maybe separate PR?)
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
@evanlucas Took the liberty of pushing that commit into this PR, hope that’s okay – tests should look better now: |
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 ✔️✔️✔️) |
sorry, I am unable to follow. @evanlucas / @addaleax, can you please clarify what is the current state of the code base, after this landing?
|
@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 |
@addaleax - thanks for the clarification, so this means the current master state is:
|
@gireeshpunathil Yes, I think so. |
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#14752 nodejs/node#17737 nodejs/node#20592 nodejs/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 cockpit-project#9484
Node leaves stdio file descriptors in non-blocking mode when exiting. This has been reported, fixed, unfixed, ad nauseum. nodejs/node#14752 nodejs/node#17737 nodejs/node#20592 nodejs/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#14752 nodejs/node#17737 nodejs/node#20592 nodejs/node#21257 Stolen from cockpit-project/cockpit@ef50d97cf4
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. |
@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
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