New issue
Advanced search Search tips

Issue 841828 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Jul 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

When extension fails to load, page becomes unresponsive, freezes

Reported by jaab...@gmail.com, May 10 2018

Issue description

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

Example URL:
There is not a 100% reproducible step - see below

Steps to reproduce the problem:
1. Create a plugin that causes an exception to bubble up (see attached files from Gramerly).
2. Open up any web pste
3. Fire plugin, when it fails to load or bubbles up an exception, the entire tab stops accepting/firing click events, or anything else. Page appears to be "frozen"

What is the expected behavior?
It would be great if the plug-ins were sandboxed better and not rely upon developers to use proper try/catch, if statements before they do something that will crash the entire experience.

What went wrong?
In my case, Gramerly failed to load something it needed, and the entire tab no longer accepted inputs when clicking on buttons or other interactions on the page

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 66.0.3359.139  Channel: stable
OS Version: OS X 10.13.4
Flash Version: 

I know that other plug-ins cause this too, it is not just Gramerly. This is why I am escalating to you. Hopefull that somethign can be done to better sandbox these types of errors causing entire tabs/pages/apps to become unresponsive. Afterall, in the view of the end-user, they just believe our web apps are unresponsive and broken. At least an alert indicating which plug-in failed to load would help us manage expectations :)
 
Screen Shot 2018-05-10 at 11.28.38 AM.png
954 KB View Download
Screen Shot 2018-05-10 at 11.28.51 AM.png
386 KB View Download

Comment 1 by woxxom@gmail.com, May 10 2018

>It would be great if the plug-ins were sandboxed better

Plugins are already completely sandboxed, but you mean *extensions*, evidently. Extensions that run inside pages (content scripts) are also isolated from the page world. Without a reliable repro, I can only guess those extensions inject additional scripts into the page world, outside of the isolated world of content scripts, and hence break the page when an unexpected error occurs in another part of their code. If my guess is true, Chrome's handling is correct, and nothing can be done by the browser to prevent the observed behavior without killing the very ability of extensions to run scripts in the page world, which of course would severely limit what extensions can do with the page.

Comment 2 by jaab...@gmail.com, May 10 2018

Yes sorry you are correct it is extensions. Seems like something could be done to at least wrap the injections in a try/catch look so that they don't have this adverse impact. I know that many of the extensions are built by commercial software developers, but I suspect far more are not which leaves a terrible end-user experience.

Thanks for the consideration!

Jason
Labels: Needs-Triage-M66

Comment 4 by rbyers@chromium.org, May 15 2018

Components: -Blink Platform>Extensions
Cc: susan.boorgula@chromium.org
Labels: Needs-Feedback Triaged-ET
jaabuur@ Thanks for the issue.

Request you to provide sample file/extensions where this issue can be reproduced which will help in further triaging of the issue.

Thanks..
Status: WontFix (was: Unconfirmed)
Mac triage: WontFix

There's no reliable way to detect every injected script in a page, and even if there was, wrapping them in try/catch would hide errors from developers that should be surfaced. The right fix here is to fix the broken extensions.

Sign in to add a comment