From 9898742f4c041f9e7ddc36f5363c77480f4e5c9d Mon Sep 17 00:00:00 2001 From: Sung Yoon Whang Date: Tue, 23 Jun 2020 13:22:33 -0700 Subject: [PATCH 1/2] Do not swallow exception on debug builds --- src/coreclr/src/vm/diagnosticserver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/coreclr/src/vm/diagnosticserver.cpp b/src/coreclr/src/vm/diagnosticserver.cpp index d654dbafe62cc..a51f6fe7cc1a9 100644 --- a/src/coreclr/src/vm/diagnosticserver.cpp +++ b/src/coreclr/src/vm/diagnosticserver.cpp @@ -44,8 +44,10 @@ DWORD WINAPI DiagnosticServer::DiagnosticsServerThread(LPVOID) STRESS_LOG2(LF_DIAGNOSTICS_PORT, LL_WARNING, "warning (%d): %s.\n", code, szMessage); }; +#ifndef DEBUG EX_TRY { +#endif while (!s_shuttingDown) { IpcStream *pStream = IpcStreamFactory::GetNextAvailableStream(LoggingCallback); @@ -97,13 +99,14 @@ DWORD WINAPI DiagnosticServer::DiagnosticsServerThread(LPVOID) break; } } +#ifndef DEBUG } EX_CATCH { STRESS_LOG0(LF_DIAGNOSTICS_PORT, LL_ERROR, "Exception caught in diagnostic thread. Leaving thread now.\n"); - _ASSERTE(!"Hit an error in the diagnostic server thread\n."); } EX_END_CATCH(SwallowAllExceptions); +#endif return 0; } From 5a60ebbaa878c7aefe488d465ab83d62e957250a Mon Sep 17 00:00:00 2001 From: Sung Yoon Whang Date: Tue, 23 Jun 2020 21:22:37 -0700 Subject: [PATCH 2/2] fix contract --- src/coreclr/src/vm/diagnosticserver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/coreclr/src/vm/diagnosticserver.cpp b/src/coreclr/src/vm/diagnosticserver.cpp index a51f6fe7cc1a9..722f2378914c0 100644 --- a/src/coreclr/src/vm/diagnosticserver.cpp +++ b/src/coreclr/src/vm/diagnosticserver.cpp @@ -27,7 +27,9 @@ DWORD WINAPI DiagnosticServer::DiagnosticsServerThread(LPVOID) { CONTRACTL { +#ifndef DEBUG NOTHROW; +#endif GC_TRIGGERS; MODE_PREEMPTIVE; PRECONDITION(s_shuttingDown || IpcStreamFactory::HasActiveConnections());