-
Couldn't load subscription status.
- Fork 5.2k
Closed
Labels
Milestone
Description
These TcpReceiveSendGetsCanceledByDispose tests fail on our internal CI server on rhel7:
System.Net.Sockets.Tests.SendReceive_SpanSyncForceNonBlocking.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: False, dualModeClient: True)
System.Net.Sockets.Tests.SendReceive_SpanSyncForceNonBlocking.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: True, dualModeClient: False)
System.Net.Sockets.Tests.SendReceive_Sync.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: False, dualModeClient: True)
System.Net.Sockets.Tests.SendReceive_Sync.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: True, dualModeClient: False)
System.Net.Sockets.Tests.SendReceive_SyncForceNonBlocking.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: False, dualModeClient: True)
System.Net.Sockets.Tests.SendReceive_SyncForceNonBlocking.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: True, dualModeClient: False)
System.Net.Sockets.Tests.SendReceive_SpanSync.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: False, dualModeClient: True)
System.Net.Sockets.Tests.SendReceive_SpanSync.TcpReceiveSendGetsCanceledByDispose(receiveOrSend: True, ipv6Server: True, dualModeClient: False)
The tests that are failing are matching this condition:
runtime/src/libraries/System.Net.Sockets/tests/FunctionalTests/SendReceive/SendReceive.cs
Lines 1002 to 1005 in 5a47690
| // RHEL7 kernel has a bug preventing close(AF_UNKNOWN) to succeed with IPv6 sockets. | |
| // In this case Dispose will trigger a graceful shutdown, which means that receive will succeed on socket2. | |
| // TODO: Remove this, once CI machines are updated to a newer kernel. | |
| bool expectGracefulShutdown = UsesSync && PlatformDetection.IsRedHatFamily7 && receiveOrSend && (ipv6Server || dualModeClient); |
The failure exception is masked by the Timeout ([Theory(Timeout = 40000)]) that is applied to this test:
<failure exception-type="Xunit.Sdk.TestTimeoutException">
<message><![CDATA[Test execution timed out after 40000 milliseconds]]></message>
<stack-trace><![CDATA[]]></stack-trace>
</failure>cc @antonfirsov