You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[wasm][R2R] Runtime_70259 asserts in ToPortableEntryPoint #133169
JIT/Regression/JitBlue/Runtime_70259 passes in the CoreCLR browser-wasm interpreter lane, but asserts when the test assembly is compiled with Crossgen2 and run as ReadyToRun. The test creates an open delegate for an interface method and invokes it through a tail call.
The interpreter-only version of this assertion was tracked by #124221 and fixed by #125138. The ReadyToRun test-assembly path remains broken.
Reproduction Steps
Build the CoreCLR browser-wasm runtime test layout.
Build JIT/Regression/Regression_2.
Run its generated script with RunCrossGen2=1 and CompositeBuildMode=1 so Runtime_70259.dll is compiled to wasm ReadyToRun.
The relevant test is src/tests/JIT/Regression/JitBlue/Runtime_70259/Runtime_70259.il.
Expected behavior
Runtime_70259 passes and returns 100, matching the interpreter lane.
No known regression. This was exposed by adding test-assembly ReadyToRun coverage to the merged CoreCLR browser-wasm runtime-test runner.
Known Workarounds
Skip this test when both wasm and ReadyToRun test-assembly execution are active. The interpreter lane remains enabled.
Configuration
CoreCLR browser-wasm, Checked
wasm32
Test assembly compiled by Crossgen2 with ReadyToRun enabled
Other information
Related issues include #124221 (the now-fixed interpreter case) and #130840 (a different wasm ReadyToRun failure involving open-instance virtual/interface delegates).
Note
This issue was authored with the assistance of GitHub Copilot.
Duplicate of #131886, which was filed on 2026-08-05 — a month before this one. My search when filing did not turn it up; thanks to @lewing for spotting it.
Same defect, identical signature down to the IR offset:
open delegate over an interface method, invoked from R2R code
same, reached via a tail call
Passes
interpreted
interpreted
Fails
test assembly R2R on wasm
test assembly R2R on wasm
Only the test differs — Runtime_79354 there, Runtime_70259 here. #131886 also already has a root-cause analysis (INTOP_CALLI treating CID_VirtualOpenDelegateDispatch as a portable entry point) and a working prototype fix, so it is the better issue to keep. See also #130840, which looks like the same family.
I have added the Runtime_70259 details to #131886 so nothing is lost.
One loose end:Runtime_70259 is disabled on this path in main by an ActiveIssue pointing at this now-closed issue, in both Runtime_70259.cs and Runtime_70259.il. That reference should be retargeted to #131886.
Activity
dotnet-policy-service commentedon Sep 3, 2026
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
See info in area-owners.md if you want to be subscribed.
dotnet-policy-service commentedon Sep 3, 2026
Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.
MihuBot commentedon Sep 3, 2026
I'm a bot. Here is a possible related and/or duplicate issue (I may be wrong):
lewing commentedon Sep 4, 2026
Duplicate of #131886, which was filed on 2026-08-05 — a month before this one. My search when filing did not turn it up; thanks to @lewing for spotting it.
Same defect, identical signature down to the IR offset:
portableEntryPoint->IsValid()precode_portable.cpp:109,ToPortableEntryPointMyDelegate::IL_STUB_DelegateShuffleThunk, IR_0014System.Func\2[__Canon,Int32]::IL_STUB_DelegateShuffleThunk, IR_0014`Only the test differs —
Runtime_79354there,Runtime_70259here. #131886 also already has a root-cause analysis (INTOP_CALLItreatingCID_VirtualOpenDelegateDispatchas a portable entry point) and a working prototype fix, so it is the better issue to keep. See also #130840, which looks like the same family.I have added the
Runtime_70259details to #131886 so nothing is lost.One loose end:
Runtime_70259is disabled on this path in main by anActiveIssuepointing at this now-closed issue, in bothRuntime_70259.csandRuntime_70259.il. That reference should be retargeted to #131886.Closing in favour of #131886.
Note
This comment was authored with GitHub Copilot.
[wasm][R2R] Re-enable open virtual delegate runtime tests (#134765)