-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
WebSocket Tests and Fixes #17136
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
WebSocket Tests and Fixes #17136
Conversation
a455089
to
212a5a0
Compare
Analysis of PR #17136 at 212a5a00: Test 2700 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Test 2712 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Test 2707 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Test 2709 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Test 2711 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Test 2708 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Test 2710 failed, which has NOT been flaky recently, so there could be a real issue in this PR. There are more failures, but that's enough from Gha. Generated by Testclutch |
212a5a0
to
a9cf700
Compare
32c9fdd
to
5e41730
Compare
@viscruocco LGTM from my end, can you rebase to the latest master to make the codespell issue go away? |
e54cfee
to
04e7117
Compare
@vszakats Yay! Done! 😊 |
btw: this PR is missing the |
04e7117
to
f4f92f0
Compare
Thanks! |
Trying to avoid the occasional ~6-minute long delays seen in the OpenBSD since last week. The long delay causes the CI job to timeout and fail: https://github.com/curl/curl/actions/workflows/non-native.yml?page=2&query=branch%3Amaster The exact reason is or test number is unknown. I base this attempt on looking at the first occurrences and possible patches that may be related. The issue was first seen in CI within PR #17136: ``` [...] Wed, 07 May 2025 07:10:30 GMT test 3014...[Check if %{num_headers} returns correct number of headers] Wed, 07 May 2025 07:10:30 GMT s-p----e--- OK (1743 out of 1778, remaining: 00:02, took 0.195s, duration: 01:43) Wed, 07 May 2025 07:10:30 GMT test 3016...[GET a directory using file://] [long delay here] Wed, 07 May 2025 07:16:17 GMT ------- Wed, 07 May 2025 07:16:17 GMT Error: The operation was canceled. ``` Ref: https://github.com/curl/curl/actions/runs/14877264415/job/41776966626#step:3:5566 Ref: https://github.com/curl/curl/actions/runs/14900320627/job/41850699301#step:3:5561 (next in PR) Then in master, shortly after merging it via d3594be: ``` [...] Mon, 02 Jun 2025 09:23:55 GMT test 3201...[HTTP GET when PROXY Protocol enabled and spoofed client IP] Mon, 02 Jun 2025 09:23:55 GMT --p----e--- OK (1777 out of 1788, remaining: 00:00, took 0.222s, duration: 01:42) Mon, 02 Jun 2025 09:23:55 GMT RUN: failed to start the HTTP/2 server Mon, 02 Jun 2025 09:23:55 GMT test 3202...[HTTP-IPv6 GET with PROXY protocol with spoofed client IP] [long delay here] Mon, 02 Jun 2025 09:29:48 GMT --p----e--- OK (1778 out of 1788, remaining: 00:00, took 0.1 Mon, 02 Jun 2025 09:29:48 GMT Error: The operation was canceled. ``` Ref: https://github.com/curl/curl/actions/runs/15388587165/job/43292652793#step:3:5097 Ref: https://github.com/curl/curl/actions/runs/15390589464/job/43298911578#step:3:5097 (next in master) Closes #17562
Suggested-by: Calvin Ruocco Follow-up to 05db18e curl#17562 Follow-up to d3594be curl#17136
Trying to avoid the occasional ~6-minute long delays seen in the OpenBSD since last week. The long delay causes the CI job to timeout and fail: https://github.com/curl/curl/actions/workflows/non-native.yml?page=2&query=branch%3Amaster The exact reason is or test number is unknown. I base this attempt on looking at the first occurrences and possible patches that may be related. The issue was first seen in CI within PR curl#17136: ``` [...] Wed, 07 May 2025 07:10:30 GMT test 3014...[Check if %{num_headers} returns correct number of headers] Wed, 07 May 2025 07:10:30 GMT s-p----e--- OK (1743 out of 1778, remaining: 00:02, took 0.195s, duration: 01:43) Wed, 07 May 2025 07:10:30 GMT test 3016...[GET a directory using file://] [long delay here] Wed, 07 May 2025 07:16:17 GMT ------- Wed, 07 May 2025 07:16:17 GMT Error: The operation was canceled. ``` Ref: https://github.com/curl/curl/actions/runs/14877264415/job/41776966626#step:3:5566 Ref: https://github.com/curl/curl/actions/runs/14900320627/job/41850699301#step:3:5561 (next in PR) Then in master, shortly after merging it via d3594be: ``` [...] Mon, 02 Jun 2025 09:23:55 GMT test 3201...[HTTP GET when PROXY Protocol enabled and spoofed client IP] Mon, 02 Jun 2025 09:23:55 GMT --p----e--- OK (1777 out of 1788, remaining: 00:00, took 0.222s, duration: 01:42) Mon, 02 Jun 2025 09:23:55 GMT RUN: failed to start the HTTP/2 server Mon, 02 Jun 2025 09:23:55 GMT test 3202...[HTTP-IPv6 GET with PROXY protocol with spoofed client IP] [long delay here] Mon, 02 Jun 2025 09:29:48 GMT --p----e--- OK (1778 out of 1788, remaining: 00:00, took 0.1 Mon, 02 Jun 2025 09:29:48 GMT Error: The operation was canceled. ``` Ref: https://github.com/curl/curl/actions/runs/15388587165/job/43292652793#step:3:5097 Ref: https://github.com/curl/curl/actions/runs/15390589464/job/43298911578#step:3:5097 (next in master) Closes curl#17562
Narrowing down the test which may be causing the flaky 6-minute long delays and CI failures. Suggested-by: Calvin Ruocco Ref: curl#17562 (comment) Follow-up to 05db18e curl#17562 Follow-up to d3594be curl#17136 Closes curl#17588
This started out as regression tests for the
curl_ws_recv()
andcurl_ws_send()
implementation and ended up with a bugfix, additional protocol validation and minor logging improvements.Bugfixes
Additional Validations
Logging Improvements
CURL_TRC_WS
log level.[WS] ...
New Debug Feature
CURL_WS_FORCE_ZERO_MASK
in debug builds.<protocol>
data in test cases.Added Tests
Removed Tests
Known Shortcomings
CURLOPT_WRITEFUNCTION
.