Bug 523036

Summary: npviewer uses 100% cpu causing firefox to hang
Product: [Fedora] Fedora Reporter: Steevithak <steevithak>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: dougsland, esilva, gansalmon, gecko-bugs-nobody, itamar, jonathanr.pritchard+bugzilla, kernel-maint, mcepl, mertensb.mazda, twiga07
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-28 14:37:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Steevithak 2009-09-13 15:08:09 UTC
Description of problem: after visiting a few websites, particular websites that have flash content, firefox become completely unresponsive and usually results in the little "this app is not responding, kill it yes/no" dialog appearing. When I run top I usually see either Xorg or npviewer is consuming 100% of the cpu.


Version-Release number of selected component (if applicable):
mozilla-filesystem-1.9-4.fc11.i586
flash-plugin-10.0.32.18-release.i386
nspluginwrapper-1.3.0-6.fc11.i586
java-1.6.0-openjdk-plugin-1.6.0.0-27.b16.fc11.i586
firefox-3.5.3-1.fc11.i586
xulrunner-1.9.1.3-1.fc11.i586
xulrunner-devel-1.9.1.3-1.fc11.i586


How reproducible: When I first start using F11 this happened occasionally, like one or twice a week. With recent updates, the frequency has increased to nearly 100% of the time and usually with a minute or so of starting firefox. The www.yahoo.com index page seems to  trigger it particularly well but many other sites all cause the problem.

Interestingly, this is on a Dell Inspiron 8600 laptop with an Nvidia graphics card. I also run F10 on my desktop, a Dell Inspiron 531s with an ATI graphics cards. It exhibits much less severe symptoms. I've tried visiting the same sites in the same sequence on my desktop F10 box and usually Firefox will hang for a no more than a second and then seems to recover on it's own. So the problem seems to have developed in recent versions and/or is hardware specific.


Steps to Reproduce:
1. Install F11
2. Start Firefox
3. Browse a lot of website
  
Actual results: Firefox hangs, CPU utilization goes to 100%, top shows either npviewer or Xorg eating cpu.


Expected results: Firefox works normally


Additional info: I attempted to run an strace on the npviewer process last time this happened but all it produced was a something that appeared to a loop waiting for some unavailable resource. Assuming I didn't screw up the strace maybe somebody just needs to put a sleep(0) in the loop. :) Here's a tiny extract from it (there were thousands of lines that looked exactly like these):

gettimeofday({1252853611, 505364}, NULL) = 0
select(9, [8], NULL, NULL, {0, 0})      = 0 (Timeout)
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1252853611, 505490}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 0) = 0 (Timeout)
gettimeofday({1252853611, 505575}, NULL) = 0
gettimeofday({1252853611, 505613}, NULL) = 0
gettimeofday({1252853611, 505649}, NULL) = 0
gettimeofday({1252853611, 505688}, NULL) = 0
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1252853611, 505784}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}], 3, 9) = 0 (Timeout)
gettimeofday({1252853611, 514949}, NULL) = 0
select(9, [8], NULL, NULL, {0, 0})      = 0 (Timeout)
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1252853611, 515077}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 0) = 0 (Timeout)
gettimeofday({1252853611, 515163}, NULL) = 0
gettimeofday({1252853611, 515201}, NULL) = 0
gettimeofday({1252853611, 515237}, NULL) = 0
gettimeofday({1252853611, 515289}, NULL) = 0
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1252853611, 515367}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}], 3, 9) = 0 (Timeout)
gettimeofday({1252853611, 751938}, NULL) = 0
gettimeofday({1252853611, 751992}, NULL) = 0
gettimeofday({1252853611, 752036}, NULL) = 0
gettimeofday({1252853611, 752073}, NULL) = 0
gettimeofday({1252853611, 752142}, NULL) = 0
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday(rily unavailable)
gettimeofday({1252853612, 512179}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 0) = 0 (Timeout)
gettimeofday({1252853612, 512289}, NULL) = 0
gettimeofday({1252853612, 512333}, NULL) = 0
gettimeofday({1252853612, 512370}, NULL) = 0
gettimeofday({1252853612, 512436}, NULL) = 0
read(4, 0x824fb98, 4096)                = -1 EAGAIN (Resource temporarily unavailable)

Comment 1 Eduardo E. Silva 2009-09-14 20:42:01 UTC
I just update from Fedora 10 to Fedora 11 and using Firefox 5.2.3 It is crashing with similar behavior. Why does FF need gettimeofday ?

Comment 2 mertensb.mazda 2009-11-07 16:47:10 UTC
Not sure if this is related but I experience firefox crashes that kill my entire session (appeasr to cause compiz to crash as well).

Besides npviewer it appears to be triggered by using the "switch user" option.

Besides a (to me) similar strace out I noticed the following:

dmesg:
npviewer.bin[23408]: segfault at ff99cd48 ip 00000000ff99cd48 sp 00000000ffba206
c error 14
SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
compiz[26991]: segfault at 30 ip 000000000040edfe sp 00007fff1e6470e0 error 4 in
 compiz[400000+3a000]
SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
npviewer.bin[17673]: segfault at 3c ip 0000000000fc90da sp 00000000ffc29390 erro
r 4 in libflashplayer.so[d80000+990000]
SELinux: initialized (dev fuse, type fuse), uses genfs_contexts


/var/log/messages:
Oct 31 18:49:20 localhost kernel: npviewer.bin[17673]: segfault at 3c ip 0000000
000fc90da sp 00000000ffc29390 error 4 in libflashplayer.so[d
80000+990000]


Fedora release 10 (Cambridge)

flash-plugin-10.0.32.18-release.i386
firefox-3.0.14-1.fc10.x86_64
nspluginwrapper-1.3.0-2.fc10.x86_64
nspluginwrapper-1.3.0-2.fc10.i386
xulrunner-1.9.0.14-1.fc10.x86_64
mozilla-filesystem-1.9-2.fc10.x86_64

Comment 3 Eduardo E. Silva 2009-11-07 17:22:10 UTC
I have "solved" this issue. Some mothemoards do not provide a reliable system clock. Which in my case I resolved by adding this to my /etc/grub.conf 

clocksource=acpi_pm

cat /sys/devices/system/clocksource/clocksource0/*

mine was using tsc which did not work.

Comment 4 Matěj Cepl 2009-11-07 22:19:54 UTC
Looks like something kernelish ... reassigning

Comment 5 Bug Zapper 2010-04-28 10:19:57 UTC
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 11 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Bug Zapper 2010-06-28 14:37:47 UTC
Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 7 Twiga 2010-07-08 10:32:20 UTC
I'm seeing similar issue on Fedora 13. When I go to Java enabled site, it crashes. Here is an output from strace


clock_gettime(CLOCK_MONOTONIC, {12232, 163340911}) = 0
write(79, "\0\0\0*\1\0\0\0D\25\0\0\0\1\1\0\0\0\0\0", 20) = 20
gettimeofday({1278585107, 706055}, NULL) = 0
clock_gettime(CLOCK_MONOTONIC, {12232, 164853188}) = 0
write(79, "\0\0\0.\1\0\0\0D\26\1\0\0\0g\0D\0S\0S\0i\0g\0n\0I\0n\0"..., 222) = 222
gettimeofday({1278585107, 707165}, NULL) = 0
gettimeofday({1278585107, 707322}, NULL) = 0
read(3, 0xb7578058, 4096)               = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=31, events=POLLIN|POLLPRI}, {fd=32, events=POLLIN|POLLPRI}, {fd=33, events=POLLIN|POLLPRI}, {fd=23, events=POLLIN}], 7, 0) = 1 ([{fd=23, revents=POLLIN}])
read(23, "\372", 1)                     = 1
gettimeofday({1278585107, 708408}, NULL) = 0
read(3, 0xb7578058, 4096)               = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=31, events=POLLIN|POLLPRI}, {fd=32, events=POLLIN|POLLPRI}, {fd=33, events=POLLIN|POLLPRI}, {fd=23, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1278585107, 708706}, NULL) = 0
gettimeofday({1278585107, 708835}, NULL) = 0
gettimeofday({1278585107, 708957}, NULL) = 0
read(3, 0xb7578058, 4096)               = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=31, events=POLLIN|POLLPRI}, {fd=32, events=POLLIN|POLLPRI}, {fd=33, events=POLLIN|POLLPRI}, {fd=23, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1278585107, 711416}, NULL) = 0
read(3, 0xb7578058, 4096)               = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=31, events=POLLIN|POLLPRI}, {fd=32, events=POLLIN|POLLPRI}, {fd=33, events=POLLIN|POLLPRI}, {fd=23, events=POLLIN}], 7, 0) = 0 (Timeout)