dotnet / dotnet/BenchmarkDotNet

COMException when generating ETW Log for benchmark

Offen
#2,139 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Area:Diagnosers blocked
Vorherrschende Sprache
C#
Sterne
11.5k
Forks
1.1k
Ø Merge
6 T. 11 Std.
Gemergte PRs (30 T.)
12

Beschreibung

Just posting this here for visibility as it's the same problem as microsoft/perfview#1723.

I'm seeing COMExceptions when trying to generate an ETW trace for a benchmark.

The exception is
```
Unhandled exception. System.Runtime.InteropServices.COMException (0x800700AA): The requested resource is in use. (0x800700AA)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableKernelProvider(Keywords flags, Keywords stackCapture)
at BenchmarkDotNet.Diagnostics.Windows.KernelSession.EnableProviders()
at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Start(DiagnoserActionParameters parameters)
at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Handle(HostSignal signal, DiagnoserActionParameters parameters)
at BenchmarkDotNet.Diagnosers.CompositeDiagnoser.Handle(HostSignal signal, DiagnoserActionParameters parameters)
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem Vergleich dieses Berichts mit microsoft/perfview#1723 und verfolge dann den Stack von BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Start über KernelSession.EnableProviders und TraceEventSession.EnableKernelProvider. Reproduziere den Fehler bei der ETW-Trace-Generierung und dokumentiere eine bestätigte Lösung für die COMException aufgrund einer bereits verwendeten Ressource.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
observability, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.