Skip to content

[ci-scan] Known Build Error: stackoverflowtester assert m_crawl.GetCodeInfo()->IsValid() in runtime-interpreter #127899

Closed

Description

@github-actions

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1410560
Build error leg or test failing: windows x64 Checked-baseservices/exceptions/stackoverflow/stackoverflowtester/stackoverflowtester.cmd

Error Message

{
  "ErrorMessage": "Thread: 4060 [0x0fdc]): m_crawl.GetCodeInfo()->IsValid()",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

stackoverflowtester fails in runtime-interpreter (def 316) on Windows under CoreCLR interpreter mode. After a stack overflow is raised, the runtime walks the stack to unwind/report it; the StackFrameIterator encounters an interpreter frame whose CodeInfo is invalid, triggering the m_crawl.GetCodeInfo()->IsValid() assertion. This is an interpreter-mode stack-walker incompatibility when handling stack overflows.

Affected pipelines (2 confirmed failing builds):

  • runtime-interpreter (def 316): windows-x64 Checked and windows-arm64 Checked — builds 1410560, 1407440

Errors log:

Running stackoverflow test(smallframe main)
"Stack overflow."
"Assert failure(PID 6972 [0x00001b3c], Thread: 4060 [0x0fdc]): m_crawl.GetCodeInfo()->IsValid()"
"CORECLR! StackFrameIterator::NextRaw + 0x724"
"CORECLR! StackFrameIterator::Filter + 0xBB0"
"CORECLR! StackFrameIterator::Init + 0x258"
END EXECUTION - FAILED

First build it occurred: Build 1407440 (May 4, 2026) is the earliest in the scanned window. Occurrence count in window: 2.

Recommended action:

  • Owner: @dotnet/coreclr-interpreter (interpreter area)
  • Root cause: StackFrameIterator encounters an interpreter frame during stack overflow handling where the CodeInfo is null or invalid. The interpreter needs to ensure that frames it creates have valid CodeInfo, or the stack walker needs to handle null CodeInfo gracefully in the interpreter-frame case.
  • Investigate src/coreclr/vm/stackwalk.cpp and interpreter frame creation.
  • Short-term: add [SkipOnCoreClr("Stack overflow handling crashes under interpreter", RuntimeTestModes.InterpreterActive)] to the stackoverflowtester test once this KBE issue number is known.

Note

🤖 This issue was generated by the CI Outer-Loop Failure Scanner.

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

  • #110173 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by CI Outer-Loop Failure Scanner · ● 16.2M · ◷

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1410560
Error message validated: [m_crawl.GetCodeInfo()->IsValid()]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 5/7/2026 8:27:50 AM UTC

Report

Build Definition Test Pull Request
1410560 dotnet/runtime baseservices/exceptions/stackoverflow/stackoverflowtester/stackoverflowtester.cmd

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 1

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1410560
Error message validated: [m_crawl.GetCodeInfo()->IsValid()]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 5/7/2026 8:27:50 AM UTC

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1410560
Error message validated: [m_crawl.GetCodeInfo()->IsValid()]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 5/7/2026 8:27:50 AM UTC

Activity

  1. modified the milestones: 11.0.0, Future on May 7, 2026
  2. dotnet-policy-service commented on May 7, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @agocke
    See info in area-owners.md if you want to be subscribed.

  3. github-actions commented on Jun 19, 2026

    @github-actions
    ContributorAuthor

    Workflow artifact: ci-fix
    Artifact kind: handoff
    Linked KBE: #127899

    Note

    AI/Copilot-generated triage note.

    This Known Build Error has no producible automated code change (reason: VM/interpreter assertion failure in stack-crawl internals — fixing the interpreter's StackOverflow handling is out of bounds for automated fixes), so I could not open even a best-effort PR. Looping in owners so it can be fixed forward rather than muted.

    Root cause (best analysis)

    The StackOverflowTester test crashes the CoreCLR interpreter with assertion m_crawl.GetCodeInfo()->IsValid() in StackFrameIterator::ProcessCurrentFrame. The failure occurs during stack overflow handling in interpreter mode.

    The interpreter's stack-frame iterator encounters a frame where GetCodeInfo() returns an invalid result during StackOverflow recovery. This appears to be a gap in how the interpreter handles stack overflow conditions — when StackOverflow is thrown, the stack-crawl code assumes all frames have valid CodeInfo, but the interpreter may produce frames that don't satisfy this invariant.

    This issue is assigned to milestone "Future" and has been open since 2026-05-23 with persistent occurrences.

    Evidence

    Suggested reviewers / area contacts

    • Area owners (area-VM-coreclr): @agocke, @vsadov

    The fix likely involves the interpreter's stack-frame representation ensuring CodeInfo validity during StackOverflow recovery, or adjusting the StackFrameIterator to handle interpreter frames that lack valid CodeInfo.


    Filed by ci-failure-fix, which attempts validated fixes for [ci-scan] Known Build Errors and otherwise loops in owners. Comment here or on the workflow file to suggest changes; ci-failure-scan-feedback reads in-scope feedback daily and opens (or updates) a PR with prompt edits.

    Note

    🔒 Integrity filter blocked 2 items

    The following items were blocked because they don't meet the GitHub integrity level.

    To allow these resources, lower min-integrity in your GitHub frontmatter:

    tools:
      github:
        min-integrity: approved  # merged | approved | unapproved | none

    Generated by CI Outer-Loop Failure Fixer · ● 17.2M · ◷

  4. github-actions commented on Jul 28, 2026

    @github-actions
    ContributorAuthor

    Workflow artifact: ci-fix
    Artifact kind: handoff
    Linked KBE: #127899

    Note

    AI/Copilot-generated triage note.

    This Known Build Error has no producible automated code change (reason: JIT/GC codegen — must not be auto-fixed), so I could not open even a best-effort PR. Looping in owners so it can be fixed forward rather than muted. Two earlier automated attempts to disable the test (PRs #128737, #128793) were closed without merge, confirming a real product fix is wanted here rather than a mute.

    Root cause (best analysis)

    stackoverflowtester fails under CoreCLR interpreter mode (runtime-interpreter, def 316) on windows-x64/arm64 Checked. After a stack overflow is raised, the runtime walks the stack to report/unwind it and the StackFrameIterator hits an interpreter frame whose CodeInfo is invalid, tripping m_crawl.GetCodeInfo()->IsValid():

    "Assert failure(...): m_crawl.GetCodeInfo()->IsValid()"
    CORECLR! StackFrameIterator::NextRaw
    CORECLR! StackFrameIterator::Filter
    CORECLR! StackFrameIterator::Init
    

    Likely fix area: interpreter frame creation must populate a valid CodeInfo, or StackFrameIterator (src/coreclr/vm/stackwalk.cpp) must handle the interpreter-frame case where CodeInfo is null/invalid during stack-overflow unwind. This is interpreter-mode stack-walker codegen territory, outside the safe automated-fix bounds.

    Evidence

    Suggested reviewers / area contacts

    • Likely author: none identified with sufficient confidence
    • Area owners (area-VM-coreclr / interpreter): @agocke, @vsadov, @dotnet/coreclr-interpreter

    A fix likely involves ensuring interpreter frames expose valid CodeInfo to the stack walker, or making StackFrameIterator tolerate interpreter frames during stack-overflow reporting.

    Warning

    Firewall blocked 1 domain

    The following domain was blocked by the firewall during workflow execution:

    • awmgmcpg

    To allow these domains, add them to the network.allowed list in your workflow frontmatter:

    network:
      allowed:
        - defaults
        - "awmgmcpg"

    See Network Configuration for more information.

    Generated by CI Outer-Loop Failure Fixer · 226.4 AIC · ⌖ 19 AIC · ⊞ 17.1K · ◷

  5. github-actions commented on Aug 9, 2026

    @github-actions
    ContributorAuthor

    Workflow artifact: ci-fix
    Artifact kind: handoff
    Linked KBE: #127899

    Note

    AI/Copilot-generated triage note.

    This Known Build Error has no producible automated code change (reason: interpreter/VM stack-walker codegen — must not be auto-fixed), so I could not open even a best-effort PR. Looping in owners so it can be fixed forward rather than muted.

    Root cause (best analysis)

    stackoverflowtester fails under CoreCLR interpreter mode (runtime-interpreter, def 316) on Windows x64/arm64 Checked. After a stack overflow is raised, the runtime walks the stack to unwind/report it and hits the assert:

    Assert failure ... m_crawl.GetCodeInfo()->IsValid()
    CORECLR! StackFrameIterator::NextRaw
    CORECLR! StackFrameIterator::Filter
    CORECLR! StackFrameIterator::Init
    

    The StackFrameIterator encounters an interpreter frame during stack-overflow handling whose CodeInfo is null/invalid. This is an interpreter-mode stack-walker incompatibility: either interpreter frames must carry valid CodeInfo, or StackFrameIterator (src/coreclr/vm/stackwalk.cpp) must handle the interpreter-frame case gracefully during SO unwind. Both are VM/interpreter codegen concerns that are out of bounds for an automated fix, and no non-disabling test change would address the underlying assert.

    Evidence

    Suggested reviewers / area contacts

    • Area owners (area-VM-coreclr): @agocke, @vsadov
    • Interpreter contacts (area-Codegen-Interpreter-coreclr): @BrzVlad, @janvorli

    A fix likely involves ensuring interpreter frames expose valid CodeInfo to StackFrameIterator, or teaching the stack walker to tolerate interpreter frames during stack-overflow unwind.

    Warning

    Firewall blocked 1 domain

    The following domain was blocked by the firewall during workflow execution:

    • awmgmcpg

    To allow these domains, add them to the network.allowed list in your workflow frontmatter:

    network:
      allowed:
        - defaults
        - "awmgmcpg"

    See Network Configuration for more information.

    Generated by CI Outer-Loop Failure Fixer · 339.4 AIC · ⌖ 21 AIC · ⊞ 17.1K · ◷

  6. kotlarmilos commented on Oct 2, 2026

    @kotlarmilos
    Member

    Closing, no hits since May. Please reopen if it shows up again.

    Note

    This comment was drafted with GitHub Copilot.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status
      No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions