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 unreliable test-heapdump-http2 #34389

Closed
Trott opened this issue Jul 16, 2020 · 3 comments · Fixed by #34415
Closed

investigate unreliable test-heapdump-http2 #34389

Trott opened this issue Jul 16, 2020 · 3 comments · Fixed by #34415
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. http2 Issues or PRs related to the http2 subsystem.

Comments

@Trott
Copy link
Member

Trott commented Jul 16, 2020

test/pummel/test-heapdump-http2.js is failing when I run it in CI and locally. (It passes the nightly CI on a particular Linux machine, but fails on many other machines when I run it more broadly in CI.)

The error always looks like this:

AssertionError [ERR_ASSERTION]: Expect to find 1 'Node / StreamPipe', found 0
    at State.validateSnapshot (/Users/trott/io.js/test/common/heap.js:122:14)
    at State.validateSnapshotNodes (/Users/trott/io.js/test/common/heap.js:186:10)
    at ClientHttp2Stream.<anonymous> (/Users/trott/io.js/test/pummel/test-heapdump-http2.js:60:11)
    at ClientHttp2Stream.<anonymous> (/Users/trott/io.js/test/common/index.js:365:15)
    at ClientHttp2Stream.emit (events.js:314:20)
    at emit (internal/http2/core.js:299:8)
    at processTicksAndRejections (internal/process/task_queues.js:83:22) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 0,
  expected: 1,
  operator: 'strictEqual'
}
@addaleax addaleax added flaky-test Issues and PRs related to the tests with unstable failures on the CI. http2 Issues or PRs related to the http2 subsystem. labels Jul 16, 2020
@addaleax
Copy link
Member

What if you replace stream.respondWithFile(__filename); with stream.respondWithFile(process.execPath); in the test file? Maybe the test file is small enough on some operating systems to be sent immediately, without waiting for the receiving side to do anything.

@Trott
Copy link
Member Author

Trott commented Jul 17, 2020

What if you replace stream.respondWithFile(__filename); with stream.respondWithFile(process.execPath); in the test file? Maybe the test file is small enough on some operating systems to be sent immediately, without waiting for the receiving side to do anything.

That fixed it for me! 🎉

@addaleax
Copy link
Member

Great :) I think for a pummel test that is an acceptable solution.

@Trott Trott closed this as completed in a51436c Jul 19, 2020
cjihrig pushed a commit that referenced this issue Jul 23, 2020
Replace stream.respondWithFile(__filename) with
stream.respondWithFile(process.execPath). The test file is probably
small enough on some operating systems to be sent immediately, without
waiting for the receiving side to do anything.

The fix was figured out by addaleax.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Ref: #34389 (comment)
Fixes: #34389

PR-URL: #34415
Refs: #34389
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
MylesBorins pushed a commit that referenced this issue Jul 27, 2020
Replace stream.respondWithFile(__filename) with
stream.respondWithFile(process.execPath). The test file is probably
small enough on some operating systems to be sent immediately, without
waiting for the receiving side to do anything.

The fix was figured out by addaleax.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Ref: #34389 (comment)
Fixes: #34389

PR-URL: #34415
Refs: #34389
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
addaleax pushed a commit that referenced this issue Sep 22, 2020
Replace stream.respondWithFile(__filename) with
stream.respondWithFile(process.execPath). The test file is probably
small enough on some operating systems to be sent immediately, without
waiting for the receiving side to do anything.

The fix was figured out by addaleax.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Ref: #34389 (comment)
Fixes: #34389

PR-URL: #34415
Refs: #34389
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
addaleax pushed a commit that referenced this issue Sep 22, 2020
Replace stream.respondWithFile(__filename) with
stream.respondWithFile(process.execPath). The test file is probably
small enough on some operating systems to be sent immediately, without
waiting for the receiving side to do anything.

The fix was figured out by addaleax.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Ref: #34389 (comment)
Fixes: #34389

PR-URL: #34415
Refs: #34389
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. http2 Issues or PRs related to the http2 subsystem.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants