firefox 3.5 memory leak / cpu problem with nspluginwrapper and libflashplayer.so 64 bit

Randy Cole randyokc-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Wed Dec 2 02:47:54 EST 2009


Solution : (aka Executive Summary)
======
Shut down Firefox.
yum remove nspluginwrapper
firefox about:plugins

Root Cause:
=======
nspluginwrapper seems to be unnecessarily wrapping 64 bit Adobe flash 
extension, and badly leaking memory and cpu.



Symtoms:
======
I noticed that my Fedora 11 x64 was having enormous trouble recently 
with apparent memory leak / cpu in Firefox, and npviewer segfaulting.  
But this isn't happening in Ubuntu 9.10.  I haven't checked Fedora 12 yet.

Leave laptop with Firefox open to a website with a flash stream.  Go to 
bed.  Wake up, find Firefox unusable, system barely usable, with Firefox 
using 3GB of memory and 98% of cpu.

Investigation:
=========
The usual culprit is the open java plugin that comes with the Linux 
distributions.  It's getting better than it used to be, but in the past 
it's locked up Firefox or even crashed the computer.  So I replaced it 
with sun java.  In Fedora, you have to also mess around with the 
alternatives system from the command line.

The second usual culprit is the Flash substitute plugin "swfdec".  
Adobe's installation methods frankly suck.  I need the 64 bit plugin, 
but they usually offer up the 32-bit one.  Anyway, you get the 64-bit 
plugin "installed", then end up manually copy the libflashplayer.so file 
to the  /usr/lib64/mozilla/plugins directory.  I've whined before about 
how Firefox doesn't pick the newest plugin (as the documentation says it 
should), so move or delete the "swfdec" plugin.

About:plugins reports flash is nswrapper_64_64.libflashplayer.so .  This 
file is magically re-generated when firefox starts, and preempts 
libflashplayer.so.  Notice that Ubuntu didn't have the nspluginwrapper 
plugin.


I guess I should submit this as a bug to Fedora.  I suspect it is not 
distribution-specific.


--Randy









More information about the Discuss mailing list