joe-elliott / netcore-kubernetes-profiling

Debugging techniques for .NET Core on Linux/Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed to open /usr/share/dotnet/shared/...

nwsm opened this issue · comments

Relevant to cpu-profiling

When running perf script, I get lots of these:

Failed to open /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.4/System.Private.CoreLib.dll, continuing without symbols
Failed to open /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.4/System.Net.Sockets.dll, continuing without symbols

This is resulting in many dotnet codepaths being shown as x.dll in the graphs.
COMPlus_ZapDisable=1 should have fixed this but apparently not. Any recommendation?

This isn't exactly a dealbreaker (the symbols for my own code seem to be loaded fine) but I'd still like to resolve it.

This is with my own dotnet 3.1 app, not your sample app.

This was resolved by adding the following environment variable to the dotnet container:

- name: COMPlus_ReadyToRun value: "0"

I found this fix here.

I don't want to submit an MR changing this in your manifest because I guess for your app it is not necessary, but I think a note somewhere in the repo would be good.

Thanks for the update. I feel like that's a new env var since I built this repo or at least I never ran into it when I was doing this research.

I'll review the link and update the repo. Thanks!

Added some lines in the documentation on COMPlus_ReadyToRun. Thanks for the help.