[9.0-staging] Unable to open dump json file

Open
#114,693 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
csharp, linux, shell

Research direction

Start with profiler/handles/handles/handles.sh and the failure log, then inspect CoreclrTestWrapperLib.TryPrintStackTraceFromCrashReport and the createdump invocation. Reproduce the Linux arm64 failure and trace why the root-owned crashreport.json cannot be read. Done means the crash report is accessible to the wrapper and the test no longer reports the permission or createdump-launch failure.

Written by the indexing model from the issue text.

Description

arch-arm64 area-Infrastructure Known Build Error os-linux

@hoyosjs Unable to access the dump json file.

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1016432
Build error leg or test failing: profiler/handles/handles/handles.sh

Error Message

{
  "ErrorMessage" : "Problem launching createdump",
  "BuildRetry" : false,
  "ExcludeConsoleLog" : false
}

During a test timeout, successfully collect a dump file for it:

 Starting:    profiler.handles.XUnitWrapper (parallel test collections = on [2 threads], stop on fail = off)
   profiler.handles.XUnitWrapper: [Long Running Test] 'profiler/handles/handles/handles.sh', Elapsed: 00:03:59
   profiler.handles.XUnitWrapper: [Long Running Test] 'profiler/handles/handles/handles.sh', Elapsed: 00:06:00
   profiler.handles.XUnitWrapper: [Long Running Test] 'profiler/handles/handles/handles.sh', Elapsed: 00:08:00
Attempting to collect crash dump: /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp
Invoking: sudo /root/helix/work/correlation/createdump --crashreport --name "/home/helixbot/dotnetbuild/dumps/crashdump_48.dmp" 48 --withheap
   profiler.handles.XUnitWrapper: [Long Running Test] 'profiler/handles/handles/handles.sh', Elapsed: 00:10:00
createdump stdout:
[createdump] Gathering state for process 48 corerun
[createdump] Writing crash report to file /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp.crashreport.json
[createdump] Crash report successfully written
[createdump] Writing minidump with heap to file /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp
[createdump] Written 97964032 bytes (23917 pages) to core file
[createdump] Target process is alive
[createdump] Dump successfully written in 340ms

createdump stderr:

Invoking: sudo ls -l /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp.crashreport.json
stdout: -rw------- 1 root root 29218 Apr 15 04:39 /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp.crashreport.json

But then when we try to access the crashreport.json, access is denied:

=========================================
Error reading /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp.crashreport.json: System.UnauthorizedAccessException: Access to the path '/home/helixbot/dotnetbuild/dumps/crashdump_48.dmp.crashreport.json' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.ReadAllText(String path, Encoding encoding)
   at CoreclrTestLib.CoreclrTestWrapperLib.TryPrintStackTraceFromCrashReport(String crashReportJsonFile, TextWriter outputWriter)
Collected crash dump: /home/helixbot/dotnetbuild/dumps/crashdump_48.dmp
    profiler/handles/handles/handles.sh [FAIL]
      Problem launching createdump (may not have execute permissions): execve(���ϰ) FAILED No such file or directory (2)
      
      Assert failure(PID 57 [0x00000039], Thread: 64 [0x0040]): !PreemptiveGCDisabled()
          File: /__w/1/s/src/coreclr/vm/threads.cpp:911
          Image: /root/helix/work/correlation/corerun
Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1016432
Error message validated: [[Long Running Test] 'profiler/handles/handles/handles.sh']
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 4/15/2025 3:41:30 PM UTC

Report
Build Definition Test Pull Request
1016432 dotnet/runtime profiler/handles/handles/handles.sh
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 1
Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1016432
Error message validated: [Access to the path '.*crashreport.json' is denied.]
Result validation: ❌ Known issue did not match with the provided build.
Validation performed at: 4/22/2025 8:52:38 PM UTC

Report
Build Definition Test Pull Request
1016432 dotnet/runtime profiler/handles/handles/handles.sh
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 1
Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1016432
Error message validated: [Problem launching createdump]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 4/22/2025 8:55:30 PM UTC

Report
Build Definition Test Pull Request
1016432 dotnet/runtime profiler/handles/handles/handles.sh
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 1
Report
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/runtime

All issues in dotnet/runtime

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.