Skip to content

[ci-scan] Test failure: Runtime_115979 asserts in ValidateInner on WASI R2R #136153

Open

Description

@EgorBo

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1636145
Build error leg or test failing: wasi-wasm linux Checked CoreCLR_WASI_RuntimeTests_R2R_CG2 - JIT.opt - JIT/opt/ObjectStackAllocation/Runtime_115979/Runtime_115979.dll
Pull request: #135823

Console log: https://helix.dot.net/api/2019-06-17/jobs/2f41c15f-fdcb-4079-9c2c-2a640e7b7e3e/workitems/JIT.opt/console

GC stack-root enumeration asserts in Object::ValidateInner while running Runtime_115979 in a composite WASI ReadyToRun image.

This appears unrelated to #135823, which changes ArgumentNullException.ThrowIfNull boxing folding; the failing test does not call that API. Causality has not been established by a baseline comparison.

Possibly related: #135966 tracks uninitialized GC slots in browser-wasm R2R, with a proposed fix in #135970. Its matcher covers TypeIntrinsics_r/_ro, not this test. #135313 covers a different WASI stack involving ResolveVirtualFunctionPointer and WasmR2RToInterpreterThunk; neither frame appears here. A common root cause has not been established.

KBE authoring guidance (ci-failure-scan)
  • Error Details is for readers. The full assertion and native stack are included below.
  • Build Analysis parses only the single JSON block under Error Message.
  • Each ErrorMessage array element is a case-sensitive ordinal substring copied verbatim from the failing log; elements must match in order.
  • BuildRetry is false because this is a runtime assertion, not an infrastructure retry failure.
  • ExcludeConsoleLog is false because the native assertion is present in the Helix console log.

Error Details

00:28:38.379 Running test: JIT/opt/ObjectStackAllocation/Runtime_115979/Runtime_115979.dll
ASSERT FAILED
    Expression: !CREATE_CHECK_STRING(pMT && pMT->Validate())
    Location:   /__w/1/s/src/coreclr/vm/object.cpp:509
    Function:   ValidateInner
    Process:    42
Error: failed to run main module `/root/helix/work/workitem/e/JIT/opt/JIT.opt/IL-CG2/wasi-r2r/corerun-composite.wasm`

Caused by:
    0: failed to invoke `run` function
    1: error while executing at wasm backtrace:
    0: 0x587c1a - corerun!DebugBreak
    1: 0x334761 - corerun!Object::ValidateInner(int, int, int)
    2: 0x3344fe - corerun!Object::Validate(int, int, int)
    3: 0x3bfffd - corerun!TGcInfoDecoder<Wasm32GcInfoEncoding>::ReportStackSlotToGC(int, GcStackSlotBase, unsigned int, REGDISPLAY*, unsigned int, void (*)(void*, OBJECTREF*, unsigned int), void*)
    4: 0x3bf56f - corerun!TGcInfoDecoder<Wasm32GcInfoEncoding>::ReportSlotToGC(GcSlotDecoder<Wasm32GcInfoEncoding>&, unsigned int, REGDISPLAY*, bool, unsigned int, void (*)(void*, OBJECTREF*, unsigned int), void*)
    5: 0x3bdb94 - corerun!TGcInfoDecoder<Wasm32GcInfoEncoding>::EnumerateLiveSlots(REGDISPLAY*, bool, unsigned int, void (*)(void*, OBJECTREF*, unsigned int), void*)
    6: 0x18e908 - corerun!EECodeManager::EnumGcRefs(REGDISPLAY*, EECodeInfo*, unsigned int, void (*)(void*, OBJECTREF*, unsigned int), void*, unsigned int)
    7: 0x1e0ef3 - corerun!GcStackCrawlCallBack(CrawlFrame*, void*)
    8: 0x17ae7b - corerun!Thread::MakeStackwalkerCallback(CrawlFrame*, StackWalkAction (*)(CrawlFrame*, void*), void*, unsigned int)
    9: 0x17b111 - corerun!Thread::StackWalkFramesEx(REGDISPLAY*, StackWalkAction (*)(CrawlFrame*, void*), void*, unsigned int, Frame*)
   10: 0x17db30 - corerun!Thread::StackWalkFrames(StackWalkAction (*)(CrawlFrame*, void*), void*, unsigned int, Frame*)
   11: 0x3c6c47 - corerun!ScanStackRoots(Thread*, void (*)(Object**, ScanContext*, unsigned int), ScanContext*)
   12: 0x3c6773 - corerun!GCToEEInterface::GcScanRoots(void (*)(Object**, ScanContext*, unsigned int), int, int, ScanContext*)
   13: 0x3d8025 - corerun!GCScan::GcScanRoots(void (*)(Object**, ScanContext*, unsigned int), int, int, ScanContext*)
   14: 0x3e145c - corerun!WKS::gc_heap::mark_phase(int)
   15: 0x3e27a6 - corerun!WKS::gc_heap::gc1()
   16: 0x3e3a85 - corerun!WKS::gc_heap::garbage_collect(int)
   17: 0x3e7069 - corerun!WKS::GCHeap::GarbageCollectGeneration(unsigned int, gc_reason)
   18: 0x3f0d67 - corerun!WKS::gc_heap::try_allocate_more_space(alloc_context*, unsigned long, unsigned int, int)
   19: 0x3f0da9 - corerun!WKS::gc_heap::allocate_more_space(alloc_context*, unsigned long, unsigned int, int)
note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information
    2: wasm trap: wasm `unreachable` instruction executed

Error Message

{
  "ErrorMessage": [
    "Running test: JIT/opt/ObjectStackAllocation/Runtime_115979/Runtime_115979.dll",
    "Expression: !CREATE_CHECK_STRING(pMT && pMT->Validate())"
  ],
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Agentic workflow metadata (ci-failure-scan)

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

Note

This issue was prepared with GitHub Copilot assistance.

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1636145
Error message validated: [Running test: JIT/opt/ObjectStackAllocation/Runtime_115979/Runtime_115979.dll Expression: !CREATE_CHECK_STRING(pMT && pMT->Validate())]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 10/20/2026 2:00:06 PM UTC

Report

Build Repository Test Pull Request
1636145 dotnet/runtime JIT.opt.WorkItemExecution #135823

Summary

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

Activity

  1. added
    arch-wasmWebAssembly architecture
    blocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    os-wasiRelated to WASI variant of arch-wasm
    on Oct 20, 2026
  2. dotnet-policy-service commented on Oct 20, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
    See info in area-owners.md if you want to be subscribed.

  3. dotnet-policy-service commented on Oct 20, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/crossgen-contrib
    See info in area-owners.md if you want to be subscribed.

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

    Known Build ErrorUse this to report build issues in the .NET Helix tabarch-wasmWebAssembly architecturearea-ReadyToRunblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'os-wasiRelated to WASI variant of arch-wasmuntriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    • Status
      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions