New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 689715 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 671375



Sign in to add a comment

No update errors reported in the new chrome://chrome page

Project Member Reported by borisv@chromium.org, Feb 7 2017

Issue description


Chrome Version: 58.0.3005.2
OS: 10.12.3

What steps will reproduce the problem?
(1) Open Chrome (the version above is currently in the Canary)
(2) Stop the network of the machine - disconnect wifi, unplug wires. This is needed to simulate update check errors.
(3) Navigate to chrome://chrome

What is the expected result?
The update check should fail, saying that there is no internet connection.

What happens instead?
Only a red icon is shown without further indication of what went wrong. See the attached screenshot. One shows the error in the stable channel (v56) and the other one shows the new UI where no error information is displayed (v58).


 
Screen Shot 2017-02-07 at 3.21.08 PM.png
89.5 KB View Download

Comment 1 by borisv@chromium.org, Feb 11 2017

Owner: dbeam@chromium.org
Status: Assigned (was: Untriaged)
Dan, can this be a regression from https://codereview.chromium.org/2583743002? Please reassign the bug appropriately.

Comment 2 by dbeam@chromium.org, Feb 11 2017

Cc: scottchen@chromium.org

Comment 3 by dbeam@chromium.org, Feb 11 2017

but wait, that's the OLD options page?  can you give a screenshot of the new one?

Comment 4 by borisv@chromium.org, Feb 13 2017

I swear I attached both pages... Here it is now.
Screen Shot 2017-02-07 at 3.20.10 PM.png
56.8 KB View Download

Comment 5 by dbeam@chromium.org, Feb 13 2017

Blocking: 671375
Cc: tbuck...@chromium.org dbeam@chromium.org dpa...@chromium.org
Components: UI>Settings
Labels: -Pri-2 Proj-MaterialDesign-WebUI Hotlist-MD-Settings-Aboutt OS-Chrome OS-Linux OS-Windows Pri-1
Owner: bettes@chromium.org
Status: Available (was: Assigned)
Alan: what should it look like when Chrome fails to update (i.e. if your internet's not working)?

Comment 6 by borisv@chromium.org, Feb 15 2017

Ping. Any update?

Comment 7 by bettes@chromium.org, Feb 15 2017

Cc: -dbeam@chromium.org
Owner: dbeam@chromium.org
Can we reliably detect it's a network issue? If so, let's replace the primary-text with "There is no internet connection"

Comment 8 by borisv@chromium.org, Feb 15 2017

At this point, we need a way to expose all errors that come from the updater. Something like "Additional info" link that opens the full error message would be the best. My example with no network connection is just one of many errors that the updater may return. E.g. at the moment, the most common one is due to auto-updates running in the background. This is a short-term fix to help with diagnosing the issue either by the user or by support person.

In future, we plan to create a logic in Chrome that parses the raw messages from the updater and provides more meaningful information to the user.
Owner: steve...@chromium.org
Status: Started (was: Available)
Dan, I can look into this. This particular message is Chrome OS specific.

borisv@ - See issue 681901 for planned improvements to thies UI. Feel free to add comments there or create a separate feature request issue and link it.

For this issue I just plan to ensure parity with the existing UI.

FWIW, if the message is coming back from C++ in the already existing mechanism (a 'update-status-changed' WebUI event), it should be properly displayed in the UI, see https://bugs.chromium.org/p/chromium/issues/detail?id=689715#c9.
Cc: dbeam@chromium.org
bettes@ -

The old UI shows one of two messages for the top line:

"You are currently offline." (no internet connection)
"You are currently connected to the mobile network." (was 'cellular')

And (depending on update preferences) either:

"To check for updates, please use Ethernet, Wi-Fi or mobile data."
"To check for updates, please use Ethernet or Wi-Fi."

We plan to improve this issue 681901, but for this I will make sure that show these messages unless I hear otherwise (e.g. I could replace the first one with "There is no internet connection" if you prefer)

I will also ensure that any message described in comment #12 is shown consistently with the current UI.


It turns out that we are simply not showing the second line in the new UI, fix is here:
https://codereview.chromium.org/2698133003/
Thanks for the quick fix, Steve. Can you attach a screenshot for how it would look like after the CR? The CR looks ok, but I wouldn't trust my limited knowledge of HTML/JS to make conclusions.
Screenshot 2017-02-16 at 4.26.05 PM (1).png
341 KB View Download
Thanks, Steve. What about update errors? Let us try to create an error:

1. Launch Chrome and go to the settings page.
2. Once the check is complete, run the command below:
$/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin -P com.google.Chrome.canary --delete
3. Refresh/reopen the settings page to check for updates again.

There should be an error that the ticket is missing (deleted in #2).

Or you may want to delete "com.google.Chrome" in #2 above, if this is the product that you have.
There is no logical difference between different types of update errors in the UI itself, the strings are provided by the same model that the old Settings UI uses. We were just missing the second piece of it (which I double checked and it is the only field we were ignoring).

Also, I do not have easy access to a Mac :P

Once this is in do please feel free to test this more thoroughly!

Sure, thank you, Steve. Again, I appreciate the fast fix. 

Comment 21 by dbeam@chromium.org, Feb 17 2017

why are we showing 3 lines in a 2 line box?
What makes it a 2 line box? I understand your point, just saying that this particular UI needs to be flexible to display different error messages (that can span different number of lines, especially taking into account other languages).

Comment 23 by dbeam@chromium.org, Feb 17 2017

correction: if it had the proper top/bottom spacing, it could be an N-line box, but our boxes aren't currently dealing with that well
I'll fix the padding.

Screenshots with and without the error:

Screenshot 2017-02-17 at 10.29.08 AM.png
315 KB View Download
Screenshot 2017-02-17 at 10.29.21 AM.png
323 KB View Download
Wrong screenshots, those were the old ones, here are the new ones:

Screenshot 2017-02-17 at 10.11.06 AM.png
336 KB View Download
Screenshot 2017-02-17 at 10.11.40 AM.png
339 KB View Download
Labels: M-58
Status: Fixed (was: Started)
Status: Assigned (was: Fixed)
I just installed today's canary and the errors are still not shown in the UI. See the attached screenshot.
The build is "Version 58.0.3020.0 (Official Build) canary (64-bit)".
The commit from the change in comment #28 is in the build. See the list of changes here: https://chromium.googlesource.com/chromium/src/+log/58.0.3019.0..58.0.3020.0?pretty=fuller&n=10000

Screen Shot 2017-02-22 at 9.36.36 AM.png
129 KB View Download
borisv@ - Could you provide a repro? You seem to be in an unexpected state where it says 'Checking for updates' with an error icon. Also, can you check the JS console for any error messages?

Repro - cut the network (both wifi and wired).

And yes, there is a JS exception - see attached log. There are also a bunch of deprecation messages. 
settings-1487789619230.log
2.1 KB View Download
Please be more precise in your repro. For example, here is the repro I have been using with a ToT official build:

1. Go to chrome://md-settings, click on 'About Chrome OS' in the the left side menu.
2. Disconnect or disable any network conenctions.
3. Click 'check for updates'.
4; Observe: see attached screenshot


Screenshot 2017-02-22 at 12.10.35 PM.png
80.0 KB View Download
(The JS error by the way is almost certainly the problem here, but I have no idea how/why there are <br> elements in the error message, so I need to figure out how to reproduce this locally).

Yes, the assertion error seems to be thrown from https://cs.chromium.org/chromium/src/ui/webui/resources/js/parse_html_subset.js?l=61, because the error's HTML contains a <br> tag.
Re: comment #32/#32 - Also, what OS was the repro on? Error messages may be platform dependent.


Repro steps are in the bug description. Scroll to the top.
For repro steps regarding update errors, see comment #17.

OS-wise, I believe that I opened it for Mac, but the platform was later expanded in comment #5 to Windows and Linux too.

I am still seeing the original issue - no network, no error message on my Mac.


Cc: steve...@chromium.org
Owner: dpa...@chromium.org
OK. As discussed offline, assigning to you dpapad@ to try to reproduce on Oscar and decide what to do about embedded <br> tags.
Labels: -Hotlist-MD-Settings-Aboutt Hotlist-MD-Settings-About
I was able to reproduce the error when there is not internet access. The error's HTML is the following

Update failed (error: 11)<br/><br/>Error details:<br/><pre>The Internet connection appears to be offline. [NSURLErrorDomain:-1009] (The Internet connection appears to be offline. [kCFErrorDomainCFNetwork:-1009])
KSServerUpdateRequest fetch failed. (productID: com.google.Chrome.canary) [com.google.UpdateEngine.CoreErrorDomain:702 - &#39;https://tools.google.com/service/update2?cup2hreq=58aab3e8662ed1e8e239ebecb45e66a6547d89806277498359e15a70013d7e93&amp;cup2key=6:4052306628&#39;] (The Internet connection appears to be offline. [NSURLErrorDomain:-1009])
The Internet connection appears to be offline. [NSURLErrorDomain:-1009] (The Internet connection appears to be offline. [kCFErrorDomainCFNetwork:-1009])
KSServerUpdateRequest fetch failed. (productID: com.google.Chrome.canary) [com.google.UpdateEngine.CoreErrorDomain:702 - &#39;http://tools.google.com/service/update2?cup2hreq=58aab3e8662ed1e8e239ebecb45e66a6547d89806277498359e15a70013d7e93&amp;cup2key=6:2803007023&#39;] (The Internet connection appears to be offline. [NSURLErrorDomain:-1009])
</pre>


The reason the error is not displayed properly is because we first run it through parseHtmlSubset (see [1]) for security reasons, which disallows <br> tags. The old Options apparently simply place the error's HTML in the document. The easy fix is to simply allow both <br> and <pre> in parseHtmLSubset().

@dbeam: WDYT?

[1] https://cs.chromium.org/chromium/src/ui/webui/resources/js/parse_html_subset.js?type=cs&q=parseHtmlSubset&sq=package:chromium&l=36

Comment 41 by dbeam@chromium.org, Feb 23 2017

why does this stuff need to be in HTML again?
Status: Started (was: Assigned)
"why does this stuff need to be in HTML again?"
It doesn't, but needs to be escaped appropriately. Keystone likes to throw '<' and '>' in the error messages.
Status: Fixed (was: Started)
@borisv: This should be fixed now, and should look like this http://imgur.com/a/cYM8C. Closing. Please re-open if you find more error messages that don't get surfaced.
Perfect! Thank you for the quick fix, folks.
Status: Verified (was: Fixed)
Verified in Canary build 58.0.3026.0

Sign in to add a comment