Skip to content

Test failure: MutexTests IOException "'/tmp/.dotnet/shm/global' does not have the expected owner permissions" #135889

Open

Description

@lewing

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1635689
Build error leg or test failing: net11.0-linux-Debug-x64-coreclr_release-Ubuntu.2604.Amd64.Open - System.Threading.Tests.MutexTests
Pull request: #135778

Tracking issue: #135887. Regression from #135778: on Linux Helix machines, global-scope named mutex creation throws IOException because /tmp/.dotnet/shm/global exists with mode 40755, which the new directory validation rejects. Affected tests include AbandonExisting, CrossProcess_NamedMutex_ProtectedFileAccessAtomic, NameNamespaceTest, NamePrefixAndOptionsCompatibilityTest, NameOptionsApiCompatibilityTest(namePrefix: "Global\\"), NamedMutex_InvalidSharedMemoryHeaderKind, NamedMutex_InvalidSharedMemoryHeaderVersion and NamedMutex_TooSmallSharedMemoryFile.

KBE authoring guidance (ci-failure-scan)
  • Error Details is for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.
  • Build Analysis parses only the single JSON block under Error Message.
  • ErrorMessage is a case-sensitive ordinal String.Contains substring copied verbatim from the failing log.
  • Set BuildRetry to true only for a clear infrastructure retry case. ExcludeConsoleLog disables Helix console-log scanning.

Error Details

System.Threading.Tests.MutexTests.AbandonExisting(name: "...", waitType: WaitOne, ..., currentUserOnly: False, currentSessionOnly: False) [FAIL]
  System.AggregateException : One or more errors occurred. (The directory '/tmp/.dotnet/shm/global' does not have the expected owner permissions: 40755.)
  ---- System.IO.IOException : The directory '/tmp/.dotnet/shm/global' does not have the expected owner permissions: 40755.

System.Threading.Tests.MutexTests.NamedMutex_InvalidSharedMemoryHeaderVersion [FAIL]
  Expected one of: (System.Threading.WaitHandleCannotBeOpenedException, System.IO.InvalidDataException) -> Actual: (System.IO.IOException): System.IO.IOException: The directory '/tmp/.dotnet/shm/global' does not have the expected owner permissions: 40755.
     at System.IO.SharedMemoryHelpers.ValidateDirectory(SafeFileHandle directoryHandle, String directoryPathForError, SharedMemoryId id, Int32& transientRetryCount) in /_/src/libraries/System.Private.CoreLib/src/System/IO/SharedMemoryManager.Unix.cs:line 847
     at System.IO.SharedMemoryHelpers.EnsureDirectoryExists(SafeFileHandle parentDirectoryHandle, String directoryName, String directoryPathForError, SharedMemoryId id, Boolean createIfNotExist)

Error Message

{
  "ErrorMessage": "'/tmp/.dotnet/shm/global' does not have the expected owner permissions",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Agentic workflow metadata (ci-failure-scan)

Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 29 hits in failure.log

Note

This issue was drafted with GitHub Copilot.

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1635689
Error message validated: ['/tmp/.dotnet/shm/global' does not have the expected owner permissions]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 10/15/2026 7:25:15 PM UTC

Report

Build Repository Test Pull Request
1638634 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135965
1638838 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135983
1638873 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135543
1638903 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135805
1638880 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135820
1638885 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135830
1638867 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135768
1638841 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135984
1638855 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135790
1638826 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135757
1638812 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135146
1638800 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135972
1638770 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135291
1638784 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135890
1638764 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135296
1638775 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #134531
1638773 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #134449
1638738 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135896
1638725 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135970
1638707 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135975
1638683 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135906
1638654 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic
1638622 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135533
1638619 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135939
1638643 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ConcurrentCreateOrOpen #135974
1638594 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #133086
1638556 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135794
1638552 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135413
1638493 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135653
1638535 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #134978
1638496 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135902
1638455 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135446
1638456 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135886
1638442 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135876
1638420 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135911
1638390 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #134083
1638365 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135962
1638360 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135219
1638184 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135946
1638292 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135959
1638280 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #125436
1638224 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135955
1638218 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135954
1638217 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135957
1638222 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135956
1638212 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135953
1638208 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135949
1638207 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135948
1638191 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135947
1638166 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting
1638124 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135846
1638095 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135944
1638073 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135943
1638069 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135941
1638066 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135940
1638044 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135936
1638024 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135935
1638008 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135937
1638000 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135622
1637949 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135934
1637932 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath
1637911 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135924
1637884 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135928
1637864 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath
1637881 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135927
1637850 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135925
1637832 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135921
1637822 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135918
1637827 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135920
1637814 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135638
1637803 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135917
1637793 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135520
1637789 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135916
1637656 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135908
1637783 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135768
1637764 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135915
1637751 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting
1637625 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135807
1637712 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #133384
1637694 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135911
1637685 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135580
1637688 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135543
1637672 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135909
1637640 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135899
1637597 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #134978
1637596 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135830
1637580 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135906
1637559 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135903
1637497 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #133659
1637356 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting
1637477 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135802
1637459 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135896
1637432 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #132827
1637405 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135894
1637454 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135806
1637452 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135890
1637394 dotnet/runtime System.Threading.Tests.MutexTests.CrossProcess_NamedMutex_ProtectedFileAccessAtomic #135543
1637380 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135893
1637366 dotnet/runtime System.Threading.Tests.MutexTests.NamedMutex_DefaultScope_UsesExpectedSharedMemoryPath #135467
1637362 dotnet/runtime System.Threading.Tests.MutexTests.AbandonExisting #135885
Displaying 100 of 110 results

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
54 110 110

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 Oct 15, 2026
  2. dotnet-policy-service commented on Oct 15, 2026

    @dotnet-policy-service
    Contributor

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

  3. pcshrosbree commented on Oct 16, 2026

    @pcshrosbree
    Contributor

    I noticed that the ErrorMessage here is '/tmp/.dotnet/shm/global' does not have the expected owner permissions. In build 1637265 for #135877, Build Analysis shows MutexTests.AbandonExisting under "Test Failures" with The directory '/tmp/.dotnet' does not have the expected owner permissions: 40755. That message does not contain the current ErrorMessage. Would shortening the ErrorMessage to does not have the expected owner permissions cover both paths?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Known Build ErrorUse this to report build issues in the .NET Helix tabarea-System.IOblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'untriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions