0

GCM RegistrationRequest: Bring back DumpWithoutCrashing logic on CrOS

This is mostly a revert of crrev.com/c/3776655 (which removed this
logic), except it's now #ifdef'd to ChromeOS only - we have enough
reports from other platforms.

Bug: 1327973, 1342099
Change-Id: I42372b6a442d5d90eda1c453f1beffdead5e6fed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3805336
Auto-Submit: Marc Treib <treib@chromium.org>
Reviewed-by: Dmitry Titov <dimich@chromium.org>
Commit-Queue: Dmitry Titov <dimich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1032119}
This commit is contained in:
Marc Treib
2022-08-05 21:32:26 +00:00
committed by Chromium LUCI CQ
parent 5b57620c96
commit 89c93e7abc

@ -267,6 +267,20 @@ RegistrationRequest::Status RegistrationRequest::ParseResponse(
response.substr(error_pos + std::size(kErrorPrefix) - 1);
LOG(ERROR) << "Registration response error message: " << error;
RegistrationRequest::Status status = GetStatusFromError(error);
#if BUILDFLAG(IS_CHROMEOS_ASH)
// TODO(crbug.com/1327973): Temporarily log additional information for
// INVALID_SENDER errors. Remove once the investigation is complete!
if (status == RegistrationRequest::Status::INVALID_SENDER) {
SCOPED_CRASH_KEY_STRING64("gcm_registration", "url",
source->GetFinalURL().spec());
SCOPED_CRASH_KEY_STRING256("gcm_registration", "request_body",
request_body);
SCOPED_CRASH_KEY_STRING256("gcm_registration", "response_body", response);
base::debug::DumpWithoutCrashing(FROM_HERE,
/*time_between_dumps=*/base::Hours(12));
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
return status;
}