Open
Description
Describe the bug
We are encountering an issue with dotnet gcdump
on .NET 8 (runtime 8.0.11). When attempting to capture dumps from an app hosted in Kubernetes, the first dump works correctly. However, subsequent dumps contain UNKNOWN object types.
Related issues:
- Lots of uknown objects with .net core 2.x microsoft/perfview#866
- dotnet-gcdump and perfview's gcdump do not work on 5.0 runtimes runtime#38639
To Reproduce
Code used to install the SDK and gcdump tool:
wget https://download.visualstudio.microsoft.com/download/pr/40bc5873-1a39-4a47-9df5-b481869594a6/8455eab2092cc1321ac055f016ef90cf/dotnet-sdk-6.0.404-linux-x64.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.404-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
cd $HOME/dotnet
./dotnet tool install --global dotnet-gcdump
export PATH="$PATH:/root/.dotnet/tools"
dotnet-gcdump -p 1 -v
We tried different .NET SDK versions on various Kubernetes pods:
- 8.0.11 https://download.visualstudio.microsoft.com/download/pr/71b9adff-5d7d-4567-aba4-d0da010e293f/88bd38320ab4a4524e71aec64bf88676/dotnet-sdk-8.0.111-linux-x64.tar.gz
- 6.0.404 https://download.visualstudio.microsoft.com/download/pr/40bc5873-1a39-4a47-9df5-b481869594a6/8455eab2092cc1321ac055f016ef90cf/dotnet-sdk-6.0.404-linux-x64.tar.gz
- 8.0.404 https://download.visualstudio.microsoft.com/download/pr/4e3b04aa-c015-4e06-a42e-05f9f3c54ed2/74d1bb68e330eea13ecfc47f7cf9aeb7/dotnet-sdk-8.0.404-linux-x64.tar.gz
We also tried different dotnet-gcdump versions: - 9.0.553101
- 8.0.547301
- 8.0.532401
- 6.0.351802
All attempts resulted in UNKNOWN object types on the second and subsequent dumps.
When testing on a service still running .NET 6 (runtime 6.0.31, SDK 6.0.404, gcdump 6.0.351802), everything worked as expected.
Exceptions (if any)
The gcdump file contains invalid objects:
Error: Did not have a type definition for typeID 0x7efbc53bed60
Error: Did not have a type definition for typeID 0x7efbc539e458
Error: Did not have a type definition for typeID 0x7efbc539eb28
Error: Did not have a type definition for typeID 0x7efbc539ec50
Error: Did not have a type definition for typeID 0x7efbc539f5b8
Error: Did not have a type definition for typeID 0x7efbc539f7a0
Error: Did not have a type definition for typeID 0x7efbc539f8d8
Error: Did not have a type definition for typeID 0x7efbc539f9b0
Further technical details
- Include the output of
dotnet --info
- The IDE (VS / VS Code/ VS4Mac) you're running on, and its version
Host:
Version: 8.0.11
Architecture: x64
Commit: 9cb3b725e3
RID: linux-x64
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/root/dotnet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download