Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(974)

Issue 1844023002: Capture a report on failed browser rendez-vous. (Closed)

Created:
4 years, 8 months ago by manzagop (departed)
Modified:
4 years, 8 months ago
CC:
Alexei Svitkine (slow), chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Capture a report on failed browser rendez-vous. Overview: Browser process hangs are believed to be responsible for a large fraction of browser unclean shutdowns. This patch is to get visibility into the problem on windows using the Kasko reporter. Note: This functionality is hidden behind buildflags, and only triggers for users with stats collection consent on canary/unspecified channels. At this time, it is only considered for one-off releases. Details: - Use of the Kasko reporter is required for its ability to capture reports from other processes. - Pulls out Kasko reporting code to kasko_utils - Invoke Kasko on failed rendez-vous. - Hidden behind build flags (kasko and kasko-rdv-capture). BUG=478209 Committed: https://crrev.com/f071e88974318cec29c02bd5b92fe61868da8569 Cr-Commit-Position: refs/heads/master@{#386983}

Patch Set 1 : #

Total comments: 2

Patch Set 2 : Check buildflag/channel, set crashkey, address race #

Total comments: 6

Patch Set 3 : Executable name check #

Total comments: 54

Patch Set 4 : Address comments, check stats collection consent #

Total comments: 10

Patch Set 5 : Address grt's second round #

Total comments: 4

Patch Set 6 : Address grt's 3rd round #

Total comments: 8

Patch Set 7 : Check stats consent inside SendFailedRdvReport #

Patch Set 8 : Revise stats consent validation #

Total comments: 7

Patch Set 9 : Fix consent validation at rdv #

Total comments: 4

Patch Set 10 : Merge #

Patch Set 11 : Remove extra header, format gn #

Patch Set 12 : Fix gn variables. #

Total comments: 4

Patch Set 13 : Build file changes #

Patch Set 14 : Ensure kasko variable defined in gyp #

Total comments: 2

Patch Set 15 : GYP fixup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+484 lines, -210 lines) Patch
M build/common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +20 lines, -9 lines 0 comments Download
M chrome/app/main_dll_loader_win.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -7 lines 0 comments Download
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 13 3 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/process_singleton_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +88 lines, -1 line 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/chrome_watcher/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +22 lines, -2 lines 0 comments Download
M chrome/chrome_watcher/chrome_watcher.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +34 lines, -2 lines 0 comments Download
M chrome/chrome_watcher/chrome_watcher_main.cc View 1 4 chunks +7 lines, -180 lines 0 comments Download
A chrome/chrome_watcher/kasko_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +30 lines, -0 lines 0 comments Download
A chrome/chrome_watcher/kasko_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +241 lines, -0 lines 0 comments Download
M third_party/kasko/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -9 lines 0 comments Download
A third_party/kasko/kasko.gni View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +19 lines, -0 lines 0 comments Download
M third_party/kasko/kasko.gyp View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 66 (19 generated)
manzagop (departed)
Sending out for early feedback. Still a few things to tweak.
4 years, 8 months ago (2016-03-31 14:50:32 UTC) #6
Sigurður Ásgeirsson
nice! https://codereview.chromium.org/1844023002/diff/60001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/60001/chrome/browser/process_singleton_win.cc#newcode265 chrome/browser/process_singleton_win.cc:265: #if BUILDFLAG(ENABLE_KASKO) As we discussed, there is a ...
4 years, 8 months ago (2016-03-31 19:28:49 UTC) #7
manzagop (departed)
Please have another look! https://codereview.chromium.org/1844023002/diff/60001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/60001/chrome/browser/process_singleton_win.cc#newcode265 chrome/browser/process_singleton_win.cc:265: #if BUILDFLAG(ENABLE_KASKO) On 2016/03/31 19:28:49, ...
4 years, 8 months ago (2016-04-01 16:09:01 UTC) #8
Sigurður Ásgeirsson
nice! https://codereview.chromium.org/1844023002/diff/80001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/80001/chrome/browser/process_singleton_win.cc#newcode270 chrome/browser/process_singleton_win.cc:270: thread_id = ::GetWindowThreadProcessId(remote_window_, &process_id); this is still racy, ...
4 years, 8 months ago (2016-04-01 17:27:17 UTC) #9
manzagop (departed)
Please have another look! https://codereview.chromium.org/1844023002/diff/80001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/80001/chrome/browser/process_singleton_win.cc#newcode270 chrome/browser/process_singleton_win.cc:270: thread_id = ::GetWindowThreadProcessId(remote_window_, &process_id); On ...
4 years, 8 months ago (2016-04-04 21:38:38 UTC) #10
Patrick Monette
https://codereview.chromium.org/1844023002/diff/100001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/100001/chrome/browser/process_singleton_win.cc#newcode206 chrome/browser/process_singleton_win.cc:206: if (GetModuleFileName(nullptr, exe_name_self, MAX_PATH) == 0) You can use ...
4 years, 8 months ago (2016-04-04 23:33:40 UTC) #11
Sigurður Ásgeirsson
nice, lgtm with some nits. I'd ask grt for advice on main executable path comparison ...
4 years, 8 months ago (2016-04-05 13:52:29 UTC) #13
grt (UTC plus 2)
https://codereview.chromium.org/1844023002/diff/100001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/100001/chrome/browser/process_singleton_win.cc#newcode9 chrome/browser/process_singleton_win.cc:9: #include <winbase.h> change this to #include <windows.h> and move ...
4 years, 8 months ago (2016-04-05 17:22:08 UTC) #16
manzagop (departed)
Addressed comments, and also added checking for stats collection. Please have another look. (Note I ...
4 years, 8 months ago (2016-04-06 19:36:03 UTC) #18
grt (UTC plus 2)
https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); i think this is the wrong thing to ...
4 years, 8 months ago (2016-04-06 19:50:36 UTC) #20
manzagop (departed)
https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); On 2016/04/06 19:50:35, grt (very slow) wrote: > ...
4 years, 8 months ago (2016-04-06 20:44:54 UTC) #21
manzagop (departed)
Hi rkaplow! Can you advise on the correct approach to determine stats collection consent? See ...
4 years, 8 months ago (2016-04-06 20:46:35 UTC) #23
grt (UTC plus 2)
https://codereview.chromium.org/1844023002/diff/140001/chrome/chrome_watcher/kasko_util.cc File chrome/chrome_watcher/kasko_util.cc (right): https://codereview.chromium.org/1844023002/diff/140001/chrome/chrome_watcher/kasko_util.cc#newcode173 chrome/chrome_watcher/kasko_util.cc:173: if (QueryFullProcessImageName(process.Handle(), 0, exe_name_other, Uber nit: other spots in ...
4 years, 8 months ago (2016-04-07 13:41:50 UTC) #24
manzagop (departed)
Thanks! Another look? https://codereview.chromium.org/1844023002/diff/140001/chrome/chrome_watcher/kasko_util.cc File chrome/chrome_watcher/kasko_util.cc (right): https://codereview.chromium.org/1844023002/diff/140001/chrome/chrome_watcher/kasko_util.cc#newcode173 chrome/chrome_watcher/kasko_util.cc:173: if (QueryFullProcessImageName(process.Handle(), 0, exe_name_other, On 2016/04/07 ...
4 years, 8 months ago (2016-04-07 14:45:25 UTC) #26
rkaplow
https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); On 2016/04/06 20:44:53, manzagop wrote: > On 2016/04/06 ...
4 years, 8 months ago (2016-04-07 17:57:00 UTC) #27
manzagop (departed)
https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); On 2016/04/07 17:57:00, rkaplow wrote: > On 2016/04/06 ...
4 years, 8 months ago (2016-04-07 18:09:20 UTC) #28
grt (UTC plus 2)
On 2016/04/07 18:09:20, manzagop wrote: > https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc > File chrome/browser/process_singleton_win.cc (right): > > https://codereview.chromium.org/1844023002/diff/120001/chrome/browser/process_singleton_win.cc#newcode318 > ...
4 years, 8 months ago (2016-04-07 20:21:56 UTC) #29
rkaplow
On 2016/04/07 20:21:56, grt (very slow) wrote: > On 2016/04/07 18:09:20, manzagop wrote: > > ...
4 years, 8 months ago (2016-04-07 20:23:46 UTC) #30
grt (UTC plus 2)
from my pov, code lgtm, but please wait for asvitkine to comment on consent.
4 years, 8 months ago (2016-04-07 20:30:04 UTC) #31
Alexei Svitkine (slow)
https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode191 chrome/browser/process_singleton_win.cc:191: #if BUILDFLAG(ENABLE_KASKO_FAILED_RDV_REPORTS) Why do you need a whole build ...
4 years, 8 months ago (2016-04-07 20:30:19 UTC) #33
Alexei Svitkine (slow)
FYI: We have a bug on file about the other API: https://bugs.chromium.org/p/chromium/issues/detail?id=570414
4 years, 8 months ago (2016-04-07 20:34:33 UTC) #34
Sigurður Ásgeirsson
https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); On 2016/04/07 20:30:19, Alexei Svitkine wrote: > The ...
4 years, 8 months ago (2016-04-07 20:35:30 UTC) #35
Alexei Svitkine (slow)
https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode318 chrome/browser/process_singleton_win.cc:318: GoogleUpdateSettings::GetCollectStatsConsent(); On 2016/04/07 20:35:30, Sigurður Ásgeirsson wrote: > On ...
4 years, 8 months ago (2016-04-07 20:37:04 UTC) #36
manzagop (departed)
I've kept the existing check, but moved it inside the function. https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): ...
4 years, 8 months ago (2016-04-07 21:21:25 UTC) #37
Alexei Svitkine (slow)
https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode191 chrome/browser/process_singleton_win.cc:191: #if BUILDFLAG(ENABLE_KASKO_FAILED_RDV_REPORTS) On 2016/04/07 21:21:25, manzagop wrote: > On ...
4 years, 8 months ago (2016-04-07 21:26:35 UTC) #38
manzagop (departed)
https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode191 chrome/browser/process_singleton_win.cc:191: #if BUILDFLAG(ENABLE_KASKO_FAILED_RDV_REPORTS) On 2016/04/07 21:26:35, Alexei Svitkine wrote: > ...
4 years, 8 months ago (2016-04-07 21:32:40 UTC) #39
manzagop (departed)
Hi jochen! I'm looking for owners' review for: build\common.gypi chrome\browser\BUILD.gn chrome\browser\process_singleton_win.cc Could you have a ...
4 years, 8 months ago (2016-04-07 21:39:25 UTC) #41
grt (UTC plus 2)
On 2016/04/07 20:37:04, Alexei Svitkine wrote: > https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc > File chrome/browser/process_singleton_win.cc (right): > > https://codereview.chromium.org/1844023002/diff/160001/chrome/browser/process_singleton_win.cc#newcode318 ...
4 years, 8 months ago (2016-04-07 23:08:21 UTC) #42
jochen (gone - plz use gerrit)
On 2016/04/07 at 23:08:21, grt wrote: > On 2016/04/07 20:37:04, Alexei Svitkine wrote: > > ...
4 years, 8 months ago (2016-04-08 02:08:34 UTC) #43
jochen (gone - plz use gerrit)
lgtm for the build/ files etc..
4 years, 8 months ago (2016-04-08 02:08:53 UTC) #44
manzagop (departed)
Thanks everyone for the reviews so far. Re: stats collection consent, CrashPad looks at policy ...
4 years, 8 months ago (2016-04-08 14:50:49 UTC) #46
scottmg
https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc File chrome/app/main_dll_loader_win.cc (right): https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc#newcode227 chrome/app/main_dll_loader_win.cc:227: const bool stats_collection_consent = crash_reporter::GetUploadsEnabled(); Yes, this lgtm. You ...
4 years, 8 months ago (2016-04-08 15:52:25 UTC) #47
manzagop (departed)
scottmg and I discussed the fact the second call always returns false (because it's in ...
4 years, 8 months ago (2016-04-08 16:04:18 UTC) #48
scottmg
https://codereview.chromium.org/1844023002/diff/200001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/200001/chrome/browser/process_singleton_win.cc#newcode198 chrome/browser/process_singleton_win.cc:198: if (!crash_reporter::GetUploadsEnabled()) Sorry, I only looked at the other ...
4 years, 8 months ago (2016-04-08 16:04:34 UTC) #49
manzagop (departed)
Please have another look! https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc File chrome/app/main_dll_loader_win.cc (right): https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc#newcode227 chrome/app/main_dll_loader_win.cc:227: const bool stats_collection_consent = crash_reporter::GetUploadsEnabled(); ...
4 years, 8 months ago (2016-04-08 21:15:56 UTC) #50
scottmg
https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc File chrome/app/main_dll_loader_win.cc (right): https://codereview.chromium.org/1844023002/diff/200001/chrome/app/main_dll_loader_win.cc#newcode227 chrome/app/main_dll_loader_win.cc:227: const bool stats_collection_consent = crash_reporter::GetUploadsEnabled(); On 2016/04/08 21:15:56, manzagop ...
4 years, 8 months ago (2016-04-08 22:20:55 UTC) #51
manzagop (departed)
Thanks! Did anyone want a final look? https://codereview.chromium.org/1844023002/diff/200001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/200001/chrome/browser/process_singleton_win.cc#newcode198 chrome/browser/process_singleton_win.cc:198: if (!crash_reporter::GetUploadsEnabled()) ...
4 years, 8 months ago (2016-04-11 15:26:49 UTC) #52
grt (UTC plus 2)
lgtm w/ a nit https://codereview.chromium.org/1844023002/diff/220001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/220001/chrome/browser/process_singleton_win.cc#newcode42 chrome/browser/process_singleton_win.cc:42: #include "components/crash/content/app/crashpad.h" unused?
4 years, 8 months ago (2016-04-12 14:35:22 UTC) #53
manzagop (departed)
Thanks! Going ahead with submission. https://codereview.chromium.org/1844023002/diff/220001/chrome/browser/process_singleton_win.cc File chrome/browser/process_singleton_win.cc (right): https://codereview.chromium.org/1844023002/diff/220001/chrome/browser/process_singleton_win.cc#newcode42 chrome/browser/process_singleton_win.cc:42: #include "components/crash/content/app/crashpad.h" On 2016/04/12 ...
4 years, 8 months ago (2016-04-12 15:45:41 UTC) #54
manzagop (departed)
TIL about GN. GN variables now fixed. pmonette: could you have a look since you ...
4 years, 8 months ago (2016-04-12 18:41:47 UTC) #55
Patrick Monette
lgtm with nits https://codereview.chromium.org/1844023002/diff/280001/chrome/browser/BUILD.gn File chrome/browser/BUILD.gn (right): https://codereview.chromium.org/1844023002/diff/280001/chrome/browser/BUILD.gn#newcode849 chrome/browser/BUILD.gn:849: "//chrome/chrome_watcher:kasko_util", Move this to live 667? ...
4 years, 8 months ago (2016-04-12 18:48:42 UTC) #56
manzagop (departed)
Patrick, This is the refactor of the build files we agreed upon. The kasko_util target's ...
4 years, 8 months ago (2016-04-12 21:48:29 UTC) #57
Patrick Monette
https://codereview.chromium.org/1844023002/diff/320001/build/common.gypi File build/common.gypi (left): https://codereview.chromium.org/1844023002/diff/320001/build/common.gypi#oldcode1229 build/common.gypi:1229: 'kasko%': '<(kasko)', Finally this is required and causing problems ...
4 years, 8 months ago (2016-04-13 02:48:38 UTC) #58
manzagop (departed)
Fixed the GYP issue. Going ahead with submission. Thanks! https://codereview.chromium.org/1844023002/diff/320001/build/common.gypi File build/common.gypi (left): https://codereview.chromium.org/1844023002/diff/320001/build/common.gypi#oldcode1229 build/common.gypi:1229: ...
4 years, 8 months ago (2016-04-13 14:29:49 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1844023002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1844023002/340001
4 years, 8 months ago (2016-04-13 14:30:21 UTC) #62
commit-bot: I haz the power
Committed patchset #15 (id:340001)
4 years, 8 months ago (2016-04-13 14:36:12 UTC) #64
commit-bot: I haz the power
4 years, 8 months ago (2016-04-13 14:37:35 UTC) #66
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/f071e88974318cec29c02bd5b92fe61868da8569
Cr-Commit-Position: refs/heads/master@{#386983}

Powered by Google App Engine
This is Rietveld 408576698