Closed mischah closed 7 years ago
It's possible the libuv upgrade introduced a regression, I don't see anything else that is an obvious culprit. What happens when you revert commit 106d719?
For me it broke between 7.0.0 and 7.1.0 spawning webpack-dev-server in a child process. Related: #9534
What happens when you revert commit 106d719?
I can’t reproduce the errors right now (wrong OS).
But if someone else can, how could they check if this helps? Am I right with the following steps?
v7.1.0-proposal
We have the same problem in Windows 10 x64
I'm new to React Native, and have encountered the same problem. Just did a fresh install, and downloaded the Awesome Project (Android), following the instructions on https://facebook.github.io/react-native/docs/getting-started.html
I'm running Windows 10, x64
Error message C:\Users\Edwin\AwesomeProject>react-native run-android events.js:160 throw er; // Unhandled 'error' event ^
Error: write EINVAL at exports._errnoException (util.js:1022:11) at WriteStream.Socket._writeGeneric (net.js:715:26) at WriteStream.Socket._write (net.js:734:8) at doWrite (_stream_writable.js:334:12) at writeOrBuffer (_stream_writable.js:320:5) at WriteStream.Writable.write (_stream_writable.js:247:11) at WriteStream.Socket.write (net.js:661:40) at WriteStream.stream.write (C:\Users\Edwin\AwesomeProject\node_modules\ansi\lib\newlines.js:36:21) at Object.execFileSync (child_process.js:506:20) at Object.run (C:/Users/Edwin/AwesomeProject/node_modules/react-native/local-cli/cliEntry.js:157:16)
@bnoordhuis @mischah Rolling back 106d719 solves the problem for us with webpack-dev-server
. Also solves the problem with mocha
https://github.com/mochajs/mocha/issues/2577
npm-windows-upgrade here, we have the same issue.
Here is our Win10 x64 build of Node.js master (7.1.1-pre) sans 106d719 to test:
P.S. See https://github.com/nodejs/node/issues/9542#issuecomment-259958895 for updated build and link
I tried your test build, and while I didn't rebuild all my binaries and thus cannot run all my services with it, it does start up webpack-dev-server without issue and appears to run.
Can someone try this patch? https://github.com/libuv/libuv/pull/889 is currently my prime suspect, seeing how all the bug reports are for Windows 10.
diff --git a/deps/uv/src/win/tty.c b/deps/uv/src/win/tty.c
index 18d68d0..88b8ef9 100644
--- a/deps/uv/src/win/tty.c
+++ b/deps/uv/src/win/tty.c
@@ -134,7 +134,7 @@ typedef enum {
UV_UNSUPPORTED
} uv_vtermstate_t;
/* Determine whether or not ANSI support is enabled. */
-static uv_vtermstate_t uv__vterm_state = UV_UNCHECKED;
+static uv_vtermstate_t uv__vterm_state = UV_UNSUPPORTED;
static void uv__determine_vterm_state(HANDLE handle);
void uv_console_init() {
cc @nodejs/platform-windows
@bnoordhuis Fixes mocha for me.
I also had issues with weird color in my console, such as black text on black background. Makes sense as your patch is referencing ANSI support.
/cc @iWuzHere
Issue also shows up while installing windows-build-tools and running the angular-cli
@joaocgreis @bzoz can you take a look?
/cc @digitalinfinity
@bnoordhuis
libuv/libuv#889 is currently my prime suspect, seeing how all the bug reports are for Windows 10.
@miniksa can you take a look at libuv/libuv#889 too?
I was also having this error and reverted to node's stable version 6.9.* and it worked.
@bnoordhuis https://github.com/nodejs/node/issues/9542#issuecomment-259813312 patch applied to v7.1.0 source fixes the problem with webpack-dev-server
and mocha
for 64-bit build on Windows 10.
Here is the patched node.exe
64-bit Windows executable, built with vcbuild release nosign x64
for others to verify:
https://mega.nz/#!eRMxwCaY!Jo0aulbo-Nm0OLMAcx1pfnVdWnCXiTocBju1aA66elI
Seems like my change broke stuff 😢 Created https://github.com/libuv/libuv/issues/1135
BTW, since it involves tty and ANSI codes, is this likely the cause of my issues with black-on-black colors in the console for part of the output and after the process died?
(PS: "color 07" in windows resets colors it if you struggle with this)
This is a problem of the version node, use the version 6.9 and success
Can someone check if https://github.com/libuv/libuv/pull/1139 also fixes the issue?
@santigimeno https://github.com/libuv/libuv/pull/1139 solves the problem with mocha
, but not with webpack-dev-server
.
Running webpack-dev-server
results in a different error after patching:
npm ERR! node v7.1.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! webapp@ dev: `webpack-dev-server --progress`
npm ERR! Exit status 3221226505
this is what im getting with the patch:
This was the command I ran to install it (after patching and building x64 Debug) node.exe ../deps/npm/cli.js install webpack-dev-server --save-dev
@iWuzHere did you build a 32-bit version by any chance?
@kyrylkov its 64-bit debug build
Can confirm it works on 32bit builds
.\vcbuild.bat x86 debug nosign
I can confirm the exe in https://github.com/nodejs/node/issues/9542#issuecomment-259958895 works when installing and running an Electron app, which broke with node v7.1.0 on Windows 10 (x64).
@iWuzHere @santigimeno
It still crashes for us with webpack-dev-server
and our config on 2 different projects.
Built from v7.1.0
with vcbuild x64 nosign release
and the following patch applied:
C:\Users\kyryl\dev\node>git diff
diff --git a/deps/uv/src/win/tty.c b/deps/uv/src/win/tty.c
index 18d68d0..1e397b4 100644
--- a/deps/uv/src/win/tty.c
+++ b/deps/uv/src/win/tty.c
@@ -1650,7 +1650,7 @@ static int uv_tty_write_bufs(uv_tty_t* handle,
uv_buf_t buf = bufs[i];
unsigned int j;
- if (uv__vterm_state == UV_SUPPORTED) {
+ if (uv__vterm_state == UV_SUPPORTED && buf.len > 0) {
utf16_buf_used = MultiByteToWideChar(CP_UTF8,
0,
buf.base,
C:\Users\kyryl\dev\test\www>npm run dev
> test-web@1.0.0 dev C:\Users\kyryl\dev\test\www
> webpack-dev-server
http://localhost:8080/webpack-dev-server/
webpack result is served from /
content is served from C:\Users\kyryl\dev\test\www
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev"
npm ERR! node v7.1.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! test-web@1.0.0 dev: `webpack-dev-server`
npm ERR! Exit status 3221226505
npm ERR!
npm ERR! Failed at the test-web@1.0.0 dev script 'webpack-dev-server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the test-web package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! webpack-dev-server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs test-web
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls test-web
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\kyryl\dev\test\www\npm-debug.log
npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'run',
1 verbose cli 'dev' ]
2 info using npm@3.10.9
3 info using node@v7.1.0
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle test-web@1.0.0~predev: test-web@1.0.0
6 silly lifecycle test-web@1.0.0~predev: no script for predev, continuing
7 info lifecycle test-web@1.0.0~dev: test-web@1.0.0
8 verbose lifecycle test-web@1.0.0~dev: unsafe-perm in lifecycle true
9 verbose lifecycle test-web@1.0.0~dev: PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\Users\kyryl\dev\test\www\node_modules\.bin;C:\Program Files\Docker\Docker\Resources\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\CloudFoundry;C:\Program Files (x86)\Common Files\Intuit\QBPOSSDKRuntime;C:\Program Files\MongoDB\Server\3.2\bin;C:\Program Files\Cloud Foundry;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\kyryl\AppData\Local\Microsoft\WindowsApps;C:\Users\kyryl\AppData\Roaming\npm;C:\adb;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\nodejs\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\kyryl\AppData\Local\Microsoft\WindowsApps;C:\Users\kyryl\AppData\Roaming\npm
10 verbose lifecycle test-web@1.0.0~dev: CWD: C:\Users\kyryl\dev\test\www
11 silly lifecycle test-web@1.0.0~dev: Args: [ '/d /s /c', 'webpack-dev-server' ]
12 silly lifecycle test-web@1.0.0~dev: Returned: code: 3221226505 signal: null
13 info lifecycle test-web@1.0.0~dev: Failed to exec dev script
14 verbose stack Error: test-web@1.0.0 dev: `webpack-dev-server`
14 verbose stack Exit status 3221226505
14 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:191:7)
14 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at ChildProcess.emit (events.js:191:7)
14 verbose stack at maybeClose (internal/child_process.js:885:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid test-web@1.0.0
16 verbose cwd C:\Users\kyryl\dev\test\www
17 error Windows_NT 10.0.14393
18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev"
19 error node v7.1.0
20 error npm v3.10.9
21 error code ELIFECYCLE
22 error test-web@1.0.0 dev: `webpack-dev-server`
22 error Exit status 3221226505
23 error Failed at the test-web@1.0.0 dev script 'webpack-dev-server'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the test-web package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error webpack-dev-server
23 error You can get information on how to open an issue for this project with:
23 error npm bugs test-web
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls test-web
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]
Hi @kyrylkov - can you share out your repro environment please? I tried another project which uses webpack-dev-server- vue-hackernews- and it seems to work ok. I did the following:
Copied a patched version of node with the fix to the node install directory
git clone https://github.com/vuejs/vue-hackernews/
cd vue-hackernews
npm install
npm run dev
And it seems to work ok. I'm happy to try similar steps with your repro environment. One other thing I notice in your logs- it looks like the error code you get is ELIFECYCLE instead of EINVAL, which suggests it might be a different issue than the one being discussed in this thread.
@kyrylkov You guys probably don't need any more information at this point in time, but I wanted to confirm that your updated node.exe (from https://github.com/nodejs/node/issues/9542#issuecomment-259958895) solves the problem when running npm install
for the project electron-quick-start
.
@digitalinfinity @bnoordhuis @iWuzHere @santigimeno
Here you go https://github.com/kyrylkov/webpack
Using Node.js 7.1.0 patched by https://github.com/libuv/libuv/pull/1139 npm run dev
will result in:
npm ERR! code ELIFECYCLE
npm ERR! test@1.0.0 dev: `webpack-dev-server`
npm ERR! Exit status 3221226505
The normal behavior (Node.js 7.0.0 and before) should be:
> test@1.0.0 dev C:\Users\kyryl\dev\test
> webpack-dev-server
http://localhost:8080/webpack-dev-server/
webpack result is served from /
content is served from C:\Users\kyryl\dev\test
Hash: cd017a465b5922221e3e
Version: webpack 1.13.3
Time: 683ms
Asset Size Chunks Chunk Names
bundle.js 262 kB 0 [emitted] main
chunk {0} bundle.js (main) 223 kB [rendered]
[0] multi main 52 bytes {0} [built]
[1] (webpack)/hot/dev-server.js 1.79 kB {0} [built]
[2] (webpack)/hot/log-apply-result.js 788 bytes {0} [built]
[3] (webpack)-dev-server/client?http://localhost:8080 3.97 kB {0} [built]
[4] ./~/url/url.js 22.3 kB {0} [built]
[5] ./~/url/~/punycode/punycode.js 14.6 kB {0} [built]
[6] (webpack)/buildin/module.js 241 bytes {0} [built]
[7] ./~/querystring/index.js 127 bytes {0} [built]
[8] ./~/querystring/decode.js 2.4 kB {0} [built]
[9] ./~/querystring/encode.js 2.09 kB {0} [built]
[10] ./~/strip-ansi/index.js 161 bytes {0} [built]
[11] ./~/ansi-regex/index.js 135 bytes {0} [built]
[12] (webpack)-dev-server/client/socket.js 856 bytes {0} [built]
[13] ./~/sockjs-client/lib/entry.js 244 bytes {0} [built]
[14] ./~/sockjs-client/lib/transport-list.js 613 bytes {0} [built]
[15] ./~/sockjs-client/lib/transport/websocket.js 2.71 kB {0} [built]
[16] ./~/process/browser.js 5.3 kB {0} [built]
[17] ./~/sockjs-client/lib/utils/event.js 2 kB {0} [built]
[18] ./~/sockjs-client/lib/utils/random.js 746 bytes {0} [built]
[19] ./~/sockjs-client/lib/utils/browser-crypto.js 438 bytes {0} [built]
[20] ./~/sockjs-client/lib/utils/url.js 975 bytes {0} [built]
[21] ./~/url-parse/index.js 9.92 kB {0} [built]
[22] ./~/requires-port/index.js 753 bytes {0} [built]
[23] ./~/url-parse/lolcation.js 1.58 kB {0} [built]
[24] ./~/querystringify/index.js 1.3 kB {0} [built]
[25] ./~/debug/browser.js 3.76 kB {0} [built]
[26] ./~/debug/debug.js 4.1 kB {0} [built]
[27] ./~/ms/index.js 2.33 kB {0} [built]
[28] ./~/inherits/inherits_browser.js 672 bytes {0} [built]
[29] ./~/sockjs-client/lib/event/emitter.js 1.27 kB {0} [built]
[30] ./~/sockjs-client/lib/event/eventtarget.js 1.85 kB {0} [built]
[31] ./~/sockjs-client/lib/transport/browser/websocket.js 172 bytes {0} [built]
[32] ./~/sockjs-client/lib/transport/xhr-streaming.js 1.25 kB {0} [built]
[33] ./~/sockjs-client/lib/transport/lib/ajax-based.js 1.31 kB {0} [built]
[34] ./~/sockjs-client/lib/transport/lib/sender-receiver.js 1.15 kB {0} [built]
[35] ./~/sockjs-client/lib/transport/lib/buffered-sender.js 2.3 kB {0} [built]
[36] ./~/sockjs-client/lib/transport/lib/polling.js 1.32 kB {0} [built]
[37] ./~/sockjs-client/lib/transport/receiver/xhr.js 1.58 kB {0} [built]
[38] ./~/sockjs-client/lib/transport/sender/xhr-cors.js 343 bytes {0} [built]
[39] ./~/sockjs-client/lib/transport/browser/abstract-xhr.js 4.8 kB {0} [built]
[40] ./~/sockjs-client/lib/transport/sender/xhr-local.js 352 bytes {0} [built]
[41] ./~/sockjs-client/lib/utils/browser.js 560 bytes {0} [built]
[42] ./~/sockjs-client/lib/transport/xdr-streaming.js 984 bytes {0} [built]
[43] ./~/sockjs-client/lib/transport/sender/xdr.js 2.46 kB {0} [built]
[44] ./~/sockjs-client/lib/transport/eventsource.js 766 bytes {0} [built]
[45] ./~/sockjs-client/lib/transport/receiver/eventsource.js 1.58 kB {0} [built]
[46] ./~/sockjs-client/lib/transport/browser/eventsource.js 37 bytes {0} [built]
[47] ./~/sockjs-client/lib/transport/lib/iframe-wrap.js 981 bytes {0} [built]
[48] ./~/sockjs-client/lib/transport/iframe.js 3.83 kB {0} [built]
[49] ./~/json3/lib/json3.js 43.3 kB {0} [built]
[50] (webpack)/buildin/amd-options.js 42 bytes {0} [built]
[51] ./~/sockjs-client/lib/version.js 26 bytes {0} [built]
[52] ./~/sockjs-client/lib/utils/iframe.js 5.06 kB {0} [built]
[53] ./~/sockjs-client/lib/utils/object.js 532 bytes {0} [built]
[54] ./~/sockjs-client/lib/transport/htmlfile.js 710 bytes {0} [built]
[55] ./~/sockjs-client/lib/transport/receiver/htmlfile.js 2.2 kB {0} [built]
[56] ./~/sockjs-client/lib/transport/xhr-polling.js 894 bytes {0} [built]
[57] ./~/sockjs-client/lib/transport/xdr-polling.js 712 bytes {0} [built]
[58] ./~/sockjs-client/lib/transport/jsonp-polling.js 1.02 kB {0} [built]
[59] ./~/sockjs-client/lib/transport/receiver/jsonp.js 5.57 kB {0} [built]
[60] ./~/sockjs-client/lib/transport/sender/jsonp.js 2.46 kB {0} [built]
[61] ./~/sockjs-client/lib/main.js 11.9 kB {0} [built]
[62] ./~/sockjs-client/lib/shims.js 18.2 kB {0} [built]
[63] ./~/sockjs-client/lib/utils/escape.js 2.31 kB {0} [built]
[64] ./~/sockjs-client/lib/utils/transport.js 1.35 kB {0} [built]
[65] ./~/sockjs-client/lib/utils/log.js 450 bytes {0} [built]
[66] ./~/sockjs-client/lib/event/event.js 477 bytes {0} [built]
[67] ./~/sockjs-client/lib/location.js 177 bytes {0} [built]
[68] ./~/sockjs-client/lib/event/close.js 295 bytes {0} [built]
[69] ./~/sockjs-client/lib/event/trans-message.js 292 bytes {0} [built]
[70] ./~/sockjs-client/lib/info-receiver.js 2.22 kB {0} [built]
[71] ./~/sockjs-client/lib/transport/sender/xhr-fake.js 456 bytes {0} [built]
[72] ./~/sockjs-client/lib/info-iframe.js 1.52 kB {0} [built]
[73] ./~/sockjs-client/lib/info-iframe-receiver.js 791 bytes {0} [built]
[74] ./~/sockjs-client/lib/info-ajax.js 1.03 kB {0} [built]
[75] ./~/sockjs-client/lib/iframe-bootstrap.js 2.9 kB {0} [built]
[76] ./~/sockjs-client/lib/facade.js 723 bytes {0} [built]
[77] ./entry.js 0 bytes {0} [built]
webpack: bundle is now VALID.
@kyrylkov That looks like a different issue to me. The error code is ELIFECYCLE and the exit code is 0xC0000409 in hex, which seems to indicate a system configuration issue. (MS KB is kind of vague on its exact meaning.)
@bnoordhuis This is different, but it doesn't exist in v7.0.0 and in v7.1.0 with rolled back https://github.com/nodejs/node/commit/106d71914cdee2136e03253f38d90ad57577ab33.
The point is that (v7.1.0 + https://github.com/libuv/libuv/pull/1139) still results in a regression (albeit different) as far as we are concerned, while (v7.1.0 + rolled back https://github.com/nodejs/node/commit/106d71914cdee2136e03253f38d90ad57577ab33) seems to remove all regressions.
Running webpack-dev-server
on v7.1.0 + https://github.com/libuv/libuv/pull/1139 applied works fine, but as soon as basic webpack.config.js
is added along with a plugin (extract-text-webpack-plugin
), Node.js crashes with ELIFECYCLE
error.
Somebody with Win 10 64-bit needs to clone https://github.com/kyrylkov/webpack and confirm.
@bnoordhuis @kyrylkov confirmed:
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev"
npm ERR! node v7.1.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! test@1.0.0 dev: `webpack-dev-server`
npm ERR! Exit status 3221226505
...
Works in v7.0.0:
$ nvm use 7.0
7.0.0
Now using node v7.0.0 (64-bit)
ionut@Aspire-V5 MINGW64 ~/Work/webpack (master)
$ npm run dev
...
[76] ./~/sockjs-client/lib/facade.js 723 bytes {0} [built]
[77] ./entry.js 0 bytes {0} [built]
webpack: bundle is now VALID.
We're going to try completely reverting the commit that we believe is responsible. See https://github.com/libuv/libuv/pull/1138.
The revert landed. Anyone (@icflorescu, @kyrylkov, etc.) willing to give the current libuv 1.x branch a shot before I make a release?
@cjihrig So Node 7.1.0 branch + libuv 1.x branch?
Yes. There was some revert dancing going on, so it might be simplest to just use the libuv v1.x branch instead of individual commits.
@cjihrig @icflorescu Node.js v7.1.0 + latest libuv v1.x branch seems to be working fine with both https://github.com/kyrylkov/webpack and mocha
Here is the latest Win 64-bit build of node.exe to verify:
https://mega.nz/#!WIlB0DaC!wIiY0Nv3sI0NvXODdXHqjK4kgoEso3s7kcE-RmiZ8uA
FYI - I plan to start on the libuv release soon.
@cjihrig Great!
@kyrylkov : Your binary does the trick for me. Complex webpack project is working, including console color support.
libuv update PR is at https://github.com/nodejs/node/pull/9647, if anyone wants to give it a whirl.
@kyrylkov : The new binary works for me too, so I guess it's ok to push. @kyrylkov and @cjihrig : You're doing an awesome job!
@cjihrig I'll make another build
@cjihrig Verified. Node.js master branch with libuv
1.10.0 fails https://github.com/kyrylkov/webpack, but PR https://github.com/nodejs/node/pull/9647 fixes the issue.
I'd like to test this. I may have a related issue with bluebird/request-promise, documented at https://github.com/request/request-promise/issues/166. It silently fails only in Windows + v7.1.0.
PS: I've never had reason to test with a dev branch, but would be willing to contribute. Some instructions would be helpful though. :) Or, the script that shows the flaw can be found in the request-promise ticket, if someone wants to test with it.
Also, have a similar silently failing return initially logged in https://github.com/vitaly-t/pg-promise/issues/236? Distinction in both cases is no error percolates up...
7.1.0
Windows 10
Events
Hej there,
several users have problems with different packages running node 7.1.0 on Windows 10:
All of them seem to have the following in common:
Error: write EINVAL