clicking on native notification does not load chrome if chrome is not running |
|||||||
Issue descriptionChrome Version: 68.0.3398.0 (Official Build) (64-bit) OS: Windows 10 Version 1709 (OS Build 16299.334) What steps will reproduce the problem? (1) Install chrome as system install (2) Go to https://tests.peter.sh/notification-generator/, accept permissions, change "action" to "Only open a new window." (3) Click "Display the notification" (4) Close Chrome before clicking on notification (5) Click on notification What is the expected result? Chrome loads. (?) What happens instead? Nothing. Please use labels and text to provide additional information. If this is a regression (i.e., worked before), please consider using the bisect tool (https://www.chromium.org/developers/bisect-builds-py) to help us identify the root cause and more rapidly triage the issue. For graphics-related bugs, please copy/paste the contents of the about:gpu page at the end of this report.
,
Apr 23 2018
I was going to suggest checking the shortcut also, but given the notification displays I think that part should be fine. But anyway, please make sure LocalServer points to the right location for chrome.exe.
,
Apr 30 2018
The notifications do display fine, and they are black not white, see screenshot.
I query for my stable m68 install and get:
C:\Users\wfh>reg query HKLM\Software\Classes\CLSID\{A2C6CB58-C076-425C-ACB7-6D19D64428CD}\LocalServer32
HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{A2C6CB58-C076-425C-ACB7-6D19D64428CD}\LocalServer32
(Default) REG_SZ "C:\Program Files\Google\Chrome\Application\68.0.3409.2\notification_helper.exe"
ServerExecutable REG_SZ C:\Program Files\Google\Chrome\Application\68.0.3409.2\notification_helper.exe
I've verified these files exist.
To get a stable 58 install I install chrome stable from the main download page, then I update it to 68.0.3409.2 by manually downloading installer from signed bucket http://shortn/_9gVp9Dimkg and running in elevated command prompt with command line "chrome-installer --system-level" - this gives me a Stable M68 running, then I enabled notification using chrome://flags/#enable-native-notifications
Screenshot attached of the image.
,
Apr 30 2018
I just tested on a dev install 68.0.3409.2 (Official Build) dev (32-bit) (cohort: Dev) and I get the same behavior. To be clear, the steps to reproduce are: (1) Install chrome as system install e.g. download Dev (2) Go to https://tests.peter.sh/notification-generator/, accept permissions, change "action" to "Only open a new window." (3) Click "Display the notification" (4) Close Chrome before clicking on notification <--- MAKE SURE YOU DO THIS (5) Click on notification And Chrome does not load. This is on Windows 10 Version 1803 (OS Build 10.0.17134.1) but was also getting it on Windows 10 Version 1709 (OS Build 16299.334) earlier.
,
May 1 2018
wfh@ and I chatted offline. It seems that Will closed Chrome via hotdog->exit rather than clicking "X". The hotdog->exit route has a possibility of messing up profile loading, but it seems to recover itself later. I will investigate more. Will, please chime in to provide more details.
,
May 1 2018
I did a bit more investigation here. There is something strange happening. I think it might be related to crashpad handler? I tried process monitor during my testing. Exact steps were: 1. Generate a notitification as per #0 2. Exit Chrome completely, verify no chrome processes are running 3. Start process monitor with filter Operation to just "Process Create", "Process Exit" or "Process Start", just to make it a smaller number of events. 4. Click on notification. The behavior I saw was: 14:15:02.7952183: svchost.exe launches: "C:\Program Files\Google\Chrome\Application\68.0.3415.0\notification_helper.exe" -Embedding 14:15:02.9166855: notification_helper.exe launches: "C:\Program Files\Google\Chrome\Application\chrome.exe" --type=crashpad-handler "--user-data-dir=C:\Users\wfh\AppData\Local\Google\Chrome\User Data" /prefetch:7 --monitor-self-annotation=ptype=crashpad-handler "--database=C:\Users\wfh\AppData\Local\Google\Chrome\User Data\Crashpad" "--metrics-dir=C:\Users\wfh\AppData\Local\Google\Chrome\User Data" --url=https://clients2.google.com/cr/report --annotation=channel= --annotation=plat=Win32 --annotation=prod=Chrome --annotation=ver=68.0.3415.0 --initial-client-data=0x1c4,0x1c8,0x1cc,0x1c0,0x1d0,0x9ff68,0x9ff78,0x9ff84 14:15:03.2144666: notification_helper.exe launches: "C:\Program Files\Google\Chrome\Application\chrome.exe" --notification-launch-id=0|0|Default|0|https://tests.peter.sh/|p#https://tests.peter.sh/#01 14:15:03.2810314: notification_helper exits. 14:15:03.3403250: chrome.exe --type=crashpad-handler exits. 14:15:03.4142352: chrome.exe --type=crashpad-handler 14:15:03.6664558: chrome.exe --type=watcher 14:15:03.8210463: chrome.exe --type=gpu-process 14:15:04.2807066: chrome.exe --type=renderer what's interesting here is the termination time for the processes. It appears the lifetime of the crashpad-handler process launched at 14:15:02.9166855, terminating at 14:15:03.3403250 stretches beyond the start time for the chrome browser process launched at 14:15:03.2144666 - I think this might cause problems. In particular, I think chrome might get confused when launching if it sees another chrome exiting? It's probably worth adding some debug code to work out what will happen here during this race. This can probably be proven to be the root cause of the non-determinism by disabling crashpad in notification_helper.exe and seeing if the flakes go away. I enclose a graph from process monitor that explains this a lot more than my text, I've highlighted the bit in the graph that I think is potentially bad, when crashpad-handler for notification_helper.exe is still running, and chrome browser has already started warmup.
,
May 1 2018
I patched out the crashpad calls from notification_helper and it didn't fix the issue, so I think the analysis in #6 is bogus... I still see chrome.exe start, but it just launches all its child processes, then just terminates - here is the process tree again...
,
May 2 2018
Thanks Will for the details! This process tree you attached is expected. I have seen it a lot of times when I wrote notification_helper_launches_chrome_unittest.cc. I suspect the issue is in browser startup (maybe profile related).
,
May 4 2018
Hi Will, I am OOO for the next 4 weeks. If you have new findings, please share. Thanks so much!
,
May 7 2018
this is still reliably happening. Given I can repro, I need to carve out some time to try and add some extra debugging to work out why the browser is failing to start up. Can you give me an estimate on the priority of this work, and whether you could consider this a blocker for launch?
,
May 19 2018
Re #10: Given that we cannot repro, we don't consider it a blocker for launch. It's good to find out why though.
,
Nov 21
***Mass UI Triage*** As per dev comments.
,
Dec 7
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by chengx@chromium.org
, Apr 20 2018Hi Will, could you please check if the registry key is successfully added to your machine after the system install? For Canary: reg query HKLM\Software\Classes\CLSID\{FA372A6E-149F-4E95-832D-8F698D40AD7F}\LocalServer32 For other channels, please use the CLSIDs below accordingly. {A2C6CB58-C076-425C-ACB7-6D19D64428CD}, // Google Chrome. {B89B137F-96AA-4AE2-98C4-6373EAA1EA4D}, // Google Chrome Beta. {F01C03EB-D431-4C83-8D7A-902771E732FA}, // Google Chrome Dev.