-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
inspector: Use default uv_listen backlog size #20254
Conversation
CI: https://ci.nodejs.org/job/node-test-pull-request/14478/ So far, this issue was only hit by a test case but there's a potential for it to be hit if some tool sends too many requests too fast. |
The provided test doesn't fail when |
The problem is that if it starts failing that way, then no one is going to think it's a bug in the code. They're going to think the test is unreliable and "fix" it rather than the bug in the code. |
Although I did just confirm that this un-breaks |
@nodejs/v8-inspector |
It reliably fails for me on macOS. But it is timing related - new client needs to attempt connection while the inspector still have not accepted the previous connection. |
Looks like the test fails on Docker bots. I will reduce the number of connection attempts to 10 and will try again. I tried 10 connections on my Mac and I see failures roughly 8 runs out of 10. |
I am trying to find out how the value 0 ends up picking the uv default size. AFAICT, In the man pages for either mac or on Linux, I cannot find reference to the value 0 being special either. Am I missing something? |
@ofrobots you are right, that seems to be a bad value. I simply tried it while debugging the test value, it worked on Mac but seems to be a bad value for Linux. I changed to 511 as that's what the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a comment about the test.
In the man pages for either mac or on Linux, I cannot find reference to the value 0 being special either.
It is on macos; 0 makes it default to kern.ipc.somaxconn
(normally 128.)
console.log(`Interation ${number} done`); | ||
return response; | ||
} catch (e) { | ||
console.error(`Iteration ${number} failed`, e); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the exception bubble up? Also, there seems to be no point in returning response
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many relevant CI failures along the lines of:
16:51:36 not ok 1862 parallel/test-inspector-stress-http
16:51:36 ---
16:51:36 duration_ms: 120.69
16:51:36 severity: fail
16:51:36 exitcode: -15
16:51:36 stack: |-
16:51:36 timeout
Moving the test to sequential
rather than parallel
may fix it, or at least help a bit.
@Trott - I believe that was an old run. That timeout was a result of the 0 backlog on Linux. |
PR-URL: #20254 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Test was updated, the CI is still green: https://ci.nodejs.org/job/node-test-pull-request/14529/ Will land now |
Landed as 71059fb |
PR-URL: #20254 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes