-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Intermittent test-tls-inception failure on windows #5386
Comments
@santigimeno an FYI |
@gibm can you add a |
I added this on line 64, And got this: |
Thanks. I'm trying to reproduce it here, in the meantime, and this is a blind guess, but replacing |
That change does make a difference, the test now fails more intermittently (about 20% of the time), and now fails with:
|
@gibm I can't reproduce the original error :(. Taking the initial version of the test, if you reduce the size of the buffer from |
@santigimeno Interesting that it isn't failing for you. So if you build v4.3.1 on a Windows 7 64bit machine and run Reducing the size of the buffer doesn't seem to make a difference either with socket.end() or socket.destroy(). I get the same errors. |
@gibm Sorry for not pointing out before but I have no Looking at the commit that changed the buffer size: d00b9fc, I changed it because it made the error that was trying to fix reproducible in a consistent way in It's interesting to note that this test hasn't been failing on the CI since the change was included, maybe we could run a stress test job in the CI once is back online to see if it can be reproducible. |
@santigimeno Oh I see, I haven't noticed any failures on any other platforms either! I've just tried running it 100 times successively for each buffer length. For length It'd be good to try to work out what the cause of the problem is, especially if Adding |
@gibm Yes that's odd. Maybe there's no real solution to the |
Maybe asking @indutny about this, as he was the creator of the test? |
try piping the error events from your various emitters to dev/null that will likely stop everything from exploding edit: example --> https://github.com/nodejs/node/blob/master/test/parallel/test-debugger-util-regression.js#L55-L62 |
@thealphanerd Handling the error does make the test pass, however if there is an error, doesn't that mean that the test should be failing? I know the assert still passes which suggests otherwise, but just catching the error and then ignoring it feels like a bad idea. socket.on('error', function (err) { console.error(err); }); |
@thealphanerd You may be right about it being a bug in But I don't actually know. It's true that we've seen this in tests more than once and a deeper/better assessment of what's going on would be good. |
we need to make a consistently reproduceable test... which is sooooo hard |
/cc @nodejs/platform-windows |
@thealphanerd well this test does fail pretty consistently without the error handler. It doesn't fail every time, but I have yet to have it run successfully more than twice in a row on Windows 7 64bit. |
I couldn't make this test fail on Windows 2012. I will try Windows 2008. @gibm What type of machine are you getting these failures on? Virtual machine? How many processors? Do you have free memory or is the machine under stress? I'll try to create similar conditions locally. |
@joaocgreis I'm pretty sure I was running this on my Windows 7 laptop locally (dual core i7 Broadwell, 16Gb RAM). I'll check again tomorrow though. It wouldn't be under much load, and there should be plenty of free RAM. Interesting that you couldn't get it to fail, I'll try it on a win 2012 VM. Were you testing Node v4? |
Node compiled from tag |
@joaocgreis would you be able to test on |
I tried all combinations of Windows {2008, 2012}, node {4.3.1, 4.4.2} and {x86, x64}. Ran the test 100 times for each, no failures. @gibm could this be something specific of your machine? Could you try to run it on a different computer? |
I have now retested on my Win 7 laptop, a Win 7 VM, and a Win 2012 VM (all 64 bit). On my laptop, if I download the Node 4.4.2 binary, put it in node/Release (using the git v4.4.2 tag), and run If I build v4.4.2 myself with If I download the Node v4.4.2 binary on the Win 7 VM, I get the problem about once in 200 runs. If I download the Node v4.4.2 binary on the Win 2012 VM, I get the problem very occasionally (I only saw one failure in several thousand runs). It also only takes 0.2s (the others took about 0.5s).
I also noticed that my manual build was about 8.5 MB, while the one I downloaded was about 13.9 MB. Not sure if this is relevant. So it does seem like there is a specific problem with my machine, but I am still seeing failures elsewhere. @joaocgreis could you try running this test with the downloaded binary on a W7 box, and maybe running it a few hundred times? I'll try and test this on some more machines. If I'm using the wrong options somewhere, then please let me know! |
/cc @nodejs/lts @jasnell |
v4.4.2 x64, downloaded
(All VMs, all test times are about 0.2s) Now that I have a repro I can investigate. |
@joaocgreis Tested on my Windows 10 laptop and didn't see any failures in 2000 runs. |
@thealphanerd this is not LTS specific, I get the same failures on Windows 7 with 5.10.1. |
Just got it on master branch (with one other test changed): https://ci.nodejs.org/job/node-test-binary-windows/2719/RUN_SUBSET=2,VS_VERSION=vs2013,label=win2008r2/console
|
Still seeing this. Here's one from today:
|
ping @joaocgreis I closed the PR to fix this as I suspect it would just be papering over the issue for this specific test case. |
Still haven't given up on this one. This might be related to other ECONNRESET errors on Windows. |
Have not seen this one for a long time. Feel free to re-open if you disagree, but I'm inclined to close. I'm just tidying up and not acting on a super-strong opinion or anything like that. |
I'm getting this error on v4.3.1 while running the parallel test suite, it seems to happen about 30% of the time.
python tools/test.py --mode=release --progress=tap parallel/test-tls-inception
Let me know if I forgot to include any info!
The text was updated successfully, but these errors were encountered: