Skip to content

[CI] dotnet/MSBuild intermittently exits 139 during restore and truncates binlogs #26215

Description

@dalexsoto

Additional info to collect

Copilot: please collect the following information for each occurrence of this issue:

  • Any crash reports for the crashed process. Upload them to the issue, or if that's not possible, create gists.
  • We have minidumps enabled for some parts of the build (DOTNET_DbgMiniDumpName); collect whether the crash created a minidump or not, and if so, a link to the artifact where the minidump was uploaded.

Failure signature

The dotnet process hosting MSBuild 18.9.3 (18.9.3+d88a8f149, SDK 10.0.400-preview.0.26360.120) intermittently exits with status 139 during the first second of project restore/evaluation:

Process dotnet exited with 139

The abrupt process death leaves the corresponding binlog truncated. Structured binlog analysis reports System.IO.EndOfStreamException: Unable to read beyond the end of the stream and a 0.0-second failed build.

Confirmed occurrences

PR / head Build and job Failing variation
#26200 / 966f7cc95666adf0926c09964990868e5f161864 14718622 - linker_tvos dont link/tvOS - simulator/Debug
#26202 / 1f6d35df981f18fd18fb67e70d4def97495f1daa 14718710 - interdependent-binding-projects interdependent-binding-projects/Mac Catalyst/Debug
#26204 / e91862693a70d34dfd66bcc1d6967fe986fb464b 14718779 - linker_macos link all/macOS/Debug

First observed: 2026-07-21 13:36 UTC. Latest observed: 2026-07-21 14:37 UTC. Recurrence: 3 jobs across 3 distinct monitored PRs.

Diagnosis and impact

This is nondeterministic CI infrastructure/tooling behavior rather than a source compilation failure:

  • It occurs in unrelated projects on tvOS, Mac Catalyst, and macOS.
  • The process dies during restore/evaluation before a product error is emitted.
  • Other variations in the same jobs complete successfully.
  • The only apparent binlog errors are consequences of the truncated stream.

Each occurrence fails an otherwise independent simulator-test job. The current workaround is to rerun failed jobs after confirming the PR is conflict-free and retry budgets permit it. The linked artifacts and task logs have limited retention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-failureThe issue only affects CIci-postmortemCI post-mortem analysis: flaky tests, infrastructure failures, shared regressionstestsAnything related to tests

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions