Skip to content

[CI] Parallel MonoTouch.Dialog Csc writes cause MSB3026 in PublishAotMonoTouchTest #26688

Description

@dalexsoto

Summary

Parallel MSBuild project instances compile MonoTouch.Dialog.tvOS.csproj to the same intermediate assembly. A completed instance starts copying that assembly while another compiler task is still active, producing MSB3026. The inner build recovers, but Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") fails its unexpected-warning gate.

Classification: source-related, timing-dependent build-graph/shared-output race; not an IL2009 failure or an infrastructure outage.

Confirmed scope: 3 test occurrences across 3 distinct monitored PRs. First retained observation: 2026-09-21 19:51:31 UTC. Latest confirmed observation: 2026-09-23 15:57:41 UTC.

Occurrences

All three use pipeline xamarin-macios-sim-pr-tests (21922), T: dotnettests_tvos / Run tests, stage/job/task attempt1, and SDK 11.0.100-rc.2.26465.108.

Error and causal evidence

MSB3026: Could not copy "obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll"
to "bin/Debug/net11.0-tvos/MonoTouch.Dialog.dll".
Beginning retry 1 in 1000ms.
The process cannot access the source file because it is being used by another process.

Both current binlogs independently show two Csc tasks for the same project emitting obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll, overlapping execution, and CopyFilesToOutputDirectory warning while a compiler remains active. Both inner builds succeed with zero errors. Their one unexpected copy warning, among otherwise expected build warnings, fails warnings.AssertWarnings(expectedWarnings) in ProjectTest.cs. That file's Git blob is identical across the two new PR heads.

The test's inner build uses RuntimeIdentifier=tvossimulator-arm64, UseFloatingTargetPlatformVersion=true, PublishAot=true, _IsPublishing=true, and TrimmerSingleWarn=false. The library output remains shared under obj/Debug/net11.0-tvos.

This MSBuild file-copy retry is not an Azure pipeline retry and does not increment pipeline retry accounting.

Impact, investigation and limits

The warning fails the complete tvOS unit-test job, including on the documentation-only #26677. No source fix or reliable workaround is verified. Investigate why duplicate project instances share the output, then deduplicate/serialize the writers or isolate their intermediates rather than suppressing the warning.

Searches covered open and closed issues using the exact copy error, test name, file-lock fragment and component. Inspected candidates #26192 (workload SDK resolver), #13526 (ILStrip resource-output collision), and #26537 (NativeAOT DispatchGroup deadlock) have different roots. #26537's file-lock comments are only historical context; no explicit copy-race canonical redirect was found. The older #26417 lead is not counted because its underlying build-graph evidence could not be recovered.

Binlog MCP initialization was unavailable; an offline reader analyzed the original CI binlogs. It skipped five unsupported record-kind35 events per current binlog. The conclusions use supported compiler/copy events and independently matching NUnit output. Replay times are used only for relative ordering; absolute UTC test times above come from NUnit/Azure. The exact OS lock-holder identity and the property difference creating duplicate project instances are not established.

No monitor-triggered retry, source edit, warning-baseline change, worktree, commit or push was performed. The two current pipelines remain active; source failures and incomplete all-actor retry accounting block retries. Worker identifiers and IP addresses are withheld.

Diagnostic artifacts

Evidence was collected from each linked run's HtmlReport-simulator_testsdotnettests_tvos-1 and all-binlogs-test-simulator_testsdotnettests_tvos-<run>-1-1 artifacts. Relevant inner binlogs are under macios/tests/monotouch-test/dotnet/tvOS/:

  • run15400505: log-build-20260921_115655.binlog (retained primary analysis).
  • run15431477: log-build-20260923_082736.binlog.
  • run15431402: log-build-20260923_082139.binlog.

Azure artifacts are retention-limited. Stable signature: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning.

AI-assisted CI monitoring analysis.

Activity

  1. added
    bugIf an issue is a bug or a pull request a bug fix
    ci-postmortemCI post-mortem analysis: flaky tests, infrastructure failures, shared regressions
    on Sep 23, 2026
  2. added this to the Future milestone on Sep 23, 2026
  3. dalexsoto commented on Sep 23, 2026

    @dalexsoto
    MemberAuthor

    Confirmed recurrence on PR #26574's replacement head

    PR #26574, head fe3c25fda59f9b5966f81fda854967bc5916300c, reproduces the same shared-output compiler/copy race in run15431900 / dotnettests_tvos / Run tests, pipeline21922, stage/job/task attempt1, log2585.

    PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") ran at 2026-09-23 16:10:38-16:12:25 UTC. Its own binlog shows:

    • Two MonoTouch.Dialog.tvOS.csproj compiler contexts, 5:31 and 4:121, emit the same obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll.
    • Their Csc tasks overlap for 0.656761s. The copy warning occurs while compiler 4:121 remains active.
    • The inner build succeeds with zero errors, but the one unexpected MSB3026 in-use-file copy warning fails the warning assertion.

    Counts: 4 confirmed occurrences across 3 distinct monitored PRs. This is a new head/run on an already counted PR, not a fourth PR. The classification remains source-related build-graph race; an MSBuild internal copy retry is not an Azure retry request.

    No monitor retry, source edit or warning suppression was performed. The parent pipeline remains active, and exact all-actor retry accounting remains uncertified. No permanent fix or recovery is established for this source race.

    Diagnostics/checklist: the freshly read body has no Additional info to collect section. Exact run/head/attempt/job/task/test, original NUnit assertion and compiler/copy event ordering were collected. Five unsupported record-kind35 events were skipped by the offline binlog reader; supported events corroborate the original assertion. Exact OS lock-holder identity and the graph-property difference causing duplicate instances remain unavailable. Worker identifiers and IPs are withheld.

    Evidence: HtmlReport-simulator_testsdotnettests_tvos-1, original tests/DotNet-tests/322/results-20260923_084439.xml, and all-binlogs-test-simulator_testsdotnettests_tvos-15431900-1-1/macios/tests/monotouch-test/dotnet/tvOS/log-build-20260923_091038.binlog. Artifacts are retention-limited. The issue remains open.

    AI-assisted CI monitoring update.

  4. dalexsoto commented on Sep 23, 2026

    @dalexsoto
    MemberAuthor

    Exact test recovered on an external retry; shared compiler outputs remain

    PR #26677, unchanged head c68e18446410437640b16187ba4b797ccc88b4c6, passed run15431402 / dotnettests_tvos / Run tests, attempt2, pipeline21922, stage/job attempt2, task-record attempt1, log3195.

    The original PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") case genuinely ran and Passed at 2026-09-23 17:54:17-17:56:11 UTC. Its original NUnit file has190 passing leaves,806 skipped and2 inconclusive, with zero failures. The job succeeded at 18:09:00 UTC.

    The retry's own inner binlog independently records a successful build with zero errors and no matching MSB3026 copy warning. However, two compiler instances still emit the same obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll and overlap for0.866594s.

    This is a retry recovery, not a source fix or infrastructure reclassification. The source/build-graph race remains; linked fix PR #26692 was refreshed and is open/unmerged, so this run is not claimed to validate that fix.

    Counts remain4 confirmed failure occurrences across3 distinct monitored PRs. A passing retry adds no failure and resets no budget. This retry was externally initiated; no monitor retry, warning suppression or source/worktree/commit/push change was performed. Exact all-actor request accounting remains uncertified, and the separate iOS retry is still running.

    Diagnostics/checklist: the freshly read body has no Additional info to collect section. Exact current-attempt case/result/duration, job/task identity and original binlog compiler/output events were collected. Five unsupported kind35 events were skipped by the offline reader; supported events and the original NUnit result corroborate the outcome. Exact OS lock-holder identity and the graph-property difference remain unavailable. Worker identifiers and IPs are withheld.

    Evidence: HtmlReport-simulator_testsdotnettests_tvos-2, tests/DotNet-tests/322/results-20260923_102719.xml, and all-binlogs-test-simulator_testsdotnettests_tvos-15431402-2-2/macios/tests/monotouch-test/dotnet/tvOS/log-build-20260923_105417.binlog. Artifacts are retention-limited. The issue remains open.

    AI-assisted CI monitoring update.

  5. dalexsoto commented on Sep 23, 2026

    @dalexsoto
    MemberAuthor

    Original tvOS test passed on #26574's external retry

    #26574, head fe3c25fda59f9b5966f81fda854967bc5916300c: Azure run 15431900, T: dotnettests_tvos / Run tests, pipeline 21922, simulator stage/job attempt 2, task-record attempt 1. The exact Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") case ran and Passed at 18:53:56-18:56:19 UTC; T: dotnettests_tvos succeeded at 19:13:27 UTC. The TestSummary reports one passing suite, and the retry's NUnit XML records 190 passed, 806 skipped, 2 inconclusive, and zero failed cases.

    The original attempt-1 MSB3026 from parallel MonoTouch.Dialog compilation remains a confirmed source-related shared-output race (stable signature source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning). A successful execution of this one case is not a source fix or whole-pipeline recovery: the same run's linker retry failed, monotouch_ios remains active, and linked fix #26692 is open/unmerged. Counts remain 4 confirmed failure occurrences across 3 distinct monitored PRs; a passing retry adds no failure and resets no retry budget.

    This retry was externally initiated; its exact all-actor accepted-request grouping remains uncertified. No monitor retry or branch change was made. Issue-specific checklist: none in the refreshed issue body. Exact case/result/time were collected from HtmlReport-simulator_testsdotnettests_tvos-2, tests/DotNet-tests/322/results-20260923_111905.xml; the lock-holder identity and build-graph property difference remain unknown. Azure artifacts are retention-limited; worker identifiers and machine IPs are withheld.

  6. dalexsoto commented on Sep 23, 2026

    @dalexsoto
    MemberAuthor

    #26412's exact tvOS test passed on its external retry

    Formerly monitored #26412, head e20a59c63b0e653556588eafc7f2e0c2a2627383, began its external retry before closing without a merge. In Azure run 15431477, T: dotnettests_tvos / Run tests, pipeline 21922, simulator stage/job attempt 2, task-record attempt 1, the original Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") case ran and Passed from 19:12:33 to 19:14:57 UTC. T: dotnettests_tvos succeeded at 19:31:21 UTC; NUnit records 192 passed, 0 failed, 811 skipped, 2 inconclusive cases.

    Its original attempt-1 MSB3026 parallel MonoTouch.Dialog copy race remains a confirmed source-related failure, stable signature source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning. This retry recovery does not validate a source fix: linked #26692 remains open/unmerged. Counts remain 4 confirmed failures across 3 distinct monitored PRs; a passing retry adds no failure. The simulator stage and parent run finished failed because the separate iOS NativeAOT job crashed; a later publication checkout could not fetch the merge ref of the now-closed PR. No new retry or branch edit was made, and exact all-actor accepted-request grouping remains uncertified.

    Issue-specific checklist: none in the refreshed issue body. The exact case/result and times were collected from HtmlReport-simulator_testsdotnettests_tvos-2, tests/DotNet-tests/322/results-20260923_113721.xml. The original race's OS lock-holder and duplicate-project property difference remain unavailable; worker identifiers and machine IPs are withheld. Azure artifacts are retention-limited; no Helix work item applies.

  7. dalexsoto commented on Sep 24, 2026

    @dalexsoto
    MemberAuthor

    Confirmed exact copy-race recurrence on a fourth monitored PR

    PR #26683, head 204bc97f6a535e1dfc37d1f0231ad8722386fa24: Azure run 15441688 attempt 1 / T: dotnettests_tvos / Run tests, pipeline 21922, stage/job/task attempt 1, task log 2391.

    Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") ran 2026-09-24 03:01:53–03:03:40 UTC and failed on the same unexpected MSB3026 warning: obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll was in use while copying to bin/Debug/net11.0-tvos/MonoTouch.Dialog.dll.

    The original inner binlog confirms parallel MonoTouch.Dialog.tvOS.csproj compiler contexts 5:31 and 3:120 emitting the same intermediate DLL; their Csc tasks overlap 0.662660s, and the copy warns while 3:120 is active. The inner build succeeds with zero errors, but its unexpected warning fails the test. This reproduces the exact source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning signature under .NET SDK 12.0.100-alpha.1.26473.105.

    Canonical total: 5 confirmed failure occurrences across 4 distinct monitored PRs (#26574, #26412, #26677, #26683). Linked fix PR #26692 is still open/unmerged; this run is not fix validation. Retries: none requested by this monitor; the MSBuild file-copy retry is not an Azure retry. The source/build-graph race remains; deduplicate/serialize competing writers or isolate intermediate outputs rather than suppress the warning.

    Issue-specific checklist: no Additional info to collect section in the refreshed issue body; no additional diagnostic items requested. The OS lock-holder identity and project-graph property responsible for duplicate instances remain unavailable. Worker identifiers and IPs are withheld; no Helix work item applies. Evidence: HtmlReport-simulator_testsdotnettests_tvos-1 (NUnit XML tests/DotNet-tests/322/results-20260923_193542.xml) and all-binlogs-test-simulator_testsdotnettests_tvos-15441688-1-1 (macios/tests/monotouch-test/dotnet/tvOS/log-build-20260923_200153.binlog). The offline reader skipped five unsupported records; supported compiler/copy events and NUnit output agree. Azure artifacts are retention-limited.

  8. dalexsoto commented on Sep 24, 2026

    @dalexsoto
    MemberAuthor

    Fifth monitored PR with the MonoTouch.Dialog tvOS Copy warning

    #26690, head 654d6560b6f85cd5ed7d85cbec336d733dbb6b21, Azure simulator run 15445610 / T: dotnettests_tvos job 09d26b41-67aa-54a4-f0c7-0e78dc94babc, Run tests task 9a1d6032-bbdf-52cd-3966-c68f45e66853 (log 2563): Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") failed at 2026-09-24 12:16:03 UTC because its unexpected-warning gate saw a Microsoft.Common.CurrentVersion.targets:4934 Copy retry. The source obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll was in use by another process while being copied to bin/Debug/net11.0-tvos/MonoTouch.Dialog.dll.

    TestSummary-simulator_testsdotnettests_tvos-1 reports one failure, and HtmlReport-simulator_testsdotnettests_tvos-1 contains the exact failed NUnit case in tests/DotNet-tests/322/results-20260924_044902.xml; the inner execute-20260924_044902.txt confirms the file-lock Copy warning. This matches #26688's established source/build-graph race signature source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning: the same test, tvOS DLL paths, Copy retry and file-in-use error. Prior occurrences established concurrent compiler writers; this attempt's NUnit/text output confirms the same symptom, but its failed inner build has no usable binlog to independently re-prove the writer overlap. The PR's MonoVM AppSize baseline deletion is a separate change, not the failing gate.

    Totals: 6 confirmed failures across 5 distinct monitored PRs. The simulator parent build and other jobs were still running at observation. No retry was requested: this is a source-related build-graph failure, not an authorized infrastructure/flaky-test retry; no Rolf branch source edit was made. Exact all-actor accepted-request counters remain uncertified. The issue body has no Additional info to collect section; no Helix work item applies to this Azure simulator job. Azure report artifacts are retention-limited.

    AI-assisted CI monitoring update.

  9. 11 remaining items

  10. dalexsoto commented on Sep 28, 2026

    @dalexsoto
    MemberAuthor

    #26576: externally retried simulator parent run finished succeeded

    #26576, unchanged head 28427e7844e56f788f9eb6d0e645906d6077daa8: Azure simulator run 15482690 reached terminal completed/succeeded at 2026-09-28 04:30:19 UTC. The earlier issue update recorded that an externally started Simulator tests stage attempt 2 succeeded at 04:25:54 UTC: reexecuted T: dotnettests_tvos job 30656afa-9cdb-5a89-66df-554903d0c3a2 succeeded at 04:02:47 UTC after the attempt-1 MonoTouch.Dialog.dll copy lock, and T: monotouch_macos job 9b4072e1-8a05-5d1c-d112-8a93eb30af0f also succeeded at 04:25:49 UTC. The latter had separate unresolved old-attempt NUnit failures.

    Signature/classification: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning — the source-related shared-output race remains the diagnosis of the historical attempt-1 occurrence. Terminal parent-run success is a newly verified external retry outcome, not an additional failure, a source/Makefile correction, or proof that the exact old NUnit case passed: its retry XML was not independently inspected. Totals remain 14 confirmed issue records across 13 monitored PRs. The monitor submitted no retry and made no changes to Rolf's branch. All-actor accepted-request grouping and the hard lifetime/head counters remain uncertified.

    Additional info to collect: The refreshed issue body requests none for the original failure or this terminal run outcome; no requested items are unavailable or not permitted. Case-level rerun status is not established from job and parent success alone. Azure run artifacts have limited retention.

  11. dalexsoto commented on Sep 28, 2026

    @dalexsoto
    MemberAuthor

    #26734: exact MonoTouch.Dialog iOS refint CopyRefAssembly lock

    #26734, head 59f213e47fb5620d77193e00cecc6f510ada84e8 (rolfbjarne): initial Azure simulator run 15462229, Simulator tests stage/job attempt 1, T: monotouch_ios job a70ed34c-97c9-5ebb-c5be-8e2604f5ffcc / Run tests task 113cecf5-45b6-5477-24c3-52ec12451502, task log 2874. TestSummary-simulator_testsmonotouch_ios-1 reports 19 passing configurations and one BuildFailure, iOS simulator Release (all optimizations); its raw HtmlReport build log execution 111 failed at 2026-09-25 14:18:29 UTC with MSB3883 CopyRefAssembly / IOException: MonoTouch.Dialog.iOS.csproj could not access the shared refint/MonoTouch.Dialog.dll because another process held the file. No NUnit test ran in that configuration.

    Signature/classification: source-related|MSBuild|MonoTouch.Dialog.iOS|parallel-Csc-shared-refint|CopyRefAssembly-MSB3883-source-file-in-use — source-related shared-intermediate/parallel-Csc file-lock race, identical project/refint/MSB3883 failure previously confirmed on #26731 and the broader #26688 root. The canonical ledger now has 15 confirmed occurrences across 14 distinct monitored PRs. An external Simulator tests stage attempt 2 is reexecuting the failed iOS job; no recovery is inferred while active.

    At the last GitHub refresh, this PR was CONFLICTING / DIRTY. The monitor therefore requested no retry and did not attempt to resolve conflicts; the pre-existing external attempt was not initiated by it. Rolf's branch was not edited. Issue-specific diagnostics: The refreshed issue body has no Additional info to collect section. Exact head/run/stage/job/task, TestSummary, raw build log and file-lock target were checked; a Helix work item and NUnit output are unavailable because this is a pre-test build failure. Artifacts have limited retention.

  12. dalexsoto commented on Sep 28, 2026

    @dalexsoto
    MemberAuthor

    #26734: prior-head external attempt ended with canceled parent; job result unavailable

    The previously reported #26734, head 59f213e47fb5620d77193e00cecc6f510ada84e8 (rolfbjarne), Azure simulator run 15462229 initial attempt 1 failed T: monotouch_ios job a70ed34c-97c9-5ebb-c5be-8e2604f5ffcc / Run tests task 113cecf5-45b6-5477-24c3-52ec12451502 (log 2874, execution 111) before NUnit: MSB3883 CopyRefAssembly / another process locking shared refint/MonoTouch.Dialog.dll. This remains the confirmed source-related|MSBuild|MonoTouch.Dialog.iOS|parallel-Csc-shared-refint|CopyRefAssembly-MSB3883-source-file-in-use source-related parallel-intermediate race, not a new occurrence.

    New outcome: The external Simulator tests stage/job attempt 2 was reexecuting T: monotouch_ios job a82441db-bb83-5a9b-9451-a8501e963a31 when the PR head was superseded. Its old-head parent run completed canceled at 2026-09-28 18:33:47 UTC. Azure returned an empty timeline after cancellation; the stage/job attempt-2 final result is unavailable, so it cannot be called passed or a source fix. The new head ad95b7ba8498f713865a997fa32bd0a892efd86c has its own initial CI running; no same-configuration fix validation has been established. One observed stage attempt does not establish the accepted-request count or requested retry scope.

    The exact iOS MSB3883 signature still has 2 confirmed occurrences across 2 monitored PRs (#26731 and #26734); across all related file-lock signatures this canonical issue records 15 occurrences across 14 PRs. Issue-specific diagnostics: The refreshed body has no Additional info to collect section. Exact prior PR/head/run/stage/job/task, old-parent cancellation, missing post-cancel timeline and new-head CI state were checked; the attempted job result is unavailable because Azure did not return a timeline, and there was no Helix work item/NUnit result for the pre-test build failure. No monitor retry or Rolf source edit; complete 25-PR-lifetime/10-head accepted-request accounting remains uncertified. Azure artifacts have limited retention.

  13. dalexsoto commented on Sep 28, 2026

    @dalexsoto
    MemberAuthor

    #26734: exact MonoTouch.Dialog iOS configuration passed on a new head; parent now green

    The previously reported #26734, head 59f213e47fb5620d77193e00cecc6f510ada84e8 (rolfbjarne), Azure simulator run 15462229 attempt 1 failed iOS simulator Release (all optimizations) execution 111 before NUnit on MSB3883 CopyRefAssembly: a concurrent process held obj/iPhoneSimulator/Release/net11.0-ios/refint/MonoTouch.Dialog.dll. Its external stage/job attempt 2 ended with a canceled parent and unavailable job outcome, reported earlier; it was not a proven retry pass.

    New, exact-configuration outcome — head ad95b7ba8498f713865a997fa32bd0a892efd86c: The independent, automatically triggered initial Simulator run 15489262 (definition 21922, PR merge ref 04935faf4f2bb5fa85a1aa4dfa1dd55817c8d3d2) queued at 2026-09-28 18:02:02 UTC. Its attempt-1 T: monotouch_ios job a70ed34c-97c9-5ebb-c5be-8e2604f5ffcc / Run tests task 113cecf5-45b6-5477-24c3-52ec12451502 (task log 2890) succeeded at 20:13:08 UTC. The raw HtmlReport-simulator_testsmonotouch_ios-1 Release (all optimizations) build log execution 111 copies the same refint/MonoTouch.Dialog.dll reference assembly; the build succeeded without MSB3883. Matching test execution 112 produced valid NUnit XML with zero failed cases (some cases skipped or inconclusive). TestSummary reports 20/20 iOS configurations passed. The tvOS job finished succeeded 20:20:56 UTC, Simulator tests stage 20:21:04 UTC, and its parent run completed succeeded at 20:25:10 UTC. The current PR check rollup has 52 successes, 3 skips and no active/failing checks; the independent build and API-diff initial runs on this head also succeeded.

    Signature/classification: source-related|MSBuild|MonoTouch.Dialog.iOS|parallel-Csc-shared-refint|CopyRefAssembly-MSB3883-source-file-in-use — the original source-related parallel-build shared-refint file-lock race. This is a changed-head initial-run recovery of an already counted failure, not a retry, another occurrence, or proof of a durable source fix. The exact MSB3883 signature remains 2 confirmed occurrences across 2 monitored PRs, and the closed canonical issue's related lock signatures total 15 across 14 PRs.

    The issue is CLOSED/COMPLETED since 2026-09-28 19:28:13 UTC because fix PR #26692 merged. This run queued before that merge; the green result does not establish that #26734 incorporated the merged fix, and one pass cannot rule out an intermittent race. Do not reopen a fix-merged issue closed less than two weeks ago without a proven post-fix regression.

    Issue-specific diagnostics: The refreshed body has no Additional info to collect section. Both exact heads/runs, old lock/error and canceled unknown retry, new build target and NUnit outcome, and terminal stage/parent/issue-closure times were checked. No Helix work item exists for this direct Azure simulator job; artifacts have limited retention. No monitor retry or Rolf source edit was made, and complete all-actor 25/PR-lifetime and 10/head accepted-request histories remain uncertified.

  14. added a commit that references this issue on Sep 28, 2026
    f60f71e
  15. dalexsoto commented on Sep 29, 2026

    @dalexsoto
    MemberAuthor

    #26766: tvOS MonoTouch.Dialog shared-output Copy warning before the merged fix

    #26766, exact head 460b87ec572e07b73a0c01c0c36d12b7ed913414 (rolfbjarne): initial simulator run 15489086, T: dotnettests_tvos, attempt 1, Run tests, NUnit execution 254. On 2026-09-28 18:47:28–18:49:19 UTC, Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") failed its unexpected-warning assertion. The raw HtmlReport-simulator_testsdotnettests_tvos-1/tests/DotNet-tests/254/results-20260928_112908.xml records Microsoft.Common.CurrentVersion.targets:4934 Could not copy "obj/Debug/net11.0-tvos/MonoTouch.Dialog.dll" to "bin/Debug/net11.0-tvos/MonoTouch.Dialog.dll"; Beginning retry 1 in 1000ms; the source file was being used by another process. TestSummary has 1 failed / 0 passing DotNet-tests configurations; NUnit XML has 174 passing cases and one failed case. This is the exact tvOS test/path/warning root established by earlier canonical binlogs; the holder of the file lock in this particular run is unavailable.

    Signature/classification: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning — a timing-dependent source-related shared-output build-graph race, not IL2009 or an Azure retry. 11 confirmed occurrences across 10 distinct monitored PRs, with #26766 newly counted. The separate iOS SpringBoard abort on this PR is reported under #26227; its 900-second no-NUnit case remains unresolved and is not a tvOS lock occurrence. The external simulator stage attempt 2 is reexecuting tvOS and iOS jobs; its exact test outcome is still pending.

    This failed case ended 39 minutes before fix PR #26692 merged at 2026-09-28 19:28:12 UTC; the issue was CLOSED/COMPLETED at 19:28:13 UTC. Do not reopen: this is a pre-fix run and the fix-merged closure is under two weeks old. No verified workaround or current-run lock holder is known.

    Issue-specific diagnostics: the refreshed issue body has no Additional info to collect section. PR/head, run/stage/job name/attempt, failing test/execution, times and exact SDK 11.0.100-rc.2.26470.103 Copy warning came from authorized TestSummary and NUnit XML. Azure replaced the original job/task IDs when it started attempt 2; no Helix item applies. Retained artifacts have limited lifetime. No monitor retry: source-related root ineligible, external equivalent active and exact all-actor 25-PR-lifetime / 10-head accepted-request budgets uncertified. Rolf's source branch remains unchanged.

  16. dalexsoto commented on Sep 29, 2026

    @dalexsoto
    MemberAuthor

    #26766 external tvOS attempt canceled before validating the earlier Copy warning

    #26766, exact head 460b87ec572e07b73a0c01c0c36d12b7ed913414: simulator run 15489086, externally initiated T: dotnettests_tvos stage/job attempt 2, job 30656afa-9cdb-5a89-66df-554903d0c3a2 / Run tests task 7edaeab3-fb58-518b-44a2-64d9e079a5ac (task log 3134). Azure canceled the job at its 180-minute worker limit on 2026-09-29 09:17:47 UTC; the parent ended failed at 09:21:39. DotNet tests (All) finished building at 06:46:46, but a dotnet test process remained running without published test results until cancellation. There is no attempt-2 TestSummary, HtmlReport/NUnit result or primary binlog for PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64"); the initial attempt-1 MonoTouch.Dialog.dll file-lock warning remains confirmed, but its exact test did not have a verified retry outcome.

    Signature/classification: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning remains 11 confirmed Copy-warning occurrences across 10 distinct monitored PRs. The new attempt-2 outcome is an unresolved job-limit cancellation, not another Copy-warning occurrence, a fix validation or evidence that the warning persists after the fix. The initial case failed before fix PR #26692 merged at 2026-09-28 19:28:12 UTC; this issue remains CLOSED/COMPLETED since 19:28:13 and is not reopened under the recent merged-fix rule. The same run's iOS job had a separate unresolved 180-minute limit; the prior SpringBoard launch root is tracked under #26227.

    Issue-specific diagnostics: the refreshed issue body has no Additional info to collect section. Exact head, run/attempt/job/task/log, last build/test-process output, Azure cap message and artifact inventory were checked; an exact retry test result, current-run lock holder, compiler/process stack and Helix item are unavailable. Logs have limited retention. No monitor retry: upstream job-limit cause and all-actor accepted Azure request totals for the 25-PR-lifetime / 10-head budgets are unresolved; Rolf's source branch was not edited.

  17. dalexsoto commented on Sep 29, 2026

    @dalexsoto
    MemberAuthor

    #26766: external tvOS attempt 3 passed the exact earlier Copy-warning case

    #26766, exact head 460b87ec572e07b73a0c01c0c36d12b7ed913414: externally initiated simulator run 15489086, Simulator tests / T: dotnettests_tvos stage/job attempt 3, job 3d89c5cf-68fc-5180-7e57-67c1eacb1411 / Run tests task b27c1779-1ca1-556b-81ca-2985b959734d (log 3376). The job completed succeeded at 2026-09-29 18:28:00 UTC. TestSummary-simulator_testsdotnettests_tvos-3 reports its one variation passed; HtmlReport-simulator_testsdotnettests_tvos-3 XML confirms Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") Passed, 18:15:19–18:17:10 UTC in 110.683 seconds. The retained attempt-3 test console has zero MSB3026 entries. The prior external attempt 2 had ended at the worker-job cap before publishing a test result.

    Signature and scope: the original source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning remains 11 confirmed Copy-warning failures across 10 distinct monitored PRs. This pass is a partial retry outcome, not a new Copy-warning occurrence, a complete green simulator pipeline or proof that the source race was fixed: the same run's T: monotouch_ios job and parent were still in progress at inspection. The original failure preceded fix PR #26692's merge. Canonical #26688 remains CLOSED/COMPLETED since 2026-09-28 19:28:13 UTC and is not reopened.

    Issue-specific diagnostics: refreshed issue body has no Additional info to collect section. Exact PR/head/run/stage/job/task and NUnit variation, pass time/duration, artifact names and absence of the Copy warning in retained console were collected. The OS lock holder from the original failed run, any whole-pipeline outcome for this still-active attempt, and a Helix work item for this direct Azure job are unavailable; Azure artifacts are retention-limited. No monitor retry or source edit: a source-related race is not retried to hope for green, accepted Azure request counts for 25-per-PR-lifetime / 10-per-head remain uncertified, and Rolf's branch is source-read-only.

  18. dalexsoto commented on Sep 29, 2026

    @dalexsoto
    MemberAuthor

    #26766: full simulator stage and parent now succeeded after the verified tvOS case pass

    #26766, head 460b87ec572e07b73a0c01c0c36d12b7ed913414: Azure simulator run 15489086, externally initiated stage attempt 3, T: dotnettests_tvos job 3d89c5cf-68fc-5180-7e57-67c1eacb1411 and T: monotouch_ios job f184b60d-41ed-595a-0d93-d653d9488b65. The exact PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") case passed in the tvOS artifact, as already reported in the earlier partial update. Since then, the iOS sibling and entire simulator stage also succeeded; the parent finished succeeded at 2026-09-29 19:47:49 UTC. The PR was merged at 19:50:46 UTC.

    The original source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning remains 11 confirmed Copy-warning occurrences across 10 distinct monitored PRs. This final parent result is a new external retry outcome, not a new Copy-warning occurrence or proof of a source fix. The issue remains closed/completed; this successful rerun does not invalidate its closure. The issue body has no Additional info to collect requests. Azure parent/stage and both job attempts were checked, with the exact tvOS case and absence of MSB3026 already verified from the previous TestSummary/HtmlReport and test console; no Helix work item applies. Artifacts are retention-limited. No monitor retry or source edit; accepted-request 25-PR/10-head counts across actors remain uncertified and this is a Rolf-authored branch.

  19. added a commit that references this issue on Oct 2, 2026
    936520e
  20. dalexsoto commented on Oct 2, 2026

    @dalexsoto
    MemberAuthor

    Two release tvOS MonoTouch.Dialog shared-output warnings

    Signature: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning. 13 confirmed exact-signature occurrences across 12 distinct monitored PRs; this batch adds 2 previously unprocessed occurrence(s).

    Diagnosis and collection:
    Each exact PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") NUnit assertion reports the same MonoTouch.Dialog.dll shared-obj file lock and copy retry warning in Microsoft.Common.CurrentVersion.targets:4934. End times: 2026-10-02T18:00:23Z (#26824), 18:26:29Z (#26830). The known shared-output source defect is not a flaky test. A primary publish binlog was not identified in these HTML result artifacts; raw NUnit assertions retain the exact warning and path. Keep CLOSED: the main fix #26692 is under two weeks old; these release heads do not establish failure of that fixed main revision.

    Issue-specific checklist: the freshly read body has no Additional info to collect section; no requested diagnostic item is pending. Exact per-occurrence PR/head/run/definition/stage/job/task/attempt/log/test or configuration, timestamps where published, artifact/member identities and fingerprints are retained.
    Unavailable/not established — precise_upstream_or_filesystem_interleaving: Not isolated beyond the confirmed assertion mechanism. Attributed scopes: #26824/run 15551466/job 09d26b41-67aa-54a4-f0c7-0e78dc94babc, #26830/run 15551721/job 09d26b41-67aa-54a4-f0c7-0e78dc94babc.
    Unavailable/not established — helix_work_item: Not applicable: direct Azure tests. Attributed scopes: #26824/run 15551466/job 09d26b41-67aa-54a4-f0c7-0e78dc94babc, #26830/run 15551721/job 09d26b41-67aa-54a4-f0c7-0e78dc94babc.

    No worker identifiers, machine addresses, credentials or raw environment blocks are published. No Helix item applies to these direct Azure jobs; diagnostics are retention-limited. No monitor source edit, binding/suppression change, retry or reopening.

  21. dalexsoto commented on Oct 2, 2026

    @dalexsoto
    MemberAuthor

    Newly verified CI evidence (2026-10-02)

    Signature: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning. Classification: source-related.

    Exact-signature counts: 14 confirmed occurrences / 13 distinct monitored PRs. Canonical aggregate: 19 records / 18 PRs, preserving separate aliases. This batch adds 1 exact failure records.

    PR #26815 / run 15552592, head 5f98a15d2422513690ef5cd6dd49fa2ea3a654d3, pipeline xamarin-macios-sim-pr-tests / definition21922, job 09d26b41-67aa-54a4-f0c7-0e78dc94babc, task 9a1d6032-bbdf-52cd-3966-c68f45e66853, stage/job/task 1/1/1, log 2582. 1 new test/configuration records: Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64").

    Per-occurrence diagnostic facts: {"artifact":"HtmlReport-simulator_testsdotnettests_tvos-1","member":"tests/DotNet-tests/322/results-20261002_120505.xml","outer_sha256":"fec2ec0db00f9832f42d3f27c12439acc0926741fe92c837fe6ec21fac12c11b","test_start":"2026-10-02T19:30:34Z","test_end":"2026-10-02T19:32:22Z"}.

    The exact assertion-time primary publish binlog independently confirms MSB3026 in CopyFilesToOutputDirectory/Copy at targets line4934, the same MonoTouch.Dialog obj/Debug/net11.0-tvos output and two Csc invocations. Inner build succeeded with zero errors, while the unexpected-warning assertion failed. XML/TRX mirror one test and count once. Generic double-write detection returned none and some task IDs disagreed: mismatched task details and unverified overlap are not used. Keep CLOSED/COMPLETED for release recurrence without post-fix-main regression; MSBuild copy retry is not an Azure retry.

    Issue-specific checklist: fresh body has no Additional info to collect section. Every included occurrence has its own source-member/hash and exact attribution retained. Unavailable diagnostic facts are stated above; worker identifiers and machine/peer addresses are withheld without independent publication permission. No Helix work items apply to these direct Azure jobs.

    Retry/fix outcome: no monitor-triggered retry, source change, suppression, commit/push or reopening. All-actor accepted-request grouping and full lifetime/head counters remain uncertified; attempts are not accepted-request counts and successes do not reset budgets. Source/deterministic/unresolved failures are not retried. Azure artifacts/logs are retention-limited.

    Artifacts.

  22. dalexsoto commented on Oct 3, 2026

    @dalexsoto
    MemberAuthor

    Exact same-head external attempt2 outcome

    #26815 / 5f98a15d2422513690ef5cd6dd49fa2ea3a654d3

    Run15552592, dotnettests_tvos job2, definition21922, stage/job2/2, succeeded 2026-10-03T13:31:50.48Z; publisher2 and parent succeeded, parent finished 2026-10-03T13:35:54.838566+00:00. Unchanged-head PR merged 2026-10-03T13:36:14Z. Azure previousAttempts links original job 09d26b41-67aa-54a4-f0c7-0e78dc94babc.

    Source-GUID-matched TestSummary-simulator_testsdotnettests_tvos-2 reports its configuration passed. Unmodified HtmlReport-simulator_testsdotnettests_tvos-2 member tests/DotNet-tests/322/results-20261003_053837.xml verifies exact Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") Passed, 2026-10-03T13:13:33Z--2026-10-03T13:15:53Z; member SHA-256 2e8dbbcefc9e5ab9ee961afc1af712ce6156da2d8ff11bdf11a39d878e9c7683. This clears the original MSB3026 assertion for this execution, not the underlying shared-obj concurrency problem globally.

    Signature: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning. Classification remains source-related. 14 confirmed occurrences / 13 distinct PRs, unchanged: one existing occurrence gains outcome evidence, not a new failure.

    Issue-specific checklist: freshly read body has no Additional info to collect section. Authorized exact PR/head/run/stage/job/attempt/task or primary artifact/test proof is attributed above. Unavailable: accepted-request actor/grouping, complete all-actor lifetime/head counters, and proof of a source-race remediation remain unestablished. Attempts do not certify the25-lifetime/10-head budgets. No monitor retry, source/suppression edit, issue creation or reopening. Keep CLOSED/COMPLETED (closed 2026-09-28T19:28:13Z): success does not invalidate scoped closure. Direct Azure work has no Helix item; artifacts are retention-limited. Worker identifiers, addresses, credentials and raw environment blocks are withheld.

  23. dalexsoto commented on Oct 3, 2026

    @dalexsoto
    MemberAuthor

    Exact external attempt2 outcomes for existing occurrences

    #26824 / 45792c558e933e4b52f7bf655b6ac5b2c81cc4af: run15551466 / exact job2, definition21922, stage/job2/2, succeeded 2026-10-03T13:49:38.99Z. Azure previousAttempts links original failed job 09d26b41-67aa-54a4-f0c7-0e78dc94babc.

    Source-GUID-matched HtmlReport-simulator_testsdotnettests_tvos-2 unmodified NUnit member tests/DotNet-tests/322/results-20261003_055556.xml verifies exact Xamarin.Tests.DotNetProjectTest.PublishAotMonoTouchTest_NoIL2009(TVOS,"tvossimulator-arm64") Passed, 2026-10-03T13:30:53Z--2026-10-03T13:33:15Z; member SHA-256 58164b204b2b0a9d62a0abb1b468a6e61369fabd05b671576034e4bdf3617d78. Primary TestSummary reports its configuration passed. Parent succeeded 2026-10-03T13:53:13.987361+00:00 and unchanged-head PR merged 2026-10-03T13:53:57Z. Original source-related MSB3026 assertion is cleared only for this execution, not a globally established concurrency fix.

    Signature: source-related|MSBuild|MonoTouch.Dialog|parallel-Csc-shared-obj|MSB3026-copy-warning. 14 confirmed occurrences / 13 distinct PRs, unchanged, including recovered and retained historical confirmations. Classification remains source-related. This batch updates1 existing occurrence(s), not new failures.

    Issue-specific checklist: freshly read body has no Additional info to collect section. Authorized exact PR/head/run/stage/job/attempt, artifact-source identity, primary result/runtime/member/hash and UTC job timing are attributed above. Unavailable: a global source/OS fix and original unrelated faulting-test/stacks where noted are not established; triggering actor, accepted-request grouping and complete all-actor lifetime/head counters remain uncertified. Attempts do not certify25-lifetime/10-head budgets. No monitor retry, source edit, issue creation or reopening. Keep CLOSED/COMPLETED (closed 2026-09-28T19:28:13Z); successful bounded outcome does not invalidate its scoped closure. Direct Azure jobs have no Helix item; artifacts are retention-limited. Worker identifiers, addresses and environment blocks are withheld.

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

    bugIf an issue is a bug or a pull request a bug fixci-postmortemCI post-mortem analysis: flaky tests, infrastructure failures, shared regressionscopilot

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions