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
When the browser-wasm CoreCLR JIT/opt/OSR/pinnedlocal test is crossgened and run as ReadyToRun code, its out-of-process preflight asserts in StackFrameIterator::Filter at stackwalk.cpp:1721 because fFrameWasUnwound is false. The subsequent diagnostic frame dump repeatedly reports the same InlinedCallFrame until the existing 300-second watchdog terminates the test.
This was observed while validating #133276 at commit bec55a87be6f2f77518cc9316e57330454b98897. It is being tracked separately because an exact R2R baseline control has not yet established whether that change introduced the failure. The interpreter control passes this test.
The failure occurs during the out-of-process preflight for JIT/opt/OSR/pinnedlocal.
Expected behavior
JIT/opt/OSR/pinnedlocal completes successfully under browser-wasm ReadyToRun, as it does with ReadyToRun disabled.
Actual behavior
The test asserts at src/coreclr/vm/stackwalk.cpp:1721:
fFrameWasUnwound
The diagnostic dump then repeatedly emits the same InlinedCallFrame and does not terminate normally. The existing 300-second watchdog eventually ends the test.
Regression?
Unknown. The failure was observed on #133276, but no exact baseline R2R control has been run, so it should not be attributed to that PR. The interpreter control passes.
Known Workarounds
Run the test with ReadyToRun disabled (DOTNET_ReadyToRun=0). The test passes in that configuration.
The observed cyclic InlinedCallFrame dump suggests the frame chain or unwind state should be investigated at the first fFrameWasUnwound assertion rather than treating the watchdog termination as the root cause.
Description
When the browser-wasm CoreCLR
JIT/opt/OSR/pinnedlocaltest is crossgened and run as ReadyToRun code, its out-of-process preflight asserts inStackFrameIterator::Filteratstackwalk.cpp:1721becausefFrameWasUnwoundis false. The subsequent diagnostic frame dump repeatedly reports the sameInlinedCallFrameuntil the existing 300-second watchdog terminates the test.This was observed while validating #133276 at commit
bec55a87be6f2f77518cc9316e57330454b98897. It is being tracked separately because an exact R2R baseline control has not yet established whether that change introduced the failure. The interpreter control passes this test.Reproduction Steps
bec55a87be6f2f77518cc9316e57330454b98897.JIT/optIL-CG2 images and run the generatedJIT.optwrapper with ReadyToRun enabled:The failure occurs during the out-of-process preflight for
JIT/opt/OSR/pinnedlocal.Expected behavior
JIT/opt/OSR/pinnedlocalcompletes successfully under browser-wasm ReadyToRun, as it does with ReadyToRun disabled.Actual behavior
The test asserts at
src/coreclr/vm/stackwalk.cpp:1721:The diagnostic dump then repeatedly emits the same
InlinedCallFrameand does not terminate normally. The existing 300-second watchdog eventually ends the test.Regression?
Unknown. The failure was observed on #133276, but no exact baseline R2R control has been run, so it should not be attributed to that PR. The interpreter control passes.
Known Workarounds
Run the test with ReadyToRun disabled (
DOTNET_ReadyToRun=0). The test passes in that configuration.Configuration
DOTNET_GCStress=3Other information
This is distinct from:
The observed cyclic
InlinedCallFramedump suggests the frame chain or unwind state should be investigated at the firstfFrameWasUnwoundassertion rather than treating the watchdog termination as the root cause.Note
This issue was created with GitHub Copilot.