-
Notifications
You must be signed in to change notification settings - Fork 595
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
Bug accepting timed-out connections with IPv6 (C#) #2677
Comments
I have been debugging this for a while, for IPv6 case I see
Here startAsyncs from TcpAcceptor is throwing an ArgumentException, but the connection factory only handles
|
Handling the exception solves the shutdown hang. The acceptor is still closed as result of the exception and new connections are rejected. |
Good, can you create a PR to fix this bug? |
I'm unable to reproduce the ArgumentException with a simpler test case in plain .NET. |
Sounds like dotnet/runtime#102663 ? |
Yes. It is likely the same issue. I was able to reproduce the problem with a .NET debug build, and the test hits and assert in .NET. I reported the details in the dotnet/runtime issue issue with a possible workaround. |
An object adapter in the Holding state keeps accepting connections by does not read them and does not send a ValidateConnection message until it's back in the Active state.
With this test:
https://github.com/zeroc-ice/ice/compare/main...bernardnormier:connect-holding?expand=1
Furthermore, with IPv6, the server never shuts down (waitForShutdown never returns), because "_handler.pending" never reaches 0.
Partial server logging with comments for IPv4 (expected behavior):
Partial server logging with comments for IPv6 (unexpected behavior):
(All on macos)
The text was updated successfully, but these errors were encountered: