You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
investigate flaky inspector/test-inspector on Windows #8804
not ok 296 inspector/test-inspector
# Error: read ECONNRESET
# at exports._errnoException (util.js:1026:11)
# at TCP.onread (net.js:572:26)
# [err] Debugger listening on port 9229.
# [err] Warning: This is an experimental feature and could change at any time.
# [err] To start debugging, open the following URL in Chrome:
# [err] chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
# [err]
# [test] Verifying debugger stops on start (--debug-brk option)
# [test] Setting a breakpoint and verifying it is hit
# [out] A message 5
# [out]
# [test] Verify we can read current application state
# [test] Verify node waits for the frontend to disconnect
# [out] Outputed message #1
# [out]
# [err] Debugger attached.
# [err] Waiting for the debugger to disconnect...
# [err]
# [test] Connection terminated
---
duration_ms: 0.536
Here's a failure from today which has error output that looks slightly different than previous failures. Not sure if Jenkins changed or if the inspector code did or what....
not ok 302 inspector/test-inspector # TODO : Fix flaky test
---
duration_ms: 0.522
severity: flaky
stack: |-
[err] Debugger listening on port 9229.
[err] Warning: This is an experimental feature and could change at any time.
[err] To start debugging, open the following URL in Chrome:
[err] chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/63a05fcc-03d6-43f3-bf70-550e1e4101ce
[err]
[test] Verifying debugger stops on start (--debug-brk option)
[test] Setting a breakpoint and verifying it is hit
[out] A message 5
[out]
[test] Verify we can read current application state
[test] Verify sending and receiving UTF8 characters
[out] טֶå—и
[out]
[test] Verify node waits for the frontend to disconnect
[out] Outputed message #1
[out]
[err] Debugger attached.
[err] Waiting for the debugger to disconnect...
[err]
[test] Connection terminated
Error: read ECONNRESET
at exports._errnoException (util.js:1022:11)
at TCP.onread (net.js:572:26)
...
The "ECONNRESET showing up only on Windows" has certainly happened elsewhere, such as #5386. /cc @gibfahn in case they have any light to shed
Maybe someone in @nodejs/platform-windows knows something about why that is and what the appropriate way of dealing with it is. (Swallow ECONNRESET on Windows only?)
@Trott I think the problem is that no-one ever got to the bottom of why the ECONNRESET actually happens. Unless we know why it's happening, I don't think we should just ignore what could well be a legitimate error.
Maybe if we could work out the simplest reproducible test case, we could have a test that specifically checks for this, mark that one as flaky, and then swallow ECONNRESET on all the other tests (e.g. this one).
@Trott I think the problem is that no-one ever got to the bottom of why the ECONNRESET actually happens.
Hmmm...someone who cares about tests and understands Node.js tests...and who understands Windows and Node.js Windows quirks... Maybe @joaocgreis would have some ideas as to how we might trigger the ECONNRESET-on-Windows issue reliably?
Activity
mcollina commentedon Sep 29, 2016
This might be related: #8155.
Trott commentedon Nov 16, 2016
Alas, #8155 is fixed but we're still seeing this.
Any progress with https://github.com/eugeneo/node/commit/3d3ec6fd960b52e9ae920c2c7b387c0c37bf398d? (Or did that already land in some format?)
Here's a failure from today which has error output that looks slightly different than previous failures. Not sure if Jenkins changed or if the inspector code did or what....
https://ci.nodejs.org/job/node-test-binary-windows/4783/RUN_SUBSET=2,VS_VERSION=vs2015,label=win2008r2/console
eugeneo commentedon Nov 16, 2016
I am trying some fixes from time to time, no actual progress yet...
Trott commentedon Nov 17, 2016
The "
ECONNRESETshowing up only on Windows" has certainly happened elsewhere, such as #5386. /cc @gibfahn in case they have any light to shedMaybe someone in @nodejs/platform-windows knows something about why that is and what the appropriate way of dealing with it is. (Swallow ECONNRESET on Windows only?)
@nodejs/testing
gibfahn commentedon Nov 17, 2016
@Trott I think the problem is that no-one ever got to the bottom of why the
ECONNRESETactually happens. Unless we know why it's happening, I don't think we should just ignore what could well be a legitimate error.Maybe if we could work out the simplest reproducible test case, we could have a test that specifically checks for this, mark that one as flaky, and then swallow
ECONNRESETon all the other tests (e.g. this one).Trott commentedon Nov 18, 2016
Hmmm...someone who cares about tests and understands Node.js tests...and who understands Windows and Node.js Windows quirks... Maybe @joaocgreis would have some ideas as to how we might trigger the ECONNRESET-on-Windows issue reliably?
Trott commentedon Nov 20, 2016
I ran the stress test 100 times in succession and it failed 93 times. Yikes! https://ci.nodejs.org/job/node-stress-single-test/1063/nodes=win10/console
Trott commentedon Nov 21, 2016
Changing
socket.end()tosocket.destroy()seems to fix the flakiness on Windows:https://ci.nodejs.org/job/node-stress-single-test/1066/nodes=win10/console
Any reason not to go with something like that?
Trott commentedon Nov 21, 2016
PR to fix (if the
destroy()solution is OK): #9727test: fix flaky test-inspector
test: fix flaky test-inspector
test: fix flaky test-inspector
test: fix flaky test-inspector
test: fix flaky test-inspector