Closed Bug 1185788 Opened 9 years ago Closed 2 years ago

UI: Scrolling while page is loading with electrolysis/nightly is constantly hanging

Categories

(Core :: General, defect, P4)

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
e10s + ---

People

(Reporter: jonasthiem, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0
Build ID: 20150719030219

Steps to reproduce:

While a page is loading, the scrolling on a page (even with just 2-3 tabs open) on Linux with Firefox nightly and electrolysis enabled is really laggy. The loading causes a hang each second which takes a second, so the scrolling is somewhat fluent - stop.... - fluent - stop .... - fluent - ... all the time during page load, until the page is loaded and it's super fluid again.

1. Open up firefox nightly with electrolysis
2. Open 1-3 pages with moderately complex contents, e.g. Arstechnica, Amazon, and a Google search
3. When opening the last page while it is still loading, scroll around on the page that is just loading. Your internet should be slow enough so it actually takes 4-5 seconds for all images to fully pop up to experience this bug. (Otherwise it might be over immediately)


Actual results:

While images pop up, the scrolling is constantly suddenly stopping entirely, freezing the scrollbar in place. This happens both with mouse wheel and mouse click drag. At this point, you can change tabs easily and the main UI is still responsive, however all other tabs will most likely just display a huge spinner.

A moment later, it will unfreeze and you can scroll smoothly/view the contents of other tabs again. Then it will freeze again, unfreeze... very quick, until loading of all major page elements has finished.


Expected results:

Even while images are being loaded and are popping up, the scrolling never becomes unresponsive like the surrounding UI.

I cannot remember Chrome/Chromium doing this much, so this seems to be a specific performance problem in the way the web content process loads up things related to firefox.
Blocks: e10s, e10s-perf
Severity: normal → major
tracking-e10s: --- → ?
Component: Untriaged → General
Keywords: regression
Product: Firefox → Core
Version: 42 Branch → Trunk
Jonas,

I suspect this might be addon related. Can you post your about:support. Try to reproduce in a clean profile, as well.

Thanks.
Flags: needinfo?(jonasthiem)
{
  "application": {
    "name": "Firefox",
    "version": "42.0a1",
    "buildID": "20150804030204",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0",
    "safeMode": false,
    "updateChannel": "nightly",
    "supportURL": "https://support.mozilla.org/1/firefox/42.0a1/Linux/en-US/",
    "numTotalWindows": 1,
    "numRemoteWindows": 1,
    "remoteAutoStart": true
  },
  "modifiedPreferences": {
    "accessibility.typeaheadfind.flashBar": 0,
    "browser.cache.disk.smart_size.first_run": false,
    "browser.cache.disk.smart_size.use_old_max": false,
    "browser.cache.disk.capacity": 358400,
    "browser.cache.disk.filesystem_reported": 1,
    "browser.cache.frecency_experiment": 4,
    "browser.download.importedFromSqlite": true,
    "browser.download.useDownloadDir": false,
    "browser.places.smartBookmarksVersion": 7,
    "browser.sessionstore.upgradeBackup.latestBuildID": "20150804030204",
    "browser.startup.homepage_override.mstone": "42.0a1",
    "browser.startup.homepage_override.buildID": "20150804030204",
    "browser.tabs.warnOnClose": false,
    "dom.ipc.processCount": 3,
    "dom.apps.reset-permissions": true,
    "dom.mozApps.used": true,
    "extensions.lastAppVersion": "42.0a1",
    "font.internaluseonly.changed": true,
    "media.peerconnection.enabled": false,
    "media.getusermedia.screensharing.enabled": false,
    "media.gmp-manager.buildID": "20150804030204",
    "media.gmp-gmpopenh264.lastUpdate": 1433619007,
    "media.gmp-gmpopenh264.version": "1.4",
    "media.gmp-gmpopenh264.autoupdate": true,
    "media.gmp-manager.lastCheck": 1438724365,
    "network.cookie.prefsMigrated": true,
    "network.http.max-persistent-connections-per-server": 2,
    "network.http.pipelining": true,
    "network.http.max-connections": 16,
    "network.predictor.cleaned-up": true,
    "network.http.max-persistent-connections-per-proxy": 1,
    "places.history.expiration.transient_current_max_pages": 104858,
    "places.database.lastMaintenance": 1438563485,
    "plugin.importedState": true,
    "plugin.disable_full_page_plugin_for_types": "application/pdf",
    "print.print_plex_name": "default",
    "print.print_margin_top": "0.5",
    "print.print_paper_width": "215.90",
    "print.print_orientation": 0,
    "print.print_to_file": false,
    "print.print_unwriteable_margin_right": 25,
    "print.print_paper_height": "279.40",
    "print.print_unwriteable_margin_left": 25,
    "print.print_margin_left": "0.5",
    "print.print_evenpages": true,
    "print.print_paper_size_unit": 1,
    "print.print_unwriteable_margin_bottom": 56,
    "print.print_resolution_name": "default",
    "print.print_duplex": 0,
    "print.print_scaling": "  1.00",
    "print.print_margin_right": "0.5",
    "print.print_oddpages": true,
    "print.print_bgcolor": false,
    "print.print_colorspace": "default",
    "print.print_bgimages": false,
    "print.print_downloadfonts": false,
    "print.print_shrink_to_fit": true,
    "print.print_unwriteable_margin_top": 25,
    "print.print_paper_name": "na_letter",
    "print.print_margin_bottom": "0.5",
    "print.print_in_color": true,
    "print.print_paper_size_type": 1,
    "print.print_page_delay": 50,
    "print.print_paper_data": 0,
    "print.print_resolution": 600,
    "privacy.sanitize.migrateFx3Prefs": true,
    "security.ssl3.ecdhe_rsa_rc4_128_sha": false,
    "security.ssl3.rsa_rc4_128_sha": false,
    "security.ssl3.rsa_rc4_128_md5": false,
    "security.ssl3.ecdhe_ecdsa_rc4_128_sha": false,
    "storage.vacuum.last.places.sqlite": 1436259265,
    "storage.vacuum.last.index": 1
  },
  "lockedPreferences": {},
  "graphics": {
    "numTotalWindows": 1,
    "numAcceleratedWindows": 0,
    "windowLayerManagerType": "Basic",
    "windowLayerManagerRemote": true,
    "supportsHardwareH264": false,
    "numAcceleratedWindowsMessage": [
      ""
    ],
    "adapterDescription": "Intel Open Source Technology Center -- Mesa DRI Intel(R) Sandybridge Mobile ",
    "adapterVendorID": "Intel Open Source Technology Center",
    "adapterDeviceID": "Mesa DRI Intel(R) Sandybridge Mobile ",
    "adapterRAM": "",
    "adapterDrivers": "",
    "driverVersion": "3.0 Mesa 10.5.2",
    "driverDate": "",
    "webglRenderer": "Intel Open Source Technology Center -- Mesa DRI Intel(R) Sandybridge Mobile ",
    "info": {
      "AzureCanvasBackend": "cairo",
      "AzureSkiaAccelerated": 0,
      "AzureFallbackCanvasBackend": "none",
      "AzureContentBackend": "cairo",
      "CairoUseXRender": 1
    }
  },
  "javaScript": {
    "incrementalGCEnabled": true
  },
  "accessibility": {
    "isActive": false,
    "forceDisabled": 0
  },
  "libraryVersions": {
    "NSPR": {
      "minVersion": "4.10.9 Beta",
      "version": "4.10.9 Beta"
    },
    "NSS": {
      "minVersion": "3.19.2 Basic ECC",
      "version": "3.19.2 Basic ECC"
    },
    "NSSUTIL": {
      "minVersion": "3.19.2",
      "version": "3.19.2"
    },
    "NSSSSL": {
      "minVersion": "3.19.2 Basic ECC",
      "version": "3.19.2 Basic ECC"
    },
    "NSSSMIME": {
      "minVersion": "3.19.2 Basic ECC",
      "version": "3.19.2 Basic ECC"
    }
  },
  "userJS": {
    "exists": false
  },
  "crashes": {
    "submitted": [],
    "pending": 0
  },
  "sandbox": {
    "hasSeccompBPF": true,
    "hasSeccompTSync": true,
    "hasPrivilegedUserNamespaces": true,
    "hasUserNamespaces": true,
    "canSandboxMedia": true
  },
  "extensions": [
    {
      "name": "Adblock Plus",
      "version": "2.6.10",
      "isActive": true,
      "id": "{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"
    },
    {
      "name": "Black Youtube Theme",
      "version": "5.5.1-signed",
      "isActive": true,
      "id": "{2c93446d-612b-416d-9af0-b7355797b611}"
    },
    {
      "name": "Disable Ctrl-Q Shortcut",
      "version": "20120821.1-signed",
      "isActive": true,
      "id": "dcqs@moongiraffe.net"
    },
    {
      "name": "User Agent Overrider",
      "version": "0.2.5.1-signed",
      "isActive": true,
      "id": "useragentoverrider@qixinglu.com"
    },
    {
      "name": "Auto Unload Tab",
      "version": "0.8.4",
      "isActive": false,
      "id": "{d3c46ca0-999d-11da-a72b-0800200c9a66}"
    },
    {
      "name": "Ubuntu Firefox Modifications",
      "version": "3.0",
      "isActive": false,
      "id": "ubufox@ubuntu.com"
    }
  ],
  "experiments": []
}


I did try with adblock disabled as well and it's notably more rare, so yes it seems to be influenced by that. However, it's not gone, and it seems to me adblock just makes the existing problem worse.
Flags: needinfo?(jonasthiem)
Jonas, does it improve even more with all of your add-ons disabled?
Blocks: e10s-addons
Flags: needinfo?(jonasthiem)
Sorry the issue is worse some days and better the others, I would need to test run the browser for a few hours without addons to be sure if there's a definite difference. (for which I don't have the time and patience right now)

All I can say is that Adblock does make a definite difference, but it's not entirely gone without it. Also I can definitely tell the scroll hangs happen while loading new pages mainly, not just like, randomly during other points of browsing.
Flags: needinfo?(jonasthiem)
Oh and image-heavy pages like tumblr or imgur make it much more apparent
Does the testcase in bug 1190093 comment 6 show the same problem? It seems similar by the description, but for me that happens regardless of e10s being enabled.
(In reply to dolphinling from comment #6)
> Does the testcase in bug 1190093 comment 6 show the same problem? It seems
> similar by the description, but for me that happens regardless of e10s being
> enabled.
Flags: needinfo?(jonasthiem)
No, that test case works perfectly fine here (no hang, and I can still select text which means the web content process is still responsive in overall, doesn't it?).

I suppose it's just short hangs of the web content when the CPU is too busy.

However, I'd like to note that all effects of this issue went pretty much away since I enabled the experimental advanced pan and zoom. So unless you're looking to avoid any sort of small hangs of the web content process at any cost, I guess with this new feature that nicely avoids this annoying scroll hangs this bug could be closed "worksforme".
(although apz does have the tendency to scroll the entire page without recognizing sub-scrollable divs in the page the mouse is on when the web content process is temporarily hanging, which can be somewhat annoying on Linux where scrolling focus follows mouse usually - but I guess this is a separate issue in a way)
Flags: needinfo?(jonasthiem)
Priority: -- → P4
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: addon-related?
removed from e10s add-ons bug since the main one mentioned was Ad Block plus (since updated to webextension add-on, written for e10s friendliness).

we're working to get webextensions to cover more add-ons and with developers to migrate over or to adapt to SDK e10s compliant options. the deployment plan to release to only targets known good add-ons while we work with more developers to improve their add-ons (through Fx51).  After we will have UX that will handle known bad or perf issues introduced with add-ons for the long tail.
No longer blocks: e10s-addons
Whiteboard: addon-related?

Hi jonas, im unable to replicate this on ubuntu 20 with the latest firefox nightly version

can you please let us know if you still have this issue with the latest firefox nightly version?

thanks

Flags: needinfo?(jonasthiem)

APZ should have helped here.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.