Adding a onHeadersReceived listener with both `blocking` and `responseHeaders` options present freezes the browser when visiting a specific page
Reported by
j...@wizkids.dk,
Nov 23
|
||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Steps to reproduce the problem: 1. Open Chrome 2. Clear all browsing data 3. Install test extension attached 4. Go to https://gleerupsportal.se/laromedel/engelska-7-9/article/adb23f40-ff0f-4a23-9342-966d3ae3c069 4b. Before the page above is accessible. It's required to be logged in. You can try registering a user at https://gleerupsportal.se/login/prova/?trialId=3062 or if that fails send an email to either support@wizkids.dk or jm@wizkids.dk 5. Use your credentials to log in and you will be redirected back to the page that will freeze chrome 6. Wait for the page to load 7. Browser should freeze What is the expected behavior? The page should load without Chrome freezing What went wrong? The browser froze while it was loading the page Did this work before? N/A Does this work in other browsers? Yes Chrome version: 70.0.3538.102 Channel: stable OS Version: 10.0 Flash Version: If you've already opened the page once it will not freeze. It's has most likely something to do with caching. After the browser freezes the only option is to close it through task manager and open Chrome again.
,
Nov 23
I was not able to produce the crash report on Google Chrome, but I was able to do it on Google Chrome Canary. The crash report ID is b6b5db14256cd118.
,
Nov 25
,
Nov 26
Thanks for the issue... Tried to reproduce the issue on reported chrome 70.0.3538.102 using windows 10. Steps: ----- 1. Launched reported chrome 2. Downloaded and attached given extension to chrome 3. As per step 4b, tried to login >> https://gleerupsportal.se/login/prova/?trialId=3062 As we are getting error while login after registering the page @Reporter: As per step 4b, have sent a mail to support team (support@wizkids.dk or jm@wizkids.dk) can you please respond to that mail. Thanks..!
,
Nov 26
I've sent an email with the credentials to log into gleerupsportal. The account is limited to only access https://gleerupsportal.se/laromedel/engelska-4/article/730b8157-c6d6-4e3b-bb0b-ce8edcf5dd48?page=2. Therefore at step 4 you should use https://gleerupsportal.se/laromedel/engelska-4/article/730b8157-c6d6-4e3b-bb0b-ce8edcf5dd48?page=2 instead of the URL in the OP. (Updated) Steps to reproduce the problem: 1. Open Chrome 2. Clear all browsing data 3. Install test extension attached 4. Go to https://gleerupsportal.se/laromedel/engelska-4/article/730b8157-c6d6-4e3b-bb0b-ce8edcf5dd48?page=2 5. Use the credentials received in the email and you will be redirected back to the page that will freeze chrome 6. Wait for the page to load 7. Browser should freeze
,
Nov 26
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 26
> If you've already opened the page once it will not freeze. Same issue was reported for my extension, uBlock Origin: https://github.com/uBlockOrigin/uBlock-issues/issues/315 This affects any extension which register a blocking onHeadersReceive listener, even when the listener is essentially a no-op. The issue occurs with one of the `media` network request on the page. I can reproduce 100% of the time at that link: https://gleerupsportal.se/laromedel/publik-artikel/fa028bdd-e669-48df-8542-a7e0bc2ca030 Provided I clear "Cached images and files" (ctrl-shift-delete) before reloading the page. I could also reproduce with Adguard, as it also listens to onHeadersReceived in a blocking manner, and because it also listens to request of type `media`. I could not reproduce with Adblock Plus, despite that it uses a blocking onHeadersReceived listener, because it does not listen to `media` type, only to `main_frame` and `sub_frame`. So `media`, implicit or explicit is key to reproduce.
,
Nov 26
The crash report in #2 does show the IO thread in HttpCache, underneath a ExtensionWebRequestEventRouter and the main thread waiting on a sync GPU IPC. Looks likely that the cache or webrequest code got stuck in a loop, blocking any other IOThread tasks.
,
Nov 27
Here are a few additional pages where Chrome freezes if it would help you to reproduce the bug: https://gleerupsportal.se/laromedel/publik-artikel/96d21a87-a8f7-40b5-a555-f6551ec1940d https://gleerupsportal.se/laromedel/publik-artikel/9ad573ea-4052-4093-b6cd-b4047f4c95be https://gleerupsportal.se/laromedel/publik-artikel/d30bee4d-31a9-4faa-b9d1-b8deb0edd82d This bug affects many of the students and teachers using gleerupsportal, since many schools often have uBlock Origin set up on their computers by the IT department, it's of of their control to disable it. Its quite critical since it crashes the entire Chrome process, and on Chromebooks you often need to reboot the whole computer. Thanks for looking into this, /Karl
,
Nov 27
As per comment #5, retried the issue on reported chrome 70.0.3538.102 using windows 10. Attaching screencast for reference. Steps: ----- 1. Launched chrome 2. Navigated to given url and signed in to the account by using provided credentials in the mail As we have observed that the page is loading without Chrome freezing and we are able to play the audio @Repoter: Could you please check the attached screen cast and let us know if anything missed from our end and can you please verify this issue on latest chrome beta 71.0.3578.62, you can download latest chrome builds here:" https://www.chromium.org/getting-involved/dev-channel ". Let us know whether issue still persists. Thanks..!
,
Nov 27
Did you remember to clear cache before loading the page? Because if the page has already loaded once it wont crash before the cache has been cleared. It also seems like the page need to be closed when you clear the cache. Otherwise it wont crash. This was on Version 71.0.3578.62 (Official Build) beta (64-bit). See the attached video (Chrome beta v71.0.3578.62.mp4). However, on Version 72.0.3610.2 (Official Build) dev (64-bit) I was not able to reproduce the issue. I've tested that version with the test extension I provided, uBlock Origin and the extension I first experienced the issue on (a company product). All of them seems to work without any issues on the dev build. I've also included a video of the dev version (Chrome dev v72.0.3610.2.mp4).
,
Nov 27
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 27
Reproducible on 72.0.3617.0 when cleared all the browser cache pertaining to the site or when visiting links which haven't been visited before, so having no cache for those pages at all. See - https://github.com/uBlockOrigin/uBlock-issues/issues/315#issuecomment-441705048
,
Nov 27
We have deployed a fix to our production environment and cannot reproduce the freeze bug there anymore. The fix consisted of changing relative URLs for mp3-files. Before mp3-files would have the following format: `/uploads/1891/happy6_2_1a.mp3` that would get a redirect to: `https://gleerups-new-prod-uploads.s3.amazonaws.com/1891/happy6_2_1a.mp3` We have moved the old version of gleerupsportal that still uses relative mp3-links and can cause the freeze bug to our test environment. Here are new links that you can try that can reproduce the bug: https://test.gleerupsportal.se/laromedel/publik-artikel/96d21a87-a8f7-40b5-a555-f6551ec1940d https://test.gleerupsportal.se/laromedel/publik-artikel/fa028bdd-e669-48df-8542-a7e0bc2ca030 https://test.gleerupsportal.se/laromedel/publik-artikel/9ad573ea-4052-4093-b6cd-b4047f4c95be https://test.gleerupsportal.se/laromedel/publik-artikel/d30bee4d-31a9-4faa-b9d1-b8deb0edd82d
,
Nov 30
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by woxxom@gmail.com
, Nov 23