Skip to content

[ci-scan] Test failure: System.Globalization.Tests.IdnMappingGetUnicodeTests DllNotFoundException 'libSystem.Globalization.Native' on browser-wasm CoreCLR #130479

Description

@kotlarmilos

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1502921
Build error leg or test failing: browser-wasm linux Release LibraryTestsCoreCLR - WasmTestOnChrome-CLR-ST-Batch-4 - System.Globalization.Extensions.Tests
Pull request: #130168

Error Details

On the browser-wasm CoreCLR library test leg (WasmTestOnChrome-CLR-ST), the whole System.Globalization.Extensions.Tests work item fails because libSystem.Globalization.Native cannot be loaded. The build has dynamic linking disabled, so every Interop.Globalization.* P/Invoke throws System.DllNotFoundException. All 156 failing cases are System.Globalization.Tests.IdnMappingGetUnicodeTests (plus IdnMappingIdnaConformanceTests) and share the same stack through Interop.Globalization.ToUnicode.

[FAIL] System.Globalization.Tests.IdnMappingGetUnicodeTests.TryGetUnicode_EmptyBuffer
System.DllNotFoundException : Unable to load shared library 'libSystem.Globalization.Native' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
dynamic linking not enabled

   at Interop.Globalization.ToUnicode(UInt32 flags, ReadOnlySpan`1 src, Int32 srcLen, Span`1 dstBuffer, Int32 dstBufferCapacity)
   at System.Globalization.IdnMapping.IcuTryGetUnicodeCore(ReadOnlySpan`1 ascii, Span`1 destination, Int32& charsWritten)
   at System.Globalization.IdnMapping.TryGetUnicode(ReadOnlySpan`1 ascii, Span`1 destination, Int32& charsWritten)
   at System.Globalization.Tests.IdnMappingGetUnicodeTests.TryGetUnicode_EmptyBuffer()

Error Message

{
  "ErrorMessage": [
    "Unable to load shared library 'libSystem.Globalization.Native'",
    "dynamic linking not enabled"
  ],
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": true
}

Failure details:

  • System.DllNotFoundException : Unable to load shared library 'libSystem.Globalization.Native' followed by dynamic linking not enabled.
  • 156 failing cases, all in System.Globalization.Tests.IdnMappingGetUnicodeTests and System.Globalization.Tests.IdnMappingIdnaConformanceTests.
  • Signature verified with grep -Fc against the work item wasm-console.log: 1133 hits for each element, 0 hits on [PASS]/[SKIP] lines.

Affected legs:

  • runtime / browser-wasm linux Release LibraryTestsCoreCLR, work item WasmTestOnChrome-CLR-ST-Batch-4.
  • Queue (Ubuntu.2604.Amd64.Open) with the ubuntu-26.04-helix-webassembly-amd64 image.

Console Log:

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1502921
Error message validated: [Unable to load shared library 'libSystem.Globalization.Native' dynamic linking not enabled]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 7/10/2026 11:41:39 AM UTC

Report

Build Repository Test Pull Request
1503199 dotnet/runtime System.Globalization.Tests.IdnMappingIdnaConformanceTests.GetUnicode_Success #130483

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 1

Activity

  1. added
    blocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    on Jul 10, 2026
  2. added this to the 11.0.0 milestone on Jul 10, 2026
  3. dotnet-policy-service commented on Jul 10, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-globalization
    See info in area-owners.md if you want to be subscribed.

  4. MihuBot commented on Jul 10, 2026

    @MihuBot

    I'm a bot. Here is a possible related and/or duplicate issue (I may be wrong):

  5. dotnet-policy-service commented on Jul 10, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
    See info in area-owners.md if you want to be subscribed.

  6. github-actions commented on Jul 10, 2026

    @github-actions
    Contributor

    Caution

    agentic threat detected
    Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

    Details

    The threat detection results could not be parsed.

    Review the workflow run logs for details.

    Workflow artifact: ci-fix
    Artifact kind: handoff
    Linked KBE: #130479

    Note

    AI/Copilot-generated root-cause hand-off (ci-failure-fix). No automated code change was produced: the failure is a browser-wasm CoreCLR build/link configuration gap, and the only in-bounds test-side option would be to exclude/skip the globalization tests on that leg (muting), which this workflow must not do. Looping in owners to fix forward.

    Root cause (read-only analysis)

    On the new browser-wasm CoreCLR library-test leg, System.Globalization tests fail because the ICU shim native library cannot be loaded:

    System.DllNotFoundException: Unable to load shared library 'libSystem.Globalization.Native' ...
    

    Every Interop.Globalization.* P/Invoke throws DllNotFoundException because dynamic native linking is not enabled in the CoreCLR-on-WASM single-threaded test host, so libSystem.Globalization.Native is never resolvable at runtime. This is not a test defect and not a globalization-library bug — the managed interop is correct; the failure is that the browser-wasm CoreCLR test configuration does not make the globalization native shim available (it is neither statically linked into the runtime nor dlopen-able because dynamic linking is disabled on that leg).

    Both conceivable changes are out of scope for this workflow:

    • Excluding or skipping the globalization tests on the browser-wasm CoreCLR leg would mute them — not allowed here.
    • Statically linking (or otherwise enabling loading of) System.Globalization.Native into the browser-wasm CoreCLR test host is a runtime/build configuration change well outside small-fix bounds, and cannot be built/validated in this environment.

    Whether this leg should statically link the globalization shim, enable dynamic linking, or run with invariant globalization is a maintainer judgement, so I am handing off rather than editing build config blindly.

    Evidence

    Suggested reviewers / area contacts

    • arch-wasm (browser-wasm CoreCLR build/link config): @lewing
    • Area owners (area-System.Globalization): @dotnet/area-system-globalization

    Please verify before acting; the native-link decision for the browser-wasm CoreCLR test host is the key call here.

    Generated by CI Outer-Loop Failure Fixer · 301.9 AIC · ⊞ 18K · ◷

  7. pavelsavara commented on Jul 15, 2026

    @pavelsavara
    Member

    This should be fixed by #130543

  8. modified the milestones: 11.0.0, 12.0.0 on Jul 16, 2026
  9. locked and limited conversation to collaborators on Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Known Build ErrorUse this to report build issues in the .NET Helix tabarch-wasmWebAssembly architecturearea-System.Globalizationblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions