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

test: fix flaky test-http-client-timeout-event #10293

Closed

Conversation

Trott
Copy link
Member

@Trott Trott commented Dec 15, 2016

Checklist
  • make -j4 test (UNIX), or vcbuild test nosign (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

test http

Description of change

Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.
@Trott Trott added 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. labels Dec 15, 2016
@Trott
Copy link
Member Author

Trott commented Dec 15, 2016

Sample CI failure:

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

not ok 464 parallel/test-http-client-timeout-event
  ---
  duration_ms: 1.240
  severity: fail
  stack: |-
    
    assert.js:85
      throw new assert.AssertionError({
      ^
    AssertionError: 0 === 1
        at Timeout._onTimeout (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-http-client-timeout-event.js:28:12)
        at ontimeout (timers.js:365:14)
        at tryOnTimeout (timers.js:237:5)
        at Timer.listOnTimeout (timers.js:207:5)

@Trott
Copy link
Member Author

Trott commented Dec 15, 2016

I am able to replicate that failure locally by running the test in parallel with itself:

tools/test.py -j 32 parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event parallel/test-http-client-timeout-event

Result:

=== release test-http-client-timeout-event ===                    
Path: parallel/test-http-client-timeout-event
assert.js:85
  throw new assert.AssertionError({
  ^
AssertionError: 0 === 1
    at Timeout._onTimeout (/Users/trott/io.js/test/parallel/test-http-client-timeout-event.js:28:12)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-http-client-timeout-event.js
=== release test-http-client-timeout-event ===                   
Path: parallel/test-http-client-timeout-event
assert.js:85
  throw new assert.AssertionError({
  ^
AssertionError: 0 === 1
    at Timeout._onTimeout (/Users/trott/io.js/test/parallel/test-http-client-timeout-event.js:28:12)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-http-client-timeout-event.js
[00:01|% 100|+  30|-   2]: Done  

Running the same command with the changes in this PR results in success.

@Trott
Copy link
Member Author

Trott commented Dec 15, 2016

@Trott
Copy link
Member Author

Trott commented Dec 15, 2016

@nodejs/testing

@Trott
Copy link
Member Author

Trott commented Dec 16, 2016

The widget keeps reporting arm as failing on various pull requests even when it's successful (like here). Not sure what's up with that, but I guess /cc @jbergstroem as an FYI.

@Trott
Copy link
Member Author

Trott commented Dec 16, 2016

CI stress test showing current master failing: https://ci.nodejs.org/job/node-stress-single-test/1074/nodes=freebsd10-64/console

CI stress test showing this branch passing: https://ci.nodejs.org/job/node-stress-single-test/1075/nodes=freebsd10-64/console

Trott added a commit to Trott/io.js that referenced this pull request Dec 19, 2016
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: nodejs#10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@Trott
Copy link
Member Author

Trott commented Dec 19, 2016

Landed in 348e69c

@Trott Trott closed this Dec 19, 2016
cjihrig pushed a commit to cjihrig/node that referenced this pull request Dec 20, 2016
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: nodejs#10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@italoacasas italoacasas mentioned this pull request Dec 20, 2016
cjihrig pushed a commit that referenced this pull request Dec 20, 2016
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: #10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jan 22, 2017
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: #10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jan 24, 2017
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: #10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Jan 24, 2017
MylesBorins pushed a commit that referenced this pull request Jan 31, 2017
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.

PR-URL: #10293
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@Trott Trott deleted the fix-flaky-http-client-timeout-event branch January 13, 2022 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants