Skip to content

cDAC dump tests (windows-arm64): test host fails fast on a FileStream assert in ClrMD's Minidump.ReadThreadData #135559

Description

@pcshrosbree

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1630021
Build error leg or test failing: CdacTests / windows-arm64 release CdacDumpTest - CdacDumpTests.WorkItemExecution
Pull request: #135516

Error Details

On Helix (Windows.11.Arm64.Open), the cDAC dump-test host failed fast partway through the run, with exit code -2146232797 (0x80131623, COR_E_FAILFAST). No xunit results file was written, so no individual test is reported as failed. The console shows a CoreLib Debug.Assert firing on a thread-pool thread while ClrMD was reading a minidump:

Process terminated.
Assertion failed.
FileStream ensures that strategy is not closed
   at System.IO.Strategies.BufferedFileStreamStrategy.AssertBufferArguments(Byte[] buffer, Int32 offset, Int32 count) in /_/src/libraries/System.Private.CoreLib/src/System/IO/Strategies/BufferedFileStreamStrategy.cs:line 1043
   at System.IO.Strategies.BufferedFileStreamStrategy.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken) in /_/src/libraries/System.Private.CoreLib/src/System/IO/Strategies/BufferedFileStreamStrategy.cs:line 283
   at System.IO.FileStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken) in /_/src/libraries/System.Private.CoreLib/src/System/IO/FileStream.cs:line 291
   at System.IO.Stream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count) in /_/src/libraries/System.Private.CoreLib/src/System/IO/Stream.cs:line 302
   at Microsoft.Diagnostics.Runtime.Windows.Minidump.ReadAsync(Stream stream, Byte[] buffer, Int32 count)
   ...
   at Microsoft.Diagnostics.Runtime.Windows.Minidump.ReadThreadData(Stream stream)
   ...
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.cs:line 129
   at System.Threading.Thread.StartCallback(Thread* pThread) in /_/src/coreclr/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs:line 114

The assertion indicates that the stream's strategy was already closed when ReadAsync checked it. One possibility is that the stream was disposed while ReadThreadData was still pending, but the cause is not established, and I have not reproduced it locally.

In the same build, CdacDumpTest passed on the other seven platforms: windows-x64, windows-x86, linux-x64, linux-arm64, linux-arm, osx-arm64 and osx-x64. #135516 changes only Loader-related cDAC files: Loader_1.cs, its design doc Loader.md, and its unit tests and mock descriptors.

This is a different signature from #134879. There, createdump writes a truncated dump and the affected tests fail with InvalidDataException; here the test host itself fails fast. No createdump failure is logged before this assertion.

Helix console: https://helix.dot.net/api/2019-06-17/jobs/09a6bb23-59ee-4a78-951c-a2e9bbd5e769/workitems/CdacDumpTests/console

Error Message

{
  "ErrorMessage": [
    "FileStream ensures that strategy is not closed",
    "at Microsoft.Diagnostics.Runtime.Windows.Minidump.ReadThreadData("
  ],
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Activity

  1. dotnet-policy-service commented on Oct 10, 2026

    @dotnet-policy-service
    Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-System.IOuntriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions