Firefox 27 Spin Lock Replaces Interrupts? CPU hog
XP home, Firefox 27 takes 100% CPU while apparently waiting for something to download. Have spin locks replaced something interrupt-level?
It causes skips in background streaming and recording, unless I reduce the priority of Firefox when it runs.
Replacing Firefox 27 with the old Firefox 26 fixes it, so it's apparently something new.
Now using 26.
(~J99) Note now see also continuation in
- Firefox 27/28 cpu hog {posted 21stMarch} /questions/991025
Gewysig op
All Replies (12)
HI rhardin,
Thank you for contacting support, however I am not sure what you are mentioning:
Have spin locks replaced something interrupt-level?
In order to better understand what you are asking, can you please provide more context to your question.
With any site, while Firefox is waiting for stuff from the site (whether it's actively getting bytes at the moment or not) it's taking 100% of the CPU.
It's as if it used to (correctly) give up the thread until some data showed up, but now actively loops waiting for some data shows up.
As if it used to be interrupt driven and now spins to wait.
Maybe it always spins but now nobody gives up the lock. I don't know how it's implemented or what could have gone wrong.
XP Home, ad block, flash block, Zone Alarm (very old version, 6.5 or something)
Have you had a look at the topic Firefox is unbearably slow after updating to version 27.
The issue sound very similar, so I'm quoting the same answer here.
To know if you face the same issue:
- Type "about:support" in the address bar and press Enter.
- In the "graphics" section check the line with the entry "AzureContentBackend".
- If the value is "cairo" you may well face the same issue than I did.
In that case I have found a workaround:
- Type "about:config" in the address bar and press Enter.
- Search for "gfx.content.azure.backends".
- The value should be "direct2d,cairo". Edit it to be simply "direct2d" (ie. remove "cairo"), then restart Firefox.
Thanks, I didn't try it though because I can use Firefox 26, and the interest is just in getting it fixed at the top rather than working around a bug.
Hi rhhardin, I was reading the reference questions and the work around was to take out cairo and/or to disable the gfx preference. In a later comment it was said that the support for it will be removed in the next version 28:
cor-el said Note that support for gfx.content.azure.enabled is removed in Firefox 28 and later (Bug 934533).
Looking forward to this being fixed? Try the beta version, however take note that this version is a beta.
I tried 28.0 Beta and get the same problem. It pins the CPU usage at 100% where version 26 runs it variable around 80% while the site is loading.
A good site to test with is http://www.talk910.com/media/podcast-armstrong-getty-ang2011/
Wait for it to load (I have adblock and flash
block), then open in new tabs the top row H1 H2 H3 H4.
It takes about a minute on my machine, during which the CPU is pinned at 100% with 28 and variable around 80% with 26.
XP Home, single core CPU
$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel type : primary processor cpu family : 6 model : 13 model name : Intel(R) Celeron(R) M processor 1.30GHz
(via Cygwin)
Maybe it's not so fatal with dual core machines, but it makes other threads skip in playing back and recording with single core.
As I say, it looks like somebody's doing a wait for something with a loop and test where they shouldn't be.
Hey, I tried this on a XP VM and saw the the cpu spiked to 93% for a half a second when I loaded the page in a new profile. The process when I loaded the page goe sup 25 thousand K then goes back down and as I browse around that site it just continues to go up.
I then restarted in a new profile, and the CPU was way down again. Then I opened up the Web Console and found some issues. Javascript errors: SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead plugins_global.js:1 12:44:32.729 Error: http://content.clearchannel.com/cc-common/js/plugins_global.js?20140224 is being assigned a //# sourceMappingURL, but already has one 12:44:32.822 Use of attributes' specified attribute is deprecated. It always returns true. plusone.js:30 12:44:32.868 The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol. wall-street-journal-47146 12:44:34.496 "Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains."
JS activity continued as I clicked around the navigation. The highest point of cpu was when it asked me ti install the Flash Plugin, which was already installed- odd
Question for you, does add blocker help block the extra traffic I am seeing on this page? And do you have do not track on? This may prevent some extra cpu being used.
In other words, it seems like it is just the way the website is made that requires that many resources.
The website was just one that had the difference between Firefox 26 and Firefox 27 and took a while to finish (long enough to do a CPU profile if such things are still possible and useful, as to where the CPU time is being spent. I'd hope in some tight loop.)
That is, whatever the site errors, it takes pins the needle on 27 and does not on 26.
It might be that 27 spends time producing diagnostics and 26 does not? Graduate students with time on their hands are the source of all sorts of bit rot.
I dont' know what track on means. Ad block has long been so necessary that I can't imagine how bad it would be without it.
Thanks for the interest!
I'm reminded of Mike Lesk's comment when confronted with C++, strong typing is for weak minds.
An argument for a return to permissiveness in compilers.
Hi rehhardin,
With the coming release on Thursday, please start a new question if you still see CPU spiking after these troubleshooting steps CPU too many resources
The two bugs I found are pointing to that article.
I successfully applied the fix suggested in Firefox is unbearably slow after updating to version 27. This fix was also good for version 27.0.1.
However, upgraded to version 28 last night (with the same Firefox config settings) and Firefox CPU usage hit 99% and stayed there. The browser was totally unusable.
Therefore, went back to version 27.0.1 (I had kept a backup of the files), and Firefox was fast again.