[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions - #128408

Merged
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk
Jun 2, 2026
Merged

[clr-ios] Clear stale Apple mobile CoreCLR test exclusions#128408
kotlarmilos merged 7 commits into
dotnet:mainfrom
kotlarmilos:clr-ios/remove-activeissue-124344-bulk

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented May 20, 2026

Copy link
Copy Markdown
Member

Description

Reduces the Apple-mobile CoreCLR test exclusions tracked under #124344, based onruntime-extra-platforms (build 1429699):

Projects that now run on iossim / tvossim / maccatalyst CoreCLR:

  • System.Reflection.InvokeEmit.Tests
  • System.Reflection.InvokeInterpreted.Tests
  • System.Memory.Tests

Per-test [ActiveIssue] decorations removed:

  • DiagnosticMethodInfoTests, CharReaderTests, XmlSerializerTests,
  • XslCompiledTransform, XsltApiV2, InvokeWithRefLikeArgs

Workaround landed:

  • DCS_DeeplyLinkedData now runs on a 16 MB-stack worker thread, so the 513-deep linked chain no longer exhausts the iOS default ~512 KB main-thread stack. The underlying DataContractSerializer dynamic-method recursion depth is unchanged.

Contributes to #124344
Fixes#127463

CopilotAI review requested due to automatic review settings May 20, 2026 14:51
@kotlarmiloskotlarmilos changed the title [clr-ios] Close out #124344: clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple-mobile CoreCLR test exclusionsMay 20, 2026
@kotlarmiloskotlarmilos changed the title [clr-ios] Clear stale Apple-mobile CoreCLR test exclusions[clr-ios] Clear stale Apple mobile CoreCLR test exclusionsMay 20, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

…ions
Removes 33 stale [ActiveIssue("...124344...")] decorations across 19
library test files (all sub-issues for interpreter codegen, dynamic-code
reporting, RefEmit/Moq, and virtual delegate dispatch are resolved
upstream). Drops the simulator-only ItemGroup in src/libraries/tests.proj
that excluded 10 test projects on iossimulator/tvossimulator/maccatalyst
CoreCLR under the now-closeddotnet#124044.
Fixesdotnet#127463 by running DCS_DeeplyLinkedData on a 16 MB-stack worker
thread (matching the precedent in System.Threading.Thread tests) so the
513-deep linked chain no longer exhausts the iOS default ~512 KB
main-thread stack; the underlying DataContractSerializer dynamic-method
recursion depth is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilosforce-pushed the clr-ios/remove-activeissue-124344-bulk branch from 15d0d2f to e2f017eCompareMay 20, 2026 14:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apple-mobile/CoreCLR-specific test suppressions and exclusions that appear to be stale, with the goal of increasing Apple mobile CoreCLR test coverage. It also adjusts a deep-recursion DataContractSerializer test to run on a dedicated thread with an explicitly larger stack to avoid stack overflows on platforms with smaller default stacks.

Changes:

  • Remove stale [ActiveIssue("...124344...")] skips across multiple library test files to re-enable coverage on Apple mobile CoreCLR.
  • Remove a simulator-only ProjectExclusionsItemGroup from src/libraries/tests.proj that was previously excluding several test projects for iossimulator/tvossimulator/maccatalyst CoreCLR.
  • Update DataContractSerializerTests.DCS_DeeplyLinkedData to execute on a worker thread with an explicit 16MB stack and rethrow captured exceptions on the calling thread.
Show a summary per file
FileDescription
src/libraries/tests.projDrops simulator-only Apple-mobile CoreCLR project exclusions tied to a now-stale issue.
src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from RefEmit/Moq-gated tests.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip for native conversion coverage.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips around dynamic code feature probing.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit/Moq-gated reflection test.
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from stack-trace related tests.
src/libraries/System.Runtime.Serialization.Xml/tests/DataContractSerializer.csRuns deep linked serialization test on a larger-stack thread to improve Apple-mobile portability.
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from RefEmit load context test.
src/libraries/System.Runtime.Loader/tests/DefaultContext/DefaultLoadContextTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from default ALC binding test.
src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from pseudo-custom-attribute tests.
src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from reflection-based decoding test.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip on a RefEmit-gated XSLT API test base.
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from XSLT document()/resolver theory cases.
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from collectible ALC XmlSerializer test.
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from XmlTests-driven theory runner.
src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from a TensorPrimitives span-destination theory.
src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from delegate-based method info theory.
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from managed-assembly version info test.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skips from Moq/RefEmit-gated resolver tests.
src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.csRemoves stale Apple-mobile/CoreCLR [ActiveIssue] skip from Moq/RefEmit-gated resolver test.

Copilot's findings

  • Files reviewed: 21/21 changed files
  • Comments generated: 1

… DCS_DeeplyLinkedData join
CI on PR dotnet#128408 (build 1428339) failed on ios-arm64 and maccatalyst-arm64 because
ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineSameMethod still fails on
Apple-mobile CoreCLR (the underlying dotnet#124344 stack-line tracking bug is unfixed).
BrzVlad also flagged that ConvertToIntegerNativeTest on Double/Single is still broken
on Apple-mobile x64 CoreCLR simulators.
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineSameMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
ThrowStatementDoesNotResetExceptionStackLineOtherMethod
- Restore [ActiveIssue(dotnet#124344, IsAppleMobile, IsX64Process, IsCoreCLR)] on
Double/Single GenericMath.ConvertToIntegerNativeTest
- DCS_DeeplyLinkedData: mark worker thread as background and use a bounded
Thread.Join(TimeSpan.FromMinutes(2)) so a runtime-side deadlock in the
serializer cannot hang the entire Helix work item indefinitely
(addresses Copilot review comment).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new

This was referenced May 29, 2026
@kotlarmilos
kotlarmilos enabled auto-merge (squash) June 2, 2026 09:05
@kotlarmilos
kotlarmilos merged commit 2e8b6f0 into dotnet:mainJun 2, 2026
95 checks passed
tannergooding pushed a commit that referenced this pull request Jun 22, 2026
…n ARM64 iOS simulator (refs #129045) (#129652)
Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #129045
> [!NOTE]
> This is an AI/Copilot-generated draft PR that attempts to fix the CI
failure described in KBE #129045. It has NOT been build-validated
(environment lacks .NET 11 SDK). Human review is needed.
## Root cause
The vectorized `TensorPrimitives.Tan` on ARM64 produces values that
diverge by ~47 ULPs from scalar `T.Tan` on iossimulator-arm64 CoreCLR.
The test's `trigTolerance` is set to `null` (meaning default ~1 ULP)
when `IsFmaSupported` is true (because `AdvSimd.Arm64.IsSupported` is
true on Apple Silicon). However, the vectorized trig algorithm doesn't
achieve bit-for-bit matching with the scalar math library on ARM64, even
though FMA hardware is available.
Failing log line:
```
Assert.All() Failure: 153 out of 201 items in the collection did not pass.
Expected: 0.4103213
Actual: 0.4103199
```
## Fix
Instead of using `null` tolerance when FMA is supported, apply an
explicit small tolerance:
- Float: `1e-5f` (allows ~333 ULPs — comfortably above the observed ~47
ULP divergence)
- Double: `1e-14` (proportionally generous for double precision)
This is consistent with how `CosPi` already applies `1e-5f` tolerance in
the FMA case via its null-coalescing fallback pattern.
Additionally, this removes the `[ActiveIssue("#124344")]` annotation on
`SpanDestinationFunctions_ValueRange` that blanket-disabled the test on
Apple Mobile CoreCLR, since the tolerance fix addresses the underlying
precision issue rather than masking the failure.
## What is unverified / help needed
- **Build not validated**: Environment has .NET 8/9 SDKs; the project
targets .NET 11 preview. Could not run `dotnet build` or tests.
- **Double tolerance**: The KBE doesn't show the actual value for the
Double failure, so the `1e-14` tolerance is an estimate. Needs
confirmation on-device.
- **Other trig functions**: Asin, Cos, Sin also use `trigTolerance`. If
they also diverge on ARM64, this fix covers them. If they DON'T
currently diverge, this change is still safe (tolerance only relaxes the
check).
- **Removing ActiveIssue**: PR #129226 added it for Tan divergence. If
there are OTHER undiscovered failures in
`SpanDestinationFunctions_ValueRange` on Apple mobile unrelated to trig
tolerance, removing the annotation could re-expose them.
## Suggested reviewers / area contacts
- `@tannergooding` (area-System.Numerics.Tensors owner)
- Possible related PR: #128408 (cleared stale Apple mobile
test exclusions, causing this test to start running on iOS simulator)
## Validation
- Command: `dotnet build
src/libraries/System.Numerics.Tensors/tests/System.Numerics.Tensors.Tests.csproj`
- Result: not run because environment lacks .NET 11 SDK
## Evidence
- Failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1449088
- First build it occurred: 2026-06-04T09:47:08Z (computed within the
scanned window; may not be the true origin)
- Suspected regressing change: #128408 (removed test
exclusions, enabling this test on iossimulator-arm64)
---
Filed by
[`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md),
which attempts validated fixes for `[ci-scan]` Known Build Errors and
otherwise loops in owners. Comment here or on the workflow file to
suggest changes;
[`ci-failure-scan-feedback`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan-feedback.md)
reads in-scope feedback daily and opens (or updates) a PR with prompt
edits.
> [!NOTE]
> <details>
> <summary>🔒 Integrity filter blocked 2 items</summary>
>
> The following items were blocked because they don't meet the GitHub
integrity level.
>
> - #128450 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
> - #128451 `issue_read`: has lower integrity than agent
requires. The agent cannot read data with integrity below "approved".
>
> To allow these resources, lower `min-integrity` in your GitHub
frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
> </details>
> Generated by [CI Outer-Loop Failure
Fixer](https://github.com/dotnet/runtime/actions/runs/27872474682/agentic_workflow)
· ● 60.4M ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Outer-Loop Failure Fixer, engine:
copilot, version: 1.0.40, model: claude-opus-4.6, id: 27872474682,
workflow_id: ci-failure-fix, run:
https://github.com/dotnet/runtime/actions/runs/27872474682 -->
<!-- gh-aw-workflow-id: ci-failure-fix -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[clr-ios] DataContractSerializerTests.DCS_DeeplyLinkedData crashes with StackOverflowException on CoreCLR

3 participants

@kotlarmilos@BrzVlad