Open Bug 1362971 Opened 7 years ago Updated 2 years ago

loop endless with Firefox 53.0

Categories

(Core :: SVG, defect, P3)

53 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: jmreymond, Unassigned)

References

()

Details

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20170418122848

Steps to reproduce:

visit: http://www.lemonde.fr/les-decodeurs/visuel/2017/05/08/presidentielle-le-front-national-perce-dans-les-petits-villages-macron-surperforme-dans-les-villes_5124212_4355770.html


Actual results:

CPU 100%


Expected results:

display page
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

I have tested this issue on Ubuntu 14.04 x64 and on Windows 10 x64 with the latest Firefox release (53.0.2) and the latest Nightly (55.0a1-20170510030301) and managed to reproduce it.
On Firefox release, after navigating to the provided URL, the CPU process goes over 25% and the browser becomes unresponsive. 
The CPU process goes over 25%, however the browser is still responsive when testing with the latest Nightly.

I have used the Gecko Profiler add-on to measure the performance on Firefox:
https://perfht.ml/2q5awum

When trying to get a performance profile using Nightly, I get the following error:
"Couldn't retrieve the profile from the gecko profiler addon.
Error was "Error: Unable to connect to the Gecko profiler add-on within thirty seconds.". The full stack has been written to the Web Console."

Mike, when you got time, can you please take a look and give your opinion on this?

Thank you!
Flags: needinfo?(mconley)
(In reply to Emil Pasca [:emilpasca], Desktop Engineering QA from comment #1)
> When trying to get a performance profile using Nightly, I get the following
> error:
> "Couldn't retrieve the profile from the gecko profiler addon.
> Error was "Error: Unable to connect to the Gecko profiler add-on within
> thirty seconds.". The full stack has been written to the Web Console."
> 

I believe this bug was fixed in more recent versions of the Gecko Profiler Add-on - do make sure you've got the most up-to-date version.

> Mike, when you got time, can you please take a look and give your opinion on
> this?

Unfortunately, the profile you've posted is not from Nightly and only has pseudostacks. It's of limited use. Can you re-try in Nightly with the up-to-date profiler add-on?
Flags: needinfo?(mconley) → needinfo?(emil.pasca)
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

When installing the add-on from https://perf-html.io/ on the latest Firefox Release(53.0.2) on Windows 10 x64, the Gecko Profiler Add-on (version 2.1.0) is installed.
Also I have managed to get a new profile on Firefox Release:
https://perfht.ml/2pTeNhL

When installing the add-on from https://perf-html.io/ on the latest Nightly(55.0a1-20170516122050), the Gecko Profiler Add-on (version 0.16) is installed (Is this an issue?), when trying to get a profile report, I encounter the same error mentioned in comment 1.

Which version is the latest? Should I try installing the Gecko Profiler add-on from elsewhere(If so, could you please provide a link to it)?
Flags: needinfo?(emil.pasca) → needinfo?(mconley)
(In reply to Emil Pasca [:emilpasca], Desktop Engineering QA from comment #3)
> Which version is the latest? Should I try installing the Gecko Profiler
> add-on from elsewhere(If so, could you please provide a link to it)?

Gecko Profiler Add-on v 2.1.0 is the old SDK version of the profiler add-on that is only compatible with Firefox 55 and up. The profile you gathered in comment 3 from your Firefox 53 is unfortunately not useful, since it's a non-Nightly build with only pseudostacks.

Gecko Profiler Add-on v 0.16 is the newest version for Firefox 55 and up. I know it's a bit counter intuitive - I'm not sure why the version number was reset.

At any rate, this looks like this bug: https://github.com/devtools-html/perf.html/issues/324

You might be able to side-step the issue until that bug is fixed by reducing the buffer size in the Gecko Profiler Add-on settings.
Flags: needinfo?(mconley)
I have re-tested this issue on Windows 10 x64 and Ubuntu 14.04 x64 with the latest Nightly(55.0a1-20170605030204) and the latest Gecko Profiler Add-on v 0.16.
After reducing the buffer size in the Gecko Profiler Add-on settings to 90kb and navigating to the provided URL in the description, I have managed to record the following performance reports:

Windows 10 x64: https://perfht.ml/2qWGmeR
Ubuntu 14.04 x64: https://perfht.ml/2qXtPaM

Mike, please take a look upon this. Thanks!
Flags: needinfo?(mconley)
Hm. With only 90kb's of profile data, the amount that I have from the hanging process is pretty limited, but what I'm seeing is a long paint.

Hey jrmuizel, anything interesting about the profiles in comment 5, graphics-wise? Perhaps we're painting the graph at http://www.lemonde.fr/les-decodeurs/visuel/2017/05/08/presidentielle-le-front-national-perce-dans-les-petits-villages-macron-surperforme-dans-les-villes_5124212_4355770.html really slowly?
Flags: needinfo?(mconley) → needinfo?(jmuizelaar)
It looks to me like all of the time is being spent in display list building and layer building. :mattwoodrow's probably the best person to look at it.
Flags: needinfo?(jmuizelaar) → needinfo?(matt.woodrow)
It looks like the SVG graphics has a massive number of display items, building and layerizing them is taking a long time. I'm sure there's some micro-optimization we can do to speed things up a bit, but to make this actually fast we probably need to handle these differently.

We should consider throttling painting during page load if it's taking this long.

I'll try this page out with retained-dl (not sure how well it works with SVG atm though) and see if that offers any wins.

The other options is to not create display items for complex SVGs and just paint them as a single bitmap. We've talked about that in the past for this particular issue.
Flags: needinfo?(matt.woodrow)
Component: Untriaged → SVG
Product: Firefox → Core
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.