Skip to content

dotnet-trace breaks apps that create their own child processes #5501

@zivkan

Description

@zivkan

Description

I'm not sure if this is a feature request or a bug, but trying to use dotnet-trace collect --show-child-io -- dotnet package search json freezes and must be stopped with ctrl-c. The output is:

The runtime has been configured to pause during startup and is awaiting a Diagnostics IPC ResumeStartup command from a Diagnostic Port.
DOTNET_DiagnosticPorts="dotnet-trace-48696-20250614_161420.socket"
DOTNET_DefaultDiagnosticPortSuspend=0

The .NET SDK implements most of its NuGet functionality by executing another console app as its own child process. dotnet-trace doesn't have a problem with most non-nuget commands, and dotnet nuget why is a special case, the first NuGet command to run in-proc, and dotnet-trace works with that as well. Older versions of the .NET SDK ran msbuild as a child process of dotnet tool restore and dotnet tool install, and dotnet-trace causes those to freeze and never recover as well.

If this is a known limitation, I've been unable to find it documented anywhere, but that could be a limitation in my own search ability.

Configuration

I can reproduce on Windows and in WSL

Regression?

Other information

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions