dotnet / dotnet/runtime

[wasm][R2R] DevDiv_902271 reads GC static out of bounds

Open
#133,467 4 comments 0 reactions 1 assignee Claimed by @AndyAyersMS View on GitHub
arch-wasm area-ReadyToRun disabled-test os-browser
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

### Description

`JIT/Regression/JitBlue/DevDiv_902271` traps while reading a GC static in the browser-wasm CoreCLR ReadyToRun lane.

### Reproduction Steps

Run the `runtime-wasm-non-libtests` pipeline with ReadyToRun tests enabled on dotnet/runtime commit `ef1850bdc9e7d142888247d9bb5df3b74a7ae341` (Azure DevOps build 1588226, Helix job `2a25b357-0ff1-40a2-9fe9-5e205f73cb27`, work item `Regression_3`).

### Expected behavior

The test completes with exit code 100.

### Actual behavior

```text
Running test: JIT/Regression/JitBlue/devdiv_902271/DevDiv_902271/DevDiv_902271.dll
RuntimeError: memory access out of bounds
at S_P_CoreLib_System_Runtime_CompilerServices_StaticsHelpers__GetGCStaticBase
at DevDiv_902271_Repro__Work2
at WasmInterpreterToR2RThunk(iiiiiip)
at WasmR2RToInterpreterThunk(iTiiiiip)
```

### Regression?

Unknown. This was reproduced on current main during the #133305 census.

### Known Workarounds

Exclude only this IL project from browser CoreCLR ReadyToRun execution. Other `Regression_3` tests and non-R2R configurations remain enabled.

### Configuration

- dotnet/runtime commit `ef1850bdc9e7d142888247d9bb5df3b74a7ae341`
- CoreCLR browser-wasm
- Checked runtime
- ReadyToRun / crossgen2
- Node.js 23.11.1

### Other information

Tracking issue: #133305.

> [!NOTE]
> This issue was authored with GitHub Copilot.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.