Issue metadata
Sign in to add a comment
|
Page shows 'Page Unresponsive' dialog when loaded with large JS file for *2nd* time
Reported by
bed...@technicalpursuit.com,
Mar 15 2017
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8 Steps to reproduce the problem: 1. Load a JS file containing a lot of JS to parse and internalize (1500ms or more of load/parse/internalize time). 2. *Without* closing the window or quitting Chrome, click the Reload button 3. *Do not* move the mouse while it's reloading 4. The file reloads, but the 'Page Unresponsive' dialog also appears 5. The page has loaded for the 2nd time without a problem, but the dialog stays until you mouseover it. Then it goes away. What is the expected behavior? That you never see the 'Page Unresponsive' dialog for this load scenario. What went wrong? That you see the 'Page Unresponsive' dialog for 2nd (and subsequent) times you reload. Did this work before? Yes Version 58.0.3029.19 dev (64-bit) Chrome version: Version 59.0.3042.0 canary (64-bit) Channel: n/a OS Version: OS X 10.12.3 Flash Version: This is a regression from Chrome 58, which makes me think that it might have something to do with the new TurboFan+Ignition JS pipeline, but that's just a wild guess on my part.
,
Mar 17 2017
bedney@ In order to triage this issue could you please help us with the sample http test case. Thank You...
,
Mar 17 2017
kkaluri@ - Unfortunately, I cannot right now. The library that I'm using is not open source at the moment, although that's due to change within the next several months. Also, I just noticed in testing again that today's Canary builds (Version 59.0.3044.0 canary (64-bit)) seem to have possibly fixed this problem. A bisect on your end between 3042 and 3044 might give a clue as to what was happening. I'd like to leave this bug open if possible and continue to monitor the situation, at least until Chrome 59 hits the release channel. At that time, if the problem crops up again, I might be able to provide a link to the library that's causing the issue, since it may be open source at that time. If a bisect can determine a relevant change, then I'd say close this out and it would be a 'happy day' for me :-). Thank You!
,
Mar 17 2017
Thank you for providing more feedback. Adding requester "kkaluri@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 17 2017
avi@ since you were in this code recently. Does it ring any bells of issues you fixed?
,
Mar 17 2017
This sounds like it might be beforeunload. If the browser is reloading a page, it would ask the renderer to give the page a beforeunload event, and it would start a timer. If it didn't get a reply within a second, it would continue on. In the past, we reused the "hung page" timer for this, but in the (3042..3044) range my change to split off the beforeunload timer landed. It sounds reasonable that my change to split the timer (2d7d2c3632187e2cfaaa5c6ec26d3adb3ae784b0) could have had this positive effect.
,
Mar 17 2017
Yes, that was probably it. This library that we use installs a 'beforeunload' hook. If the change that you made between 3042..3044 is one that you're going to keep, then that fixes it for us and this can be closed. Thank you everyone!
,
Mar 17 2017
As a further note, the library that we're using is 'heavy' (it is a SPA library, so we don't reload it with every page), so it takes ~1500ms to load (on Chrome 59 - it used to take ~1850-2000ms on earlier versions before Chrome 56 and before TurboFan+Ignition landed). So 1000ms is a pretty short time for us. 2000-3000ms is better. OTOH, if that time no longer affects the 'beforeunload' hook now, this might not be relevant.
,
Mar 17 2017
c7: This was part of an ongoing refactor of the hang machinery for OOPIF, so we're planning on keeping it. c8: Yes, you have a long loading time, but you don't have any unsaved data on your page while you're loading, so that shouldn't affect you. Once your page is loaded, surely your beforeunload handler won't take more than 1000ms, right?
,
Mar 17 2017
That's great that you're keeping it. No, our beforeunload handler won't be taking longer than 1000ms. :-) Thank you for your prompt response and thanks to everybody for all of your hard work on Chrome! It gets more awesome every day! This issue can definitely be closed! Yay!
,
Mar 17 2017
Yay! WontFix; give us a holler if circumstances change. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ajha@chromium.org
, Mar 16 2017