Skip to content

dotnet trace missing symbols and broken trace in speedscope output on maccatalyst #5529

@molesmoke

Description

@molesmoke

Description

Attempting to obtain a speedscope file reports a broken stack trace for a MAUI app targeting maccatalyst

Just the default MAUI template app with the sandbox disabled and diagnostics_tracing enabled:

https://github.com/jeremy-visionaid/MauiTestApp/tree/dotnet-trace-broken

A speedscope file is created, but it's unusable since most of the symbols are missing.

dotnet build -f net9.0-maccatalyst -c Debug
dotnet-trace collect --format speedscope -- bin/Debug/net9.0-maccatalyst/maccatalyst-arm64/MauiTestApp.app/Contents/MacOS/MauiTestApp

Configuration

macOS 15.5
ARM64
MAUI MacCatalyst app

.NET SDK:
 Version:           9.0.302
 Commit:            bb2550b9af
 Workload version:  9.0.300-manifests.183aaee6
 MSBuild version:   17.14.13+65391c53b

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  15.5
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/9.0.302/

.NET workloads installed:
 [macos]
   Installation Source: SDK 9.0.300
   Manifest Version:    15.5.9207/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.macos/15.5.9207/WorkloadManifest.json
   Install Type:        FileBased

 [maui-tizen]
   Installation Source: SDK 9.0.300
   Manifest Version:    9.0.51/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.51/WorkloadManifest.json
   Install Type:        FileBased

 [maui-maccatalyst]
   Installation Source: SDK 9.0.300
   Manifest Version:    9.0.51/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.51/WorkloadManifest.json
   Install Type:        FileBased

 [maui-ios]
   Installation Source: SDK 9.0.300
   Manifest Version:    9.0.51/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.51/WorkloadManifest.json
   Install Type:        FileBased

 [ios]
   Installation Source: SDK 9.0.300
   Manifest Version:    18.5.9207/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.ios/18.5.9207/WorkloadManifest.json
   Install Type:        FileBased

 [maccatalyst]
   Installation Source: SDK 9.0.300
   Manifest Version:    18.5.9207/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maccatalyst/18.5.9207/WorkloadManifest.json
   Install Type:        FileBased

 [android]
   Installation Source: SDK 9.0.300
   Manifest Version:    35.0.78/9.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.android/35.0.78/WorkloadManifest.json
   Install Type:        FileBased

Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.7
  Architecture: arm64
  Commit:       3c298d9f00

.NET SDKs installed:
  9.0.302 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 9.0.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.36 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Regression?

Other information

dotnet-trace collect --format speedscope -- bin/Debug/net9.0-maccatalyst/maccatalyst-arm64/MauiTestApp.app/Contents/MacOS/MauiTestApp
No profile or providers specified, defaulting to trace profile 'cpu-sampling'

Provider Name                           Keywords            Level               Enabled By
Microsoft-DotNETCore-SampleProfiler     0x0000F00000000000  Informational(4)    --profile 
Microsoft-Windows-DotNETRuntime         0x00000014C14FCCBD  Informational(4)    --profile 

Launching: bin/Debug/net9.0-maccatalyst/maccatalyst-arm64/MauiTestApp.app/Contents/MacOS/MauiTestApp 
Process        : /Users/jeremy/src/tests/MauiTestApp/MauiTestApp/bin/Debug/net9.0-maccatalyst/maccatalyst-arm64/MauiTestApp.app/Contents/MacOS/MauiTestApp
Output File    : /Users/jeremy/src/tests/MauiTestApp/MauiTestApp/MauiTestApp_20250728_153520.nettrace

[00:00:00:19]	Recording trace 5.3804   (MB)
Press <Enter> or <Ctrl+C> to exit...

Trace completed.
Processing trace data file '/Users/jeremy/src/tests/MauiTestApp/MauiTestApp/MauiTestApp_20250728_153520.nettrace' to create a new Speedscope file '/Users/jeremy/src/tests/MauiTestApp/MauiTestApp/MauiTestApp_20250728_153520.speedscope.json'.
Detected a potentially broken trace. Continuing with best-efforts to convert the trace, but resulting speedscope file may contain broken stacks as a result.
Conversion complete
Process exited with code '0'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions