yfdyh000 / tabutils

Tab Utilities's compatibility fixes release.
https://addons.mozilla.org/firefox/addon/tab-utilities-fixed/
93 stars 13 forks source link

Firefox 47: Large hangs when opening new tab "next to current tab" #91

Open tyaremco opened 8 years ago

tyaremco commented 8 years ago

--- Conditions to Reproduce --

  1. Large number of unloaded ('on demand') tabs
  2. The following option is set: Tabs -> Tab Opening -> Open new tabs next to current tab which are from: All
  3. using Firefox 47 or higher (confirmed in 49)

-- Results -- Opening a new tab (ctrl+t or middle clicking a link) results in Firefox suffering a severe hangs up to several seconds before the tab is opened.

Note that this does NOT occur if using Firefox 46 or Tabs -> Tab Opening -> Open new tabs next to current tab which are from: None

Below is a new profile with many blank tabs for reproducing the results. http://www117.zippyshare.com/v/1480oE2C/file.html

yfdyh000 commented 8 years ago

I can reproduce the hangs, but does not reproduce the condition and understand its cause.

tyaremco commented 8 years ago

What do you mean by "does not reproduce the condition"? Did your browser hang like I described?

yfdyh000 commented 8 years ago

I see the hangs always, but it also reproducible in Fx41.0 or None with that profile.

tyaremco commented 8 years ago

You should see a small hang when

It has always been this way.

But you should see a very large hang when

yfdyh000 commented 8 years ago

I see hang > 10s (CPU full with single core) always with 47.0.1 or 49.0a2, even use that sessionstore.js (~750 tabs) without extension (like TUF).

tyaremco commented 8 years ago

We're talking specifically about hangs when you open a new tab, right? Not hangs on startup or anything else?

yfdyh000 commented 8 years ago

Thanks for your report and add, I now see the difference. However, I haven't found related clues.

https://github.com/yfdyh000/tabutils/blob/abc592071f174c02eb13bb78a8bb7a5cc8e97405/chrome/content/tabutils.js#L708 s1.push("{relatedToCurrent: TU_getPref('extensions.tabutils.openTabNext', 1) == 1}"), may be relevant.

tyaremco commented 8 years ago

Remarkably, this is fixed in Firefox 50.0a2! It is still a problem in Firefox 49.0b. So, it appears there was some regression that finally got fixed.