Commit 18db6b0c authored by jbauman's avatar jbauman Committed by Commit bot

Set crash key if WM_QUIT message is received on GPU message loop.

Threads seem to be exiting unexpectedly, so to help debugging set a
crash key if an unexpected WM_QUIT message is received.

BUG=647068
TBR=scottmg@chromium.org

Review-Url: https://codereview.chromium.org/2342713002
Cr-Commit-Position: refs/heads/master@{#419057}
parent c582e531
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <limits> #include <limits>
#include "base/debug/crash_logging.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
...@@ -636,6 +637,11 @@ bool MessagePumpForGpu::ProcessNextMessage() { ...@@ -636,6 +637,11 @@ bool MessagePumpForGpu::ProcessNextMessage() {
return false; return false;
if (msg.message == WM_QUIT) { if (msg.message == WM_QUIT) {
// Try to figure out if we've received a WM_QUIT targeted towards a
// window. http://crbug.com/647068
// TODO(jbauman): Remove once we've got some data about this.
base::debug::SetCrashKeyValue("received_quit_message",
base::StringPrintf("%d", !!msg.hwnd));
// Repost the QUIT message so that it will be retrieved by the primary // Repost the QUIT message so that it will be retrieved by the primary
// GetMessage() loop. // GetMessage() loop.
state_->should_quit = true; state_->should_quit = true;
......
...@@ -105,6 +105,9 @@ size_t RegisterEngineCrashKeys() { ...@@ -105,6 +105,9 @@ size_t RegisterEngineCrashKeys() {
// Temporary for https://crbug.com/630496. // Temporary for https://crbug.com/630496.
{ "swdh_get_registration_cannot_host_url", crash_keys::kLargeSize }, { "swdh_get_registration_cannot_host_url", crash_keys::kLargeSize },
{ "swdh_get_registration_cannot_document_url", crash_keys::kLargeSize }, { "swdh_get_registration_cannot_document_url", crash_keys::kLargeSize },
// Temporary for https://crbug.com/647068.
{ "received_quit_message", crash_keys::kSmallSize },
}; };
return base::debug::InitCrashKeys(engine_keys, arraysize(engine_keys), return base::debug::InitCrashKeys(engine_keys, arraysize(engine_keys),
......
...@@ -179,6 +179,9 @@ size_t RegisterCrashKeysHelper() { ...@@ -179,6 +179,9 @@ size_t RegisterCrashKeysHelper() {
// Temporary for https://crbug.com/630496. // Temporary for https://crbug.com/630496.
{"swdh_get_registration_cannot_host_url", crash_keys::kLargeSize}, {"swdh_get_registration_cannot_host_url", crash_keys::kLargeSize},
{"swdh_get_registration_cannot_document_url", crash_keys::kLargeSize}, {"swdh_get_registration_cannot_document_url", crash_keys::kLargeSize},
// Temporary for https://crbug.com/647068.
{"received_quit_message", crash_keys::kSmallSize},
}; };
// This dynamic set of keys is used for sets of key value pairs when gathering // This dynamic set of keys is used for sets of key value pairs when gathering
......
...@@ -228,6 +228,9 @@ size_t RegisterChromeCrashKeys() { ...@@ -228,6 +228,9 @@ size_t RegisterChromeCrashKeys() {
// Temporary for https://crbug.com/630496. // Temporary for https://crbug.com/630496.
{ "swdh_get_registration_cannot_host_url", crash_keys::kLargeSize }, { "swdh_get_registration_cannot_host_url", crash_keys::kLargeSize },
{ "swdh_get_registration_cannot_document_url", crash_keys::kLargeSize }, { "swdh_get_registration_cannot_document_url", crash_keys::kLargeSize },
// Temporary for https://crbug.com/647068.
{ "received_quit_message", crash_keys::kSmallSize },
}; };
// This dynamic set of keys is used for sets of key value pairs when gathering // This dynamic set of keys is used for sets of key value pairs when gathering
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment