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

Issue 800773 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Extension error no longer displayed on chrome://extensions

Reported by j...@externl.com, Jan 10 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3315.3 Safari/537.36

Steps to reproduce the problem:
1. Notice error indicator icon on Chrome Menu button 
2. Click it to open chrome://extensions

What is the expected behavior?

What went wrong?
With the old UI an error message would be displayed next to the extension which experienced the error. With the new UI there is nothing to indicate any extension had an error. 

Did this work before? N/A 

Chrome version: 65.0.3315.3  Channel: dev
OS Version: OS X 10.13.2
Flash Version: 

I'm pretty sure the  error for me is caused by using Decentraleyes  and HTTPS Everywhere, at least that's what I remember from the time I saw an error message with the old UI.
 
wwoowo

Labels: Needs-Triage-M65

Comment 3 by tapted@chromium.org, Jan 12 2018

Components: -UI Platform>Extensions
Tested this issue on chrome reported version 65.0.3315.3 using Mac 10.12.6 with steps mentioned below:
1) Launched chrome reported version and downloaded Decentraleyes  and HTTPS Everywhere extenions
2) Navigated to Chrome://extensions, didn't get any errors as mentioned in comment#0

We have tried testing this issue with another extension (extension attached) with below mentioned steps:
1) Launch chrome reported version, Navigate to Chrome://Extensions and check the Developer mode check box
2) Dragged and dropped the extension attached
3) Able to see the errors

@Reporter:
Please find the attacehd screen cast for your reference and let us know if we missed anything in reproducing the issue.

CC'ing: hcarmona@chromium.org with reference to Issue:  800994 

Thanks!
800773.mp4
1010 KB View Download
runtime_and_manifest_errors.zip
2.6 KB Download
Cc: viswatej...@techmahindra.com sc00335...@techmahindra.com hcarmona@chromium.org
Labels: Needs-Feedback Triaged-ET

Comment 6 by j...@externl.com, Jan 19 2018

I didn't mean that installing the extensions caused the error, more that sometimes an error happens when this combo of extensions is installed (something like they both try to block the same resource).

For me the steps are:
1. Errors are indicated in the Chrome menu icon (the three stacked dots)
2. When this happens I click on the three dots
3. The dropdown says something like "there was an extension error"
4. Click on said message, this opens the extension page.
5. No error is shown on any extension. 

I'll get a screen grab the next time I see it.

Project Member

Comment 7 by sheriffbot@chromium.org, Jan 19 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "sc00335628@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: UI>Browser>ExtensionsManagement
Owner: hcarmona@chromium.org
I've attached a small extension that will generate some runtime errors. Can you provide some screenshots if this reproduces the issue for you?

You can switch between the new and old extensions by navigating to this URL (chrome://flags/#enable-md-extensions) and changing the value for "Enable Material Design extensions"

Thanks!
runtime-errors.zip
2.9 KB Download

Comment 9 by j...@externl.com, Jan 19 2018

I tired the extension, howerver it does not produce errors in the Chrome menu. I think it's less extension error, and more some kinda of "conflict" error.

I'll try to reproduce with a clean env to see if I can make it happen.

Comment 10 by j...@externl.com, Jan 19 2018

The error shows up when two extensions attempt to redirect a specific request. 
Are these two extensions available in the web store?
If not, can you provide an example to reproduce?

Also, did you try changing the setting at chrome://flags/#enable-md-extensions to see if it made a difference?

Thanks for you help debugging this :-)

Comment 12 by j...@externl.com, Jan 19 2018

Decentraleyes and HTTPS Everywhere are both available in the web store. It doesn't happen all the time, and in the past I didn't note what sites it happened on.

Basically both extension try to modify a network request, one succeeds and one fails. With the old UI it would show an error message on the extension that failed, something like: "This extension failed to modify a network request because the modification 
conflicted with another extension.".

With the new UI there is no such message anywhere.

I'll keep trying to make it happen, I usually see it once a day.

Comment 13 by j...@externl.com, Jan 21 2018

It happened, though I only noticed after, so I don't know exactly what triggered it. I did a screen capture of what I see. 
chrome_error.mp4
553 KB View Download
Unable to reproduce this issue from TE end
@hcarmona@chromium.org : Could you please have a look at this issue.

Thanks!
Cc: devlin@chromium.org dpa...@chromium.org
+Devlin

Do you know how we can repro the error seen in the screencast?
Labels: Proj-MaterialDesign-WebUI
Cc: -devlin@chromium.org rdevlin....@chromium.org
@hcarmona, @rdevlin.cronin: Although I have not figured out how to reproduce the error, looking at the code it seems that the new UI might be ignoring |runtimeWarnings|, compared to the old UI, see [1] and [2].

Perhaps these are appearing in the error console when enabled, but we need to ensure this show up even with the error console disabled. Thoughts?

[1] https://cs.chromium.org/chromium/src/chrome/browser/resources/extensions/extension_list.js?l=895,899
[2] https://cs.chromium.org/chromium/src/chrome/common/extensions/api/developer_private.idl?l=220
Cc: bettes@chromium.org
Interesting.  It looks like these runtimeWarnings are used pretty sparingly throughout the extension system, but in enough places that we should support it.  They aren't currently supported in the error console.

My recommendation would be to display these in the warnings section of extension-item [1], where we display corrupt warnings, suspicious installs, etc.  Seems like they would conceptually fit well there.

+bettes@, thoughts?

[1] https://chromium.googlesource.com/chromium/src/+/d0421b0f77aad37c5bace0cf3081f64cf496e457/chrome/browser/resources/md_extensions/item.html#258

Comment 19 by j...@externl.com, Jan 24 2018

With the extensions shown in my screencast I see this error at least once a day.
Notes:
This is indeed indicated by the runtimeWarnings property.  These are added to the developerPrivate struct here [1], which are retrieved from WarningService::warnings() [2].  These warnings are added from a few different places (see WarningService::AddWarnings() and WarningService::NotifyWarningsOnUI()), and when warnings are changed, the WarningBadgeService adds a new global error (the error that shows up in the menu) [3].

[1] https://chromium.googlesource.com/chromium/src/+/5d01e2667f5313b8cbdf4f876e84780c0a658ab1/chrome/browser/extensions/api/developer_private/extension_info_generator.cc#546
[2] https://chromium.googlesource.com/chromium/src/+/5d01e2667f5313b8cbdf4f876e84780c0a658ab1/extensions/browser/warning_service.h#61
[3] https://chromium.googlesource.com/chromium/src/+/5d01e2667f5313b8cbdf4f876e84780c0a658ab1/chrome/browser/extensions/warning_badge_service.cc#135

The easiest way to fake this from the C++ would be to introduce a new call to WarningService::AddWarnings(), e.g.:

WarningService::Get(profile)->AddWarnings(
    {Warning::CreateNetworkDelayWarning(extension_id)});

Demetrios, will that work for you to reproduce?

Separately, I'm a bit disappointed in this UI overall.  The fact that we just put up an error and say "Extension error" is very unhelpful.  I'll file a new bug for us to look into this more (independent of the MD extensions work).

Joe, out of curiosity, do you know which extension is causing the error?
I've also written a simple extension that will cause the error to appear after about 30 seconds.
background.js
56 bytes View Download
manifest.json
206 bytes View Download
Thanks for the sample extension. I am able to get the following two states (see screenshots)

1) Error shown in top-chrome icon, and reload button in chrome://extensions.
2) After clicking on "reload" button, error shown in chrome://extensions briefly (until next reload).
reload_button_showing.png
53.7 KB View Download
warning_showing.png
53.8 KB View Download
FYI, bug filed about this UI in general at 805704.
See attached screenshot after following the suggestion from #18. Candidate CL is at https://chromium-review.googlesource.com/#/c/chromium/src/+/884847.
warning_showing_md.png
38.2 KB View Download
I like it, overall.  I think it's a little hard to pick out, so if a user has 20 extensions and we just dump them onto the page, it's not immediately clear why, but I think that's largely a problem with the whole UI (rather than just the MD version).  bettes@, thoughts?
> that's largely a problem with the whole UI 

Perhaps this can be addressed by changing the background color of any card that has warnings? See screenshot.

Also it is a bit odd that that information is displayed on the card now (as of proposed CL above), but nowhere in the details page. As a user, I would expect that the "details" view is a superset of everything that is displayed on the card.
warning_card_standout.png
69.5 KB View Download
> Perhaps this can be addressed by changing the background color of any card that has warnings? See screenshot.

Interesting!  I'm not opposed, but that's definitely something I'll leave to Alan to decide. :)

> Also it is a bit odd that that information is displayed on the card now (as of proposed CL above), but nowhere in the details page. As a user, I would expect that the "details" view is a superset of everything that is displayed on the card.

+1.  We should do this.  bettes@ and I have talked in the past, and agreed that any information or capability available on the card should be available in the details page.
Owner: dpa...@chromium.org
Status: Started (was: Unconfirmed)
Status: Fixed (was: Started)
Labels: Merge-Request-65
Project Member

Comment 32 by sheriffbot@chromium.org, Jan 30 2018

Labels: -Merge-Request-65 Hotlist-Merge-Approved Merge-Approved-65
Your change meets the bar and is auto-approved for M65. Please go ahead and merge the CL to branch 3325 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 33 by bugdroid1@chromium.org, Jan 30 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/69faf6d8629ff7d7ad00e29780153306b0c4f706

commit 69faf6d8629ff7d7ad00e29780153306b0c4f706
Author: dpapad <dpapad@chromium.org>
Date: Tue Jan 30 18:39:39 2018

[M65 merge] MD Extensions: Surface ExtensionInfo runtimeWarnings in the UI.

TBR=dpapad@chromium.org

(cherry picked from commit fb85136da7f8e6e70210c18ffa4ebd1be0c6b5d6)

Bug:  800773 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I546e25b3748e455449ee3c0a541c5a6658ee2504
Reviewed-on: https://chromium-review.googlesource.com/884847
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#532246}
Reviewed-on: https://chromium-review.googlesource.com/893903
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#175}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/69faf6d8629ff7d7ad00e29780153306b0c4f706/chrome/browser/resources/md_extensions/item.html
[modify] https://crrev.com/69faf6d8629ff7d7ad00e29780153306b0c4f706/chrome/browser/resources/md_extensions/item.js
[modify] https://crrev.com/69faf6d8629ff7d7ad00e29780153306b0c4f706/chrome/browser/resources/md_extensions/manager.js
[modify] https://crrev.com/69faf6d8629ff7d7ad00e29780153306b0c4f706/chrome/test/data/webui/extensions/extension_item_test.js
[modify] https://crrev.com/69faf6d8629ff7d7ad00e29780153306b0c4f706/chrome/test/data/webui/extensions/extension_test_util.js

Sign in to add a comment