Bug 1383501: Move a crash annotation so that it does not mask a previous annotation with the same key; r=handyman
authorAaron Klotz <aklotz@mozilla.com>
Thu, 31 Aug 2017 11:31:28 -0600
changeset 378162 eb75dcb49495d0aa4c4eac03193bf0f92fb6348e
parent 378161 9ac3ad576f15243d1a45b87e14bfae089449dd69
child 378163 faa9ec784d9dfb36b5bd77e85fc93e034a03a004
push id50200
push userarchaeopteryx@coole-files.de
push dateFri, 01 Sep 2017 08:44:00 +0000
treeherderautoland@10bb5830a5b2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershandyman
bugs1383501
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1383501: Move a crash annotation so that it does not mask a previous annotation with the same key; r=handyman MozReview-Commit-ID: 9u7VTKDglrS
ipc/mscom/ProxyStream.cpp
--- a/ipc/mscom/ProxyStream.cpp
+++ b/ipc/mscom/ProxyStream.cpp
@@ -122,16 +122,21 @@ ProxyStream::ProxyStream(REFIID aIID, co
   mStream = nullptr;
 
 #if defined(MOZ_CRASHREPORTER)
   if (FAILED(unmarshalResult) || !mUnmarshaledProxy) {
     nsPrintfCString hrAsStr("0x%08X", unmarshalResult);
     CrashReporter::AnnotateCrashReport(
         NS_LITERAL_CSTRING("CoUnmarshalInterfaceResult"), hrAsStr);
     AnnotateInterfaceRegistration(aIID);
+    if (!mUnmarshaledProxy) {
+      CrashReporter::AnnotateCrashReport(kCrashReportKey,
+                                         NS_LITERAL_CSTRING("!mUnmarshaledProxy"));
+    }
+
 #if defined(ACCESSIBILITY)
     AnnotateClassRegistration(CLSID_AccessibleHandler);
     CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("UnmarshalActCtx"),
                                        strActCtx);
     CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("A11yHandlerRegistered"),
                                        a11y::IsHandlerRegistered() ?
                                        NS_LITERAL_CSTRING("true") :
                                        NS_LITERAL_CSTRING("false"));
@@ -249,23 +254,16 @@ ProxyStream::GetInterface(void** aOutInt
   // We should not have a locked buffer on this side
   MOZ_ASSERT(!mGlobalLockedBuf);
   MOZ_ASSERT(aOutInterface);
 
   if (!aOutInterface) {
     return false;
   }
 
-#if defined(MOZ_CRASHREPORTER)
-  if (!mUnmarshaledProxy) {
-    CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("ProxyStreamUnmarshalStatus"),
-                                       NS_LITERAL_CSTRING("!mUnmarshaledProxy"));
-  }
-#endif // defined(MOZ_CRASHREPORTER)
-
   *aOutInterface = mUnmarshaledProxy.release();
   return true;
 }
 
 ProxyStream::ProxyStream(REFIID aIID, IUnknown* aObject,
                          ProxyStreamFlags aFlags)
   : mGlobalLockedBuf(nullptr)
   , mHGlobal(nullptr)