Skip to content

Conversation

@bagder
Copy link
Member

@bagder bagder commented Dec 26, 2025

More strict torture findings

@bagder bagder marked this pull request as ready for review December 26, 2025 22:37
@testclutch
Copy link

Analysis of PR #20100 at 5c85b0db:

Test ../../tests/http/test_07_upload.py::TestUpload::test_07_70_put_earlydata[h3-limited-body] failed, but it has been 0.5% flaky lately, so it's probably NOT a fault of the PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them).

Generated by Testclutch

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request improves error handling for out-of-memory (OOM) conditions across three different components, ensuring that OOM errors are properly propagated rather than being masked by generic error codes.

Key changes:

  • Properly map OOM errors from underlying functions to appropriate error codes
  • Add early exit on OOM in socket creation loops to prevent unnecessary iterations
  • Detect OOM conditions from socket creation failures based on errno values

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
lib/urlapi.c Converts CURLE_OUT_OF_MEMORY from Curl_parse_login_details to CURLUE_OUT_OF_MEMORY instead of generic CURLUE_BAD_LOGIN
lib/ftp.c Adds early return when Curl_socket_open fails with CURLE_OUT_OF_MEMORY to avoid continuing the retry loop
lib/cf-socket.c Maps socket creation failures with SOCKENOMEM errno to CURLE_OUT_OF_MEMORY instead of generic CURLE_COULDNT_CONNECT

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bagder
Copy link
Member Author

bagder commented Dec 27, 2025

augment review

@augmentcode
Copy link

augmentcode bot commented Dec 27, 2025

🤖 Augment PR Summary

Summary: Tightens libcurl error propagation so out-of-memory conditions are returned explicitly instead of being reported as generic connection/login failures.
Changes: Detect ENOMEM on socket creation, propagate CURLE_OUT_OF_MEMORY through FTP PORT setup, and map it to CURLUE_OUT_OF_MEMORY in the URL API.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@bagder bagder closed this in 19ca87d Dec 27, 2025
bagder added a commit that referenced this pull request Dec 27, 2025
bagder added a commit that referenced this pull request Dec 27, 2025
@bagder bagder deleted the bagder/lib-oom branch December 27, 2025 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants