-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
iojs 1.4.x, linux: ../deps/uv/src/unix/stream.c:1174: uv_shutdown; win: shutdown EPIPE #1068
Comments
Confirmed. Do you happen to know if older io.js versions are affected? If not, I'll just run |
@bnoordhuis Affected versions are 1.4.1, 1.4.2, 1.4.3. |
@zxqfox Thanks. I'll have a look. |
Also happens on OS X. (Same error as Linux) |
/cc @indutny |
Ok, on my plate then :) |
UV_TTY does not support `uv_shutdown()` so adding this method in StreamBase will cause an `abort()` in C land. Fix: nodejs#1068
Should be fixed by #1073. |
Fixed! |
Gosh, cc @piscisaureus: PTAL |
Just fyi: I can't repeat it on my local win machine with v1.4.4-nightly20150305b27931b0fe |
Neither do I. |
@indutny, @piscisaureus: the failure of test-regress-GH-io-1068 is the last big item in #1005 that we need to sort out for Windows. The behaviour exhibits when run from within Jenkins but does not when you run the tests or the command directly with |
@rvagg is there any way to check if the test was failing before the streambase stuff? If so - we may want to just disable it. |
@indutny looks like @bnoordhuis pointed out above in #1068 (comment) that it originated from stream_base.. |
@Fishrock123 yeah, but it the unintentional behavior change was fixed since then. So practically io.js should behave the same way as it was doing before the StreamBase. That's why I'm asking about reproducing it on previous io.js versions. |
@indutny you could make a branch in your own repo from just before StreamBase and put in that regress test and run it through CI and that'll tell you ... you could do an awkward bisect using that method too I suppose, if you have patience. |
Here it is, right before the StreamBase: https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/348/ (crossing my fingers :) ) |
IMO even if this does turn out to exist prior to StreamBase it's now something that we have to find a way to deal with, it's just a bug that was previously unexposed. I'd like some thought put in to what conditions are causing this and how to "fix" it so that it doesn't throw. |
@rvagg sure thing. I'll probably need to spend some time reproducing it, though. |
I spent some time yesterday trying to repro it with child_process gymnastics to no avail, perhaps we can use |
And the build is blue, right before the StreamBase. I'll see what I could have broke there. |
Yay, I was able to reproduce it: echo 1 | ./Release/iojs.exe test/parallel/test-regress-GH-io-1068.js Will figure out the problem in a bit. |
Good news, test appears to be failing right before the StreamBase changes too. Perhaps this is still unrelated to the stuff that we see on Jenkins. |
Stdin is purely read-only stream. Although, `net.Socket` might be used to create it if stdin is in fact a Pipe or TCP socket, the `stream.Duplex` should not try to call `.end()` on it. Fix: nodejs#1068
@rvagg: windows CI failures should be resolved now. |
Expected as it was:
Silent exit.
Actual:
cc @indutny
upd Btw, this code also produces strange error on win7 x64 (running in mingw32):
The text was updated successfully, but these errors were encountered: