Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 3 pipeline(s). 13 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara |
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The exception-handling condition must be restricted to filter funclets to preserve collided-unwind fail-fast behavior.
Get a fresh assessment by requesting another Copilot review.
Review tier: Lite
Findings: 1
Open (1)
What changed in this PR
Fixes WASM ReadyToRun exception-filter propagation and re-enables three quarantined tests.
Changes:
- Adds WASM R2R filter-boundary handling.
- Removes obsolete quarantines and an unused test dependency.
| File | Description |
|---|---|
src/tests/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68872/b68872.ilproj |
Removes an obsolete test-library reference. |
src/tests/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68872/b68872.il |
Removes WASM R2R quarantine metadata. |
src/tests/JIT/Regression_3/GitHub_4044/GitHub_4044.cs |
Removes the WASM R2R quarantine. |
src/tests/JIT/Methodical/eh/basics/throwinfilter.il |
Removes the WASM R2R quarantine. |
src/coreclr/vm/exceptionhandling.cpp |
Adjusts WASM R2R filter-boundary exception handling. |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @agocke |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
I wonder if this offset discrepancy isn't actually what should be fixed. Why are those two offsets different? |
|
I think that is the design? cc @AndyAyersMS @davidwrighton |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Where are these offsets coming from? Virtual IP values? EH clause locations? |
|
Yes, the offset discrepancy was the better place to fix. Blame traces the two sides to the original WASM EH virtual-IP work: #127043 assigned a new virtual IP when entering a filter region, while #128382 later recorded each funclet range start before that region-entry increment. That made the filter funclet range start one virtual-IP slot earlier than The design discussion I found also supports treating With the rebuilt WASM JIT, the filter now reports the funclet start ( Note This response was authored with GitHub Copilot. |
|
Ah, ok Virtual IPs. The fix seems reasonable. |
This reverts commit 19bdb7e.
|
The full browser-WASM CI exposed that my producer-alignment change was incorrect. I reverted that commit. The PR is back to the classification-only fix: on WASM, Local validation after the revert:
The five failed Helix work items from Build 1597946 were therefore product regressions from the reverted commit, despite Helix categorizing them as infrastructure errors. Note This response was authored with GitHub Copilot. |

Summary
FilterOffsetvalues and the existing collided-unwind fail-fast invariantTesting
./build.sh clr+libs+host./build.sh clr./build.sh clr -os browser -arch wasm -c Checked /p:HostConfiguration=Releaseb68872: exit 100throwinfilter_d: exit 100GitHub_4044: exit 100Runtime_88168: exit 100GitHub_22820: exit 100diagnostic-ip-stacktrace, with and without a test R2R component: exit 100b68872: exit 100GitHub_121578: passedResolves #133468
Note
This pull request description was authored with GitHub Copilot.