[ci-scan] Test failure: EventPipe rundownvalidation LCG child stack overflow on Windows x64

Ouverte
#137,232 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
12/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
cmake, csharp
Domaine
testing-qa

Piste de recherche

The failure is a stack overflow in the LCG jump-stub child of the EventPipe rundown validation test, run from tracing/eventpipe/rundownvalidation/rundownvalidation/rundownvalidation.cmd on Windows x64. The stack points at AssemblyLoadContext.StartAssemblyLoad and repeated FileLoadException construction through RuntimeHelpers.CallDefaultConstructor, so the cause sits in the runtime's assembly-loading path rather than the test itself. Done would mean the child exits cleanly and the wrapper returns 100, which needs a root-cause fix from runtime owners rather than a quick patch.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

agentic-workflows area-Diagnostics-coreclr blocking-clean-ci Known Build Error untriaged

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1669824
Build error leg or test failing: coreclr Pri1 Runtime Tests Run R2R_Composite windows x64 checked-tracing/eventpipe/rundownvalidation/rundownvalidation/rundownvalidation.cmd
Pipeline: runtime-coreclr crossgen2 outerloop, definition 134, main.
Queue: windows.amd64.open.rt. Stress mode: no_tiered_compilation.
First build it occurred: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1657378 (finished 2026-10-31; earliest verified occurrence in the sampled window, not a proven introducing build).
Follow-up build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1670338 (finished 2026-11-09), same child-exit diagnostic and recursive exception-construction stack.

KBE authoring guidance (ci-failure-scan)
  • Error Details is for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.
  • Build Analysis parses only the single JSON block under Error Message.
  • ErrorMessage is a case-sensitive ordinal String.Contains substring copied verbatim from the failing log.
  • Set BuildRetry to true only for a clear infrastructure retry case. ExcludeConsoleLog disables Helix console-log scanning.

Error Details

The LCG jump-stub child crashes with Windows stack-overflow status -1073741571 after the initial rundown validation succeeds. Its stack repeatedly constructs FileLoadException through RuntimeHelpers.CallDefaultConstructor, below AssemblyLoadContext.StartAssemblyLoad. The parent then returns -1 and the test wrapper returns 101 instead of 100. No underlying fix is established here.

The exact child-exit diagnostic was verified in six distinct prior builds (1657378, 1658441, 1659123, 1661208, 1665289, 1668937), source 1669824, and follow-up 1670338: eight builds in this definition. Ten prior build inventories and 18 Windows-x64 tracing consoles were inspected. Both tracing consoles in build 1655529 (finished 2026-10-30) instead report an LCG-child timeout; that is an absence of this exact crash diagnostic, not a passing affected test.

The same crash diagnostic also reproduces in crossgen2-composite gcstress source 1669831 and follow-up 1670530 on Windows x64 with heapverify1; this single matcher covers that occurrence too.

Source console: https://helix.dot.net/api/jobs/a2649452-f3b1-490b-87e3-ec7f9a7b46c4/workitems/tracing/console

The complete child-crash stack and subsequent assertion are below; intervening successful trace-validation output, run-specific timing prefixes, and checkout paths are omitted.

Stack overflow.
Repeated 89 times:
--------------------------------
   at System.IO.FileLoadException..ctor()
   at System.Runtime.CompilerServices.RuntimeHelpers.CallDefaultConstructor(System.Object*, Void (System.Object), System.Exception*)
--------------------------------
   at System.Runtime.Loader.AssemblyLoadContext.StartAssemblyLoad(System.Guid*, System.Guid*, System.Exception*)

LCG jump-stub child exited with -1073741571; trace exists: True.
Xunit.Sdk.EqualException: Assert.Equal() Failure: Values differ
Expected: 100
Actual:   -1
   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in /_/src/arcade/src/Microsoft.DotNet.XUnitAssert/src/EqualityAsserts.cs:line 102
   at __GeneratedMainWrapper.Main()
Expected: 100
Actual: 101
END EXECUTION - FAILED
Failed test: tracing/eventpipe/rundownvalidation/rundownvalidation/rundownvalidation.cmd

Error Message

{
  "ErrorMessage": "LCG jump-stub child exited with -1073741571; trace exists: True.",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Agentic workflow metadata (ci-failure-scan)

Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 2 hits in failure.log

The literal matches twice in the saved raw source console, once in direct output and once in the harness repetition. Passing/skipped negative checks are empty. It also matches twice in each selected follow-up console and the related gcstress consoles. Repeated lines and multiple legs within one build are not counted as independent build occurrences.


Filed by ci-failure-scan (detection only). ci-failure-fix walks open [ci-scan] KBEs and either opens a small fix PR or comments here to loop in owners — it never disables the test.

[!NOTE]
Generated by GitHub Copilot.

Generated by CI Outer-Loop Failure Scanner · copilot · gpt61 · ~247 AIC · ⌖ ~15 AIC · ⊞ 33.3K · ◷

Report
Build Repository Test Pull Request
1674662 dotnet/runtime OutOfProcessTest.tracing/eventpipe/config/name_config_with_pid/name_config_with_pid.cmd
1672306 dotnet/runtime OutOfProcessTest.tracing/eventpipe/config/name_config_with_pid/name_config_with_pid.cmd
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
1 2 2
Langage dominant
C#
Étoiles
18.4k
Forks
5.8k
Merge moyen
2 j 19 h
PR mergées (30 j)
590

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de dotnet/runtime

Toutes les issues de dotnet/runtime

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.