dotnet / dotnet/macios

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

Open
#26,215 42 comments 0 reactions 0 assignees View on GitHub
ci-failure ci-postmortem tests
Dominant language
C#
Stars
2.9k
Forks
576
Avg merge
2d 17h
Merged PRs (30d)
108

Description

## 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:

```text
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](https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=14718622&view=logs&jobId=7d1d3c93-1e25-5188-e4ae-f2099cdf50dd) | `dont link/tvOS - simulator/Debug` |
| #26202 / `1f6d35df981f18fd18fb67e70d4def97495f1daa` | [14718710 - interdependent-binding-projects](https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=14718710&view=logs&jobId=423b2900-bf2a-55b5-1a4f-b15b829a55ad) | `interdependent-binding-projects/Mac Catalyst/Debug` |
| #26204 / `e91862693a70d34dfd66bcc1d6967fe986fb464b` | [14718779 - linker_macos](https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=14718779&view=logs&jobId=1df6e9c4-19a8-54e7-464f-11abfb1bddb9) | `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.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked build and task logs for the three confirmed occurrences, then check the crash reports and whether DOTNET_DbgMiniDumpName produced a minidump. Compare the restore/evaluation failures and truncated binlogs across the listed PRs and build variations. Done means identifying a reproducible cause or actionable diagnostic evidence for the intermittent exit 139.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, ci-cd, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.