Skip to content

Commit

Permalink
Fixes Event Log Message Format on Unmanaged FailFast (#63517)
Browse files Browse the repository at this point in the history
* Matched fallback messages with default variants from resources.
  • Loading branch information
Silvenga authored Jan 10, 2022
1 parent 9d5cfc5 commit 9529c35
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/coreclr/dlls/mscorrc/mscorrc.rc
Original file line number Diff line number Diff line change
Expand Up @@ -580,13 +580,13 @@ BEGIN
IDS_ER_FRAMEWORK_VERSION "CoreCLR Version: "
IDS_ER_UNHANDLEDEXCEPTION "Description: The process was terminated due to an unhandled exception."
IDS_ER_UNHANDLEDEXCEPTIONMSG "Exception Info: "
IDS_ER_MANAGEDFAILFAST "Description: The application requested process termination through System.Environment.FailFast(string message)."
IDS_ER_MANAGEDFAILFAST "Description: The application requested process termination through System.Environment.FailFast."
IDS_ER_MANAGEDFAILFASTMSG "Message: "
IDS_ER_UNMANAGEDFAILFAST "Description: The process was terminated due to an internal error in the .NET Runtime "
IDS_ER_STACK_OVERFLOW "Description: The process was terminated due to stack overflow."
IDS_ER_STACK "Stack:"
IDS_ER_WORDAT "at"
IDS_ER_UNMANAGEDFAILFASTMSG "at IP %1 (%2) with exit code %3."
IDS_ER_UNMANAGEDFAILFASTMSG "at IP 0x%x (0x%x) with exit code 0x%x."
IDS_ER_UNHANDLEDEXCEPTIONINFO "exception code %1, exception address %2"
IDS_ER_MESSAGE_TRUNCATE "The remainder of the message was truncated."
IDS_ER_CODECONTRACT_FAILED "Description: The application encountered a bug. A managed code contract (precondition, postcondition, object invariant, or assert) failed."
Expand Down
10 changes: 5 additions & 5 deletions src/coreclr/vm/eepolicy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,8 @@ void EEPolicy::HandleExitProcess(ShutdownCompleteAction sca)
//---------------------------------------------------------------------------------------
// This class is responsible for displaying a stack trace. It uses a condensed way for
// stack overflow stack traces where there are possibly many repeated frames.
// It displays a count and a repeated sequence of frames at the top of the stack in
// such a case, instead of displaying possibly thousands of lines with the same
// It displays a count and a repeated sequence of frames at the top of the stack in
// such a case, instead of displaying possibly thousands of lines with the same
// method.
//---------------------------------------------------------------------------------------
class CallStackLogger
Expand Down Expand Up @@ -291,7 +291,7 @@ class CallStackLogger
for (int i = m_largestCommonStartLength * m_largestCommonStartRepeat; i < m_frames.Count(); i++)
{
PrintFrame(i, pWordAt);
}
}
}
};

Expand Down Expand Up @@ -412,7 +412,7 @@ void LogInfoForFatalError(UINT exitCode, LPCWSTR pszMessage, LPCWSTR errorSource
{
}
EX_END_CATCH(SwallowAllExceptions)

InterlockedCompareExchangeT<Thread *>(&s_pCrashingThread, FatalErrorLoggingFinished, pThread);
}

Expand Down Expand Up @@ -484,7 +484,7 @@ void EEPolicy::LogFatalError(UINT exitCode, UINT_PTR address, LPCWSTR pszMessage
InlineSString<80> ssMessage;
InlineSString<80> ssErrorFormat;
if(!ssErrorFormat.LoadResource(CCompRC::Optional, IDS_ER_UNMANAGEDFAILFASTMSG ))
ssErrorFormat.Set(W("at IP %1 (%2) with exit code %3."));
ssErrorFormat.Set(W("at IP 0x%x (0x%x) with exit code 0x%x."));
SmallStackSString addressString;
addressString.Printf(W("%p"), pExceptionInfo? (UINT_PTR)pExceptionInfo->ExceptionRecord->ExceptionAddress : address);

Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/vm/eventreporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ EventReporter::EventReporter(EventReporterType type)

case ERT_ManagedFailFast:
if(!ssMessage.LoadResource(CCompRC::Optional, IDS_ER_MANAGEDFAILFAST))
m_Description.Append(W("Description: The application requested process termination through Environment.FailFast."));
m_Description.Append(W("Description: The application requested process termination through System.Environment.FailFast."));
else
{
m_Description.Append(ssMessage);
Expand All @@ -120,7 +120,7 @@ EventReporter::EventReporter(EventReporterType type)

case ERT_UnmanagedFailFast:
if(!ssMessage.LoadResource(CCompRC::Optional, IDS_ER_UNMANAGEDFAILFAST))
m_Description.Append(W("Description: The process was terminated due to an internal error in the .NET Runtime."));
m_Description.Append(W("Description: The process was terminated due to an internal error in the .NET Runtime "));
else
{
m_Description.Append(ssMessage);
Expand Down

0 comments on commit 9529c35

Please sign in to comment.