Repository navigation
Investigate flaky test-http-agent #6133
Description
Activity
- addedhttpIssues and PRs related to the http subsystem.Issues and PRs related to the http subsystem.testIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.armIssues and PRs related to the ARM architecture.Issues and PRs related to the ARM architecture.
on Apr 9, 2016 Ref: #5346
While looking at this test being flaky in February, it was discovered to fail always on a connection in the low 20s. In other words, if it failed, it failed on connection 22 or 23 or 24, but never on 16 or 36 or 46 or 59 or...
Which was very odd...
And now it seems that we're seeing that number creep lower resulting in increased flakiness on Pi 2 devices. I have no explanation. It's really weird.
/cc @nodejs/build @rvagg
Ugh. Not sure what to do. Bringing it down to 12 or so would probably fix it, but it would seem that in another month, we'd likely be facing the same issue again.
cc @nodejs/testing
While looking at this test being flaky in February, it was discovered to fail always on a connection in the low 20s. In other words, if it failed, it failed on connection 22 or 23 or 24, but never on 16 or 36 or 46 or 59 or...
@Trott Would it be worth stress testing the test with the source code we had in February, just to check whether it's a problem in the code or in the raspberry bots?
@santigimeno I suppose that's worth a shot.
And, another one: https://ci.nodejs.org/job/node-test-binary-arm/1728/RUN_SUBSET=2,nodes=pi2-raspbian-wheezy/tapTestReport/test.tap-53/
And another: https://ci.nodejs.org/job/node-test-binary-arm/1723/RUN_SUBSET=2,nodes=pi2-raspbian-wheezy/console
I suppose it's superfluous to document them all here as the test is now failing so often.
Per @santigimeno's suggestion, here are three CI stress tests:
And one more, also at @santigimeno's suggestion:
Confounding results: Previous version of the test (that used 100 connections) failed, of course.
But no failures on any of the other stress tests, including current master.
Maybe its flakiness is dependent on other things going on on the network or something? I mean, it shouldn't be, right? Maybe confirm that the test is using localhost and not something odd like the machine's networked IP or (would this next one even work?) a broadcast address or something...
Continues to fail with alarming frequency. Running CI stress test against master. https://ci.nodejs.org/job/node-stress-single-test/596/nodes=pi2-raspbian-wheezy/console
22 remaining items
Tests confirm that 757fbac is the last good commit and b85a50b is the first bad one. Now the questions are:
- Is the problem one of configuration with the Pi2 devices?
- Or is the problem with the code change running on Pi2 (which is just Linux, right? and not that different from other Pi devices on which we're not seeing problems, right?)
- Or is the problem in the test somehow?
Does this only happen on a specific subset of the Pi2s?
I'd think that the change in b85a50b would cause something to break completely, not in a flaky manner. That test also doesn't have a great track record.
FWIW. I run 4 stress test jobs with current master, reverting the suspect commit and they all passed:
@cjihrig asked:
Does this only happen on a specific subset of the Pi2s?
Nope, I'm afraid not, at least not as far as I've been able to tell.
Trying a partial revert of b85a50b. Stress test at https://ci.nodejs.org/job/node-stress-single-test/655/ with the
ADDRCONFIGflag added back.@cjihrig, it might be worth running multiple smaller (~100 times) jobs so it picks different pi2's, just to be sure it's fixed, as we have seen runs without failures before and maybe it's somehow dependent on the bot its running on.
Smaller series of stress tests on @cjihrig's partial revert per @santigimeno's suggestion:
- https://ci.nodejs.org/job/node-stress-single-test/656/
- https://ci.nodejs.org/job/node-stress-single-test/657/
- https://ci.nodejs.org/job/node-stress-single-test/658/
- https://ci.nodejs.org/job/node-stress-single-test/659/
- https://ci.nodejs.org/job/node-stress-single-test/660/
- https://ci.nodejs.org/job/node-stress-single-test/661/
They all came back green!
Reacted by Santiago Gimeno- added a commit that references this issue
on Apr 25, 2016 - added a commit that references this issue
on Apr 26, 2016
Example failure on pi2-raspbian-wheezy #1
Example failure on pi2-raspbian-wheezy #2
Similar issue here as in #5938?
Output: