Skip to content
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

Investigate flaky tests on FreeBSD #8949

Closed
mscdex opened this issue Oct 6, 2016 · 5 comments
Closed

Investigate flaky tests on FreeBSD #8949

mscdex opened this issue Oct 6, 2016 · 5 comments
Labels
child_process Issues and PRs related to the child_process subsystem. freebsd Issues and PRs related to the FreeBSD platform. http Issues or PRs related to the http subsystem. test Issues and PRs related to the tests. timers Issues and PRs related to the timers subsystem / setImmediate, setInterval, setTimeout.

Comments

@mscdex
Copy link
Contributor

mscdex commented Oct 6, 2016

  • Version: master
  • Platform: freebsd
  • Subsystem: child_process, http, timers

I saw these three unrelated tests fail recently on CI: https://ci.nodejs.org/job/node-test-commit-freebsd/4650/nodes=freebsd10-64/console

  • parallel/test-child-process-fork-dgram
not ok 129 parallel/test-child-process-fork-dgram
# TIMEOUT
  ---
  duration_ms: 60.55
  • parallel/test-http-server-consumed-timeout
not ok 546 parallel/test-http-server-consumed-timeout
# 
# assert.js:85
#   throw new assert.AssertionError({
#   ^
# AssertionError: Request timeout should not fire
#     at Object.exports.fail (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/common.js:443:10)
#     at IncomingMessage.req.setTimeout (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-http-server-consumed-timeout.js:13:12)
#     at emitOne (events.js:96:13)
#     at IncomingMessage.emit (events.js:188:7)
#     at Socket.<anonymous> (_http_server.js:310:50)
#     at emitNone (events.js:86:13)
#     at Socket.emit (events.js:185:7)
#     at Socket._onTimeout (net.js:342:8)
#     at ontimeout (timers.js:365:14)
#     at tryOnTimeout (timers.js:237:5)
  ---
  duration_ms: 1.943
  • parallel/test-timers-same-timeout-wrong-list-deleted
not ok 970 parallel/test-timers-same-timeout-wrong-list-deleted
# 
# assert.js:85
#   throw new assert.AssertionError({
#   ^
# AssertionError: Elapsed time does not include second timer's timeout.
#     at process.<anonymous> (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-timers-same-timeout-wrong-list-deleted.js:26:10)
#     at emitOne (events.js:101:20)
#     at process.emit (events.js:188:7)
  ---
  duration_ms: 1.69
@mscdex mscdex added http Issues or PRs related to the http subsystem. child_process Issues and PRs related to the child_process subsystem. timers Issues and PRs related to the timers subsystem / setImmediate, setInterval, setTimeout. test Issues and PRs related to the tests. freebsd Issues and PRs related to the FreeBSD platform. labels Oct 6, 2016
@jasnell
Copy link
Member

jasnell commented Oct 7, 2016

Seeing this also: https://ci.nodejs.org/job/node-test-commit-freebsd/4673/nodes=freebsd10-64/console

not ok 970 parallel/test-timers-same-timeout-wrong-list-deleted
# 
# assert.js:85
#   throw new assert.AssertionError({
#   ^
# AssertionError: Elapsed time does not include second timer's timeout.
#     at process.<anonymous> (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-timers-same-timeout-wrong-list-deleted.js:26:10)
#     at emitOne (events.js:101:20)
#     at process.emit (events.js:188:7)
  ---
  duration_ms: 1.71
  ...

@Trott
Copy link
Member

Trott commented Oct 7, 2016

And this: https://ci.nodejs.org/job/node-test-commit-freebsd/4670/nodes=freebsd10-64/console

not ok 856 parallel/test-net-write-after-close
# TIMEOUT
# about to try to write
  ---
  duration_ms: 60.135

@jbergstroem
Copy link
Member

Might be worth mentioning that I've seen increased amounts of processes lingering. Usually a bad sign as well as increasing the failure rate of future tests.

@Trott
Copy link
Member

Trott commented Oct 7, 2016

Yeah, I kind of suspect that when we see three tests failing, that the first one failed and didn't get cleaned up, and that's what's making the subsequent ones fail. Not always the case, but often enough...

@jbergstroem
Copy link
Member

I cleaned a host and ran a test against master. Here's the failed tests:

not ok 131 parallel/test-child-process-fork-dgram
not ok 247 parallel/test-dgram-send-callback-multi-buffer
not ok 454 parallel/test-http-client-timeout-with-data
not ok 545 parallel/test-http-server-consumed-timeout
not ok 962 parallel/test-timers-blocking-callback

stalled processes after that run:

parallel/test-child-process-fork-dgram.js child

Trott added a commit to Trott/io.js that referenced this issue Oct 14, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: nodejs#8697
Fixes: nodejs#8949
Fixes: nodejs#8271
@Trott Trott closed this as completed in 03afecd Oct 18, 2016
jasnell pushed a commit that referenced this issue Oct 18, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: #8697
Fixes: #8949
Fixes: #8271
PR-URL: #9098
Reviewed-By: Santiago Gimeno <[email protected]>
Trott added a commit to Trott/io.js that referenced this issue Nov 12, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: nodejs#8697
Fixes: nodejs#8949
Fixes: nodejs#8271
PR-URL: nodejs#9098
Reviewed-By: Santiago Gimeno <[email protected]>
Trott added a commit to Trott/io.js that referenced this issue Nov 12, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: nodejs#8697
Fixes: nodejs#8949
Fixes: nodejs#8271
PR-URL: nodejs#9098
Reviewed-By: Santiago Gimeno <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 14, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: #8697
Fixes: #8949
Fixes: #8271
PR-URL: #9098
Reviewed-By: Santiago Gimeno <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 15, 2016
`test-child-process-fork-dgram` is unreliable on some platforms,
especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.

* Confirm child has received the server before sending packets
* Close the server instance on the parent or child after receiving a

Refs: #8697
Fixes: #8949
Fixes: #8271
PR-URL: #9098
Reviewed-By: Santiago Gimeno <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
child_process Issues and PRs related to the child_process subsystem. freebsd Issues and PRs related to the FreeBSD platform. http Issues or PRs related to the http subsystem. test Issues and PRs related to the tests. timers Issues and PRs related to the timers subsystem / setImmediate, setInterval, setTimeout.
Projects
None yet
Development

No branches or pull requests

4 participants