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 test-http2-large-writes-session-memory-leak on Windows CI #31089
Well, stress CI is green, perhaps the machine should be under heavy load (from other tests) for this to actually fail. Anyway, this doesn't seem to fail often (at all anymore?) so closing this for now.
Given what the test is doing, this is most likely hitting up against the max session memory limit. If the test has not accounted for that already, perhaps try increasing that limit significantly and seeing if the failure continues
Hmmm, this comment in the test suggests that the failures may indicate a memory leak.
// Regression test for https://github.com/nodejs/node/issues/29223.
// There was a "leak" in the accounting of session memory leading
// to streams eventually failing with NGHTTP2_ENHANCE_YOUR_CALM.
As with the other one I posted earlier and all the ones before that, it's a rackspace host. I haven't seen this fail on an azure host yet. If I recall correctly, the rackspace hosts are configured with different memory and CPU than the azure hosts.
Given what the test is doing, this is most likely hitting up against the max session memory limit. If the test has not accounted for that already, perhaps try increasing that limit significantly and seeing if the failure continues
The test sets maxSessionMemory to 1 Mb:
// Set maxSessionMemory to 1MB so the leak causes errors faster.
I've figured out how to replicate this in CI. I've applied 5a8e165f6d41b813e2b09c91472d16d6d6469994 which makes changes to vcbuild.bat such that it only runs this test a bunch of times, and then I run node-test-commit-windows-fanned jobs against the branch with that patch applied.
Will apply to the first branch that introduced this test and see if it was failing from the beginning. If not, I'll bisect to find the commit that introduced the failures.
Argh, I can't get 18a1796 to compile in CI so I can't test it. Here's the result: https://ci.nodejs.org/view/All/job/node-compile-windows/34942/ Any chance someone knowledgable from @nodejs/build and/or @nodejs/platform-windows can take a look and maybe make a suggestion for getting it to compile? I guess something changed with how we build in CI at some point?
I suspect the issue is this, but I'm also pretty ignorant about building on Windows:
23:57:12 > msbuild "C:\workspace\node-compile-windows\node\tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:WindowsTargetPlatformVersion=10.0.18362.0 /p:PlatformToolset=v142 /p:GypMsvsVersion=2019 /p:Configuration=Release /p:Platform=x64 /p:NodeVersion=14.0.0 /p:FullVersion=14.0.0 /p:DistTypeDir=release /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
23:57:13 custom_actions.cc
23:57:14 C:\workspace\node-compile-windows\node\tools\msvs\msi\custom_actions.cc(5,10): fatal error C1083: Cannot open include file: 'wcautil.h': No such file or directory [C:\workspace\node-compile-windows\node\tools\msvs\msi\custom_actions.vcxproj]
Argh, I can't get 18a1796 to compile in CI so I can't test it. Here's the result: https://ci.nodejs.org/view/All/job/node-compile-windows/34942/ Any chance someone knowledgable from @nodejs/build and/or @nodejs/platform-windows can take a look and maybe make a suggestion for getting it to compile? I guess something changed with how we build in CI at some point?
Turns out I don't need to compile that commit because a later commit (415bba) built just fine and stress test was good, so I'm going to bisect and find the bad commit now....
Activity
richardlau commentedon Jan 13, 2020
https://ci.nodejs.org/job/node-test-binary-windows-js-suites/1088/RUN_SUBSET=1,nodes=win2012r2-COMPILED_BY-vs2019-x86/console
test-rackspace-win2012r2_vs2017-x64-3
lundibundi commentedon Jan 29, 2020
Didn't fail on my local Windows vs2017 machine with
-j 32 --repeat 1000, trying out CIhttps://ci.nodejs.org/job/node-stress-single-test/38/
lundibundi commentedon Jan 30, 2020
Well, stress CI is green, perhaps the machine should be under heavy load (from other tests) for this to actually fail. Anyway, this doesn't seem to fail often (at all anymore?) so closing this for now.
bzoz commentedon Jun 1, 2020
Happened again two times:
the stress test is green though: https://ci.nodejs.org/job/node-stress-single-test/83/
Trott commentedon Jul 7, 2020
https://ci.nodejs.org/job/node-test-binary-windows-js-suites/4745/RUN_SUBSET=2,nodes=win2012r2-COMPILED_BY-vs2019-x86/console
test-rackspace-win2012r2_vs2017-x64-4
Trott commentedon Jul 7, 2020
Should the test gracefully handle
NGHTTP2_ENHANCE_YOUR_CALM? @nodejs/http2jasnell commentedon Jul 7, 2020
Given what the test is doing, this is most likely hitting up against the max session memory limit. If the test has not accounted for that already, perhaps try increasing that limit significantly and seeing if the failure continues
Trott commentedon Jul 7, 2020
Hmmm, this comment in the test suggests that the failures may indicate a memory leak.
Trott commentedon Jul 8, 2020
https://ci.nodejs.org/job/node-test-binary-windows-js-suites/4749/RUN_SUBSET=2,nodes=win2012r2-COMPILED_BY-vs2019-x86/console failed too. test-rackspace-win2012r2_vs2017-x64-4
As with the other one I posted earlier and all the ones before that, it's a rackspace host. I haven't seen this fail on an azure host yet. If I recall correctly, the rackspace hosts are configured with different memory and CPU than the azure hosts.
Trott commentedon Jul 8, 2020
I have been unable to duplicate this in the node-stress-single-test, running things in parallel, etc. This is frustrating....
Trott commentedon Jul 8, 2020
The test sets maxSessionMemory to 1 Mb:
test: add debugging output for flaky test
Trott commentedon Jul 11, 2020
I've figured out how to replicate this in CI. I've applied 5a8e165f6d41b813e2b09c91472d16d6d6469994 which makes changes to
vcbuild.batsuch that it only runs this test a bunch of times, and then I run node-test-commit-windows-fanned jobs against the branch with that patch applied.Here's the master branch with that patch applied showing many failures: https://ci.nodejs.org/job/node-test-commit-windows-fanned/37176/
Will apply to the first branch that introduced this test and see if it was failing from the beginning. If not, I'll bisect to find the commit that introduced the failures.
Trott commentedon Jul 11, 2020
Argh, I can't get 18a1796 to compile in CI so I can't test it. Here's the result: https://ci.nodejs.org/view/All/job/node-compile-windows/34942/ Any chance someone knowledgable from @nodejs/build and/or @nodejs/platform-windows can take a look and maybe make a suggestion for getting it to compile? I guess something changed with how we build in CI at some point?
I suspect the issue is this, but I'm also pretty ignorant about building on Windows:
Trott commentedon Jul 11, 2020
Turns out I don't need to compile that commit because a later commit (415bba) built just fine and stress test was good, so I'm going to bisect and find the bad commit now....
Trott commentedon Jul 11, 2020
Bisected! The problematic commit is 51ccf1b.
Revert "http2: streamline OnStreamRead streamline memory accounting"
Revert "http2: streamline OnStreamRead streamline memory accounting"
Revert "http2: streamline OnStreamRead streamline memory accounting"
Revert "http2: streamline OnStreamRead streamline memory accounting"
Revert "http2: streamline OnStreamRead streamline memory accounting"
Revert "http2: streamline OnStreamRead streamline memory accounting"