From 7dd16636255a7b697a873325613cb5ccfb113c2b Mon Sep 17 00:00:00 2001 From: mdh1418 Date: Thu, 1 Aug 2024 17:02:41 -0400 Subject: [PATCH] [EventPipe] Handle EventPipe Enable calls during shutdown --- src/coreclr/vm/eventpipeinternal.cpp | 5 ++++- .../System/Diagnostics/Tracing/EventPipeEventDispatcher.cs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/coreclr/vm/eventpipeinternal.cpp b/src/coreclr/vm/eventpipeinternal.cpp index 9e7f79598264af..9d00e848001514 100644 --- a/src/coreclr/vm/eventpipeinternal.cpp +++ b/src/coreclr/vm/eventpipeinternal.cpp @@ -44,7 +44,10 @@ extern "C" UINT64 QCALLTYPE EventPipeInternal_Enable( nullptr, nullptr, nullptr); - EventPipeAdapter::StartStreaming(sessionID); + if (sessionID != 0) + { + EventPipeAdapter::StartStreaming(sessionID); + } } END_QCALL; diff --git a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipeEventDispatcher.cs b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipeEventDispatcher.cs index c53bb2517927d8..ee720c4798b729 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipeEventDispatcher.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipeEventDispatcher.cs @@ -104,7 +104,7 @@ private void CommitDispatchConfiguration() ulong sessionID = EventPipeInternal.Enable(null, EventPipeSerializationFormat.NetTrace, DefaultEventListenerCircularMBSize, providerConfiguration); if (sessionID == 0) { - throw new EventSourceException(SR.EventSource_CouldNotEnableEventPipe); + return; } // Get the session information that is required to properly dispatch events.