Skip to content
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

[9.0] Guard against empty Accept address #111366

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 13, 2025

Backports #108616

Fixes #108026 and #102663

/cc @wfurt

Customer Impact

  • Customer reported

There is problem in 8.0+ when Socket.Accept can fail and throw exception on background thread on macOS, which leads to application termination. This was already reported by 2 customers who upgraded to 8.0 from previous LTS 6.0 - see #108026 and #102663.

Regression

  • Yes - from 7.0 to 8.0

Prior 8.0 we used internal duplicate of class SocketAddress that was apparently more forgiving in certain corner cases. We switch in 8.0 to usage of public API that is more strict.

Testing

The fix was merged to main and verified by customer. Also 8.0 binaries were tested in their lab. See #108334 (comment) for details.

Risk

Low. The fix basically checks for error condition to avoid throwing. It seems like the condition is coming from Darwin kernel where sometime accept operation fails to provide remote address.

Copy link
Contributor

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

@wfurt wfurt requested a review from a team January 13, 2025 19:52
@wfurt wfurt self-assigned this Jan 13, 2025
@wfurt wfurt added the Servicing-approved Approved for servicing release label Jan 13, 2025
@wfurt wfurt added this to the 9.0.x milestone Jan 13, 2025
@wfurt
Copy link
Member

wfurt commented Jan 13, 2025

Approved by .NET Shiproom (@SteveMCarroll) over email on 1/8. Marking Servicing-approved.
(same as #108334)

@karelz karelz changed the title [release/9.0-staging] [main] guard agains empty Accept address [9.0] Guard against empty Accept address Jan 13, 2025
@MihaZupan
Copy link
Member

/ba-g build failure is dotnet/dnceng#3008

@MihaZupan MihaZupan merged commit 2b19745 into release/9.0-staging Jan 14, 2025
84 of 90 checks passed
@jkotas jkotas deleted the backport/pr-108616-to-release/9.0-staging branch January 16, 2025 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Net.Sockets Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants