Skip to content

ThreadPoolBoundHandleTests.MultipleOperationsOverSingleHandle_CompletedWorkItemCountTest timed out #47979

Closed
@danmoseley

Description

@danmoseley
Console log: 'System.Threading.Overlapped.Tests' from job 3b35b4cb-4e38-4976-af50-781bfa993c05 workitem 323d7522-2635-4b16-91cc-5b49cdf6e797 (windows.7.amd64.open.rt) executed on machine a000KGO
    ThreadPoolBoundHandleTests.MultipleOperationsOverSingleHandle_CompletedWorkItemCountTest [FAIL]
      Assert.InRange() Failure
      Range:  (0 - 30000)
      Actual: 30015
      Stack Trace:
        /_/src/libraries/Common/tests/System/Threading/ThreadTestHelpers.cs(147,0): at System.Threading.Tests.ThreadTestHelpers.WaitForConditionWithCustomDelay(Func`1 condition, Action delay)
        /_/src/libraries/Common/tests/System/Threading/ThreadTestHelpers.cs(117,0): at System.Threading.Tests.ThreadTestHelpers.WaitForCondition(Func`1 condition)
        /_/src/libraries/System.Threading.Overlapped/tests/ThreadPoolBoundHandle_IntegrationTests.netcoreapp.cs(16,0): at ThreadPoolBoundHandleTests.MultipleOperationsOverSingleHandle_CompletedWorkItemCountTest()
  Finished:    System.Threading.Overlapped.Tests

Looking at the test, it waits on some async IO to complete (so IO delay is not the issue as it's completed) and then waits up to 30 seconds, checking every 1 ms for ThreadPool.CompletedWorkItemCount to grow to a value at least 2 larger than before the IO happened.

I did at first think that the use of Environment.TickCount here might be fragile, as it will wrap every ~month the computer has been running, but that would still produce the correct value unless the interval was comparable with that period of time.
https://github.com/dotnet/runtimelab/blob/43f8f4f66ea6c7216d5a60d44df3ff4713863279/src/libraries/Common/tests/System/Threading/ThreadTestHelpers.cs#L147

Helix didn't seem to register this in Kusto as a failure, so I can't query failure history, but Azdo does, and it shows one other recent failure, a few hours apart.

Console log: 'System.Threading.Overlapped.Tests' from job 0e164bfa-2125-453f-b408-b425e865cd01 (windows.10.amd64.server20h1.open.rt) using docker image mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-2004-helix-amd64-20200904200251-272704c on a000Z2T

For what it's worth, a000KGO seems to have been rebooted shortly before running the test, although as mentioned, I do'nt think TickCount wrap is relevant.

@kouvel ?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions