Commit 5f9352d
Fix stackoverflowtester to skip ARM32 in TestStackOverflowLargeFrameMainThread (#126525)
main PR <!-- Link to PR if any that fixed this in the main branch. -->
# Description
`TestStackOverflowLargeFrameMainThread` was missing `Architecture.Arm`
in its Unix skip guard, causing it to run on ARM32 where it reliably
fails. On ARM32, large-frame methods (65KB/frame) cause the JIT to probe
stack pages without moving SP, so the guard page fault lands >8KB from
SP — outside the runtime's 2-page detection window in `signal.cpp`. This
produces SIGSEGV (exit `0x8B`/139) instead of the expected SIGABRT (exit
`0x86`/134).
`TestStackOverflowLargeFrameSecondaryThread` already correctly included
`Architecture.Arm` in its skip. This change makes the main-thread
version consistent:
```csharp
// Before
if (((RuntimeInformation.ProcessArchitecture == Architecture.Arm64) || ... ||
(RuntimeInformation.ProcessArchitecture == Architecture.LoongArch64)) && ...)
// After
if (((RuntimeInformation.ProcessArchitecture == Architecture.Arm64) || ... ||
(RuntimeInformation.ProcessArchitecture == Architecture.LoongArch64) ||
(RuntimeInformation.ProcessArchitecture == Architecture.Arm)) && ...)
```
# Customer Impact
No customer impact — this is a test-only fix. The underlying ARM32 stack
overflow detection limitation (tracked in #110173) remains; this just
prevents a spurious CI failure.
# Regression
Not a regression in product behavior. The test skip was simply omitted
from `TestStackOverflowLargeFrameMainThread` while it was correctly
applied to the secondary-thread variant.
# Testing
The fix aligns the skip condition with the already-correct
`TestStackOverflowLargeFrameSecondaryThread`. No behavior change on
non-ARM32 platforms.
# Risk
Minimal. Test-only change that adds an early-return on ARM32 Unix,
matching existing patterns in the same file.
# Package authoring no longer needed in .NET 9
IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mangod9 <61718172+mangod9@users.noreply.github.com>1 parent 19d0c6e commit 5f9352d
File tree
1 file changed
+4
-3
lines changed- src/tests/baseservices/exceptions/stackoverflow
1 file changed
+4
-3
lines changedLines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| |||
0 commit comments