-
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
src: Revert nix stdin _readableState.reading #3490
Conversation
fc70713
to
9c6511c
Compare
According to #2504 (comment), the condition might only show in a real terminal ( |
Thank you silverwind!
I hope that this PR is merged. |
I tried in Windows 8.1 64bit |
9c6511c
to
003bd07
Compare
This reverts 8cee8f5 which was causing a regression through a possible race condition on Windows 8 and 10. Fixes: nodejs#2996 Fixes: nodejs#2504
003bd07
to
06479e4
Compare
I've been unable to produce a working regression test for this issue, the methods used in |
Anyone able to review? It's a simple revert that fixes 2 (imho) pretty serious issues on Windows. |
Can't we make that a regression case? |
@thefourtheye I don't think a automated regression test is possible, stdin needs to be attached to a real terminal like |
Ping @nodejs/collaborators. This fixes a major bug on Windows, anyone able to review? It's a clean revert of 8cee8f5. |
Change LGTM. @silverwind Would you mind updating the commit message and elaborating on "through a possible race condition on stdin"? I'd like to know what I should be looking for in the case I hit this issue, or attempt to write a test in the future. |
@trevnorris thanks, will do after some more research. |
LGTM as well. |
I made a test build of this to make it easier for Windows 8+ users to test, this PR applied to current master: https://nodejs.org/download/test/v6.0.0-test20151107093b0e865c/ Also tested this build with a user here at NodeFest who has experienced this problem with NodeSchool workshoppers (NodeSchool folks are feeling big pain from this) and it works great. So LGTM! |
|
@silverwind sounds about right, since |
This reverts 8cee8f5 which was causing stdin to behave strangely on Windows 8 and 10. The suspected explanation for the issue is that there might be a race condition occuring when stdin._readableState.reading is set indirectly through `push('')`. PR-URL: #3490 Fixes: #2996 Fixes: #2504 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Landed in af46112. This should definitely be backported to LTS. |
This reverts 8cee8f5 which was causing stdin to behave strangely on Windows 8 and 10. The suspected explanation for the issue is that there might be a race condition occuring when stdin._readableState.reading is set indirectly through `push('')`. PR-URL: #3490 Fixes: #2996 Fixes: #2504 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
This reverts 8cee8f5 which was causing stdin to behave strangely on Windows 8 and 10. The suspected explanation for the issue is that there might be a race condition occuring when stdin._readableState.reading is set indirectly through `push('')`. PR-URL: #3490 Fixes: #2996 Fixes: #2504 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
This reverts 8cee8f5 which was causing stdin to behave strangely on Windows 8 and 10. The suspected explanation for the issue is that there might be a race condition occuring when stdin._readableState.reading is set indirectly through `push('')`. PR-URL: #3490 Fixes: #2996 Fixes: #2504 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
There will be no new 3.x releases, per #3465 (comment), removing |
This reverts 8cee8f5 which was causing a regression through a possible race condition on stdin on Windows 8 and 10.
Fixes: #2996
Fixes: #2504
The test cases presented in #2996 seem to fail only sometimes, those in #2504 failed all the time for me.
I took one of the examples from #2504 and tried to make a test for it, but it appears to not trigger the bug when spawning in a child process. Running the fixture alone from powershell does show the issue, so I'm a bit out of ideas here. @anseki could you maybe have a look? An automated test for this bug would be great to have.
cc: @chrisdickinson @nodejs/platform-windows