Issue metadata
Sign in to add a comment
|
Chrome 59 update causes our website to go into infinite reload loop
Reported by
davis.f...@emaginepos.com,
Jun 8 2017
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 Steps to reproduce the problem: 1. Visit https://epos.emaginepos.com 2. Site loads, briefly displays login form, then browser re-navigates and reloads same URL ad infinitum 3. What is the expected behavior? Expect it to not continuously re-navigate. This was reported by a number of our users soon after they upgraded to Chrome 59 on both Mac and Windows platforms. What went wrong? I was able to reproduce locally after upgrading to Chrome 59 myself on Mac El Capitan. I have breakpointed our code, and dialed up console logging. Our code finishes with no exceptions/errors and no explicit calls to window.location.reload or any explicit calls to navigate. Did this work before? Yes Chrome 58 -- last stable build Chrome version: 59.0.3071.86 Channel: stable OS Version: OS X 10.11.6 Flash Version: This does *not* happen in Incognito mode, but if I disable all my local extensions, it still occurs. This also happens somewhat inconsistently. I have a Windows10 + Chrome59 box that it does not happen on, but we have reports that it happens with Win7 or Win10 + Chrome59 in the field. I also have a colleague with Mac OS Sierra and Chrome59 and it does not occur, but it does for me with Mac El Capitan + Chrome59. This leads me to believe that it is not the OS combo, but instead something particular to how the individual browser is configured or the current state of the browser. I have not cleared my entire cache + cookies -- I really didn't want to do that, b/c I have a lot of saved state I hoped to keep, but I'll bet it might make a difference? I'm looking for guidance from Google on how to help diagnose and work around this. Right now, we have to tell users to load in incognito mode or mash down the ESC key to try to get it to stop reloading. I'm happy to dig down and provide any more details to help resolve this quickly. Thank you!
,
Jun 8 2017
Trace attached with those settings enabled.
,
Jun 8 2017
It looks like a navigation issue, but there are a ton of extension requests here so it is hard to track what's going on exactly. Would you mind re-doing this without any extensions turned on? It also might help to check all the categories on the left panel, if it doesn't fill the buffer usage to 100%
,
Jun 8 2017
will do -- upload a trace shortly
,
Jun 8 2017
Since the issue does not happen in incognito mode, I figured it would be more useful to upload a trace where I open the url in non-incognito mode with all extensions manually disabled. If this still causes too much noise, I'll do another in incognito mode in a minute, but just note the reload problem doesn't happen there.
,
Jun 8 2017
Thanks, it certainly looks like these navigations are being initiated in the renderer triggered by the load event of the page, but unfortunately the page's trace data was lost. This can happen if the tab is closed before the trace is properly stopped (sorry, should have mentioned that). In any case, I think you could take a look at your onload/load handlers to inspect if they're doing anything weird.
,
Jun 8 2017
New trace with extensions disabled, and I stopped the trace before I closed the tab. I have scoured the code for onload/load and set event bp but I'm not seeing anywhere we we force a reload?
,
Jun 8 2017
I've set breakpoints on all Load events, and added my own handlers for all Load events. When I hit the handlers, the stack is anonymous function that I passed, so I have no insight into how I got there. The load event fires, the page renders, and then right after the beforeunload event fires, and it proceeds to unload, etc. So, this app is bundled with WebPack -- I'm debugging local with webpack-dev-server and I noticed they do a reload on hot code update, but I've breakpointed that and I never hit it. What else can I try to determine what is the root cause of the unload / reload?
,
Jun 8 2017
Hm, load flags are NORMAL | VERIFY_EV_CERT | MAIN_FRAME which indicates that this is *not* a reload, but is a normal navigation. I'm not sure exactly how that could happen, as I believe window.location changes will set the load flags to revalidate the main resource. You can try debugging further by recording a performance run with devtools, which afaik gives you stack traces over time. Sorry I can't be of more help!
,
Jun 8 2017
What are the paths that trigger a normal navigation? a) Click event on a <a> b) Auto setting window.location = "some url" What other possibilities are there for normal navigation that I can look for?
,
Jun 8 2017
The only other I can think of is meta refresh. e.g. <meta http-equiv="Refresh" content="1">
,
Jun 8 2017
I was able to track it down to a change in event handling that was triggered by KeyCodes that changed from Chrome 58 to 59. You can close the issue. Thanks again for the help.
,
Jun 8 2017
Thanks for the followup! |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by csharrison@chromium.org
, Jun 8 2017