Bug 557201

Summary: udevd takes 100% CPU and seems to hang
Product: [openSUSE] openSUSE 11.3 Reporter: Jigish Gohil <cyberorg>
Component: KernelAssignee: E-mail List <kernel-maintainers>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: friedhelm.stappert, jeffm
Version: Milestone 6   
Target Milestone: Milestone 7   
Hardware: Other   
OS: Other   
Whiteboard: maint:released:11.2:35929
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: strace on udevd process

Description Jigish Gohil 2009-11-20 13:05:33 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.4) Gecko/20091016 SUSE/3.5.4-1.1.2 Firefox/3.5.4

At least once or twice a day udevd spikes CPU to 100% till it is killed manually.

killall -9 udevd
udevd --daemon

This is the only way to get it working again.

System is Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz, 2GB RAM, running openSUSE 11.2, kernel-default.

I am not sure what is triggering this, I will be happy to provide any more information required.

Reproducible: Always

Steps to Reproduce:
No steps at this moment.
Comment 1 Jigish Gohil 2009-11-21 09:34:18 UTC
Created attachment 328817 [details]
strace on udevd process

strace of the process spiking CPU.
Comment 2 Kay Sievers 2009-11-24 12:48:40 UTC
Please run:
  udevadm monitor
while the failure occurs and provide the output. It's likely a kernel problem with the video driver emitting endless events, which needs to be addressed.
Comment 3 Jigish Gohil 2009-11-26 15:53:27 UTC
I am unable to duplicate it now, will reopen with required information if this happens again.
Comment 4 Jigish Gohil 2010-01-05 15:21:39 UTC
Now the CPU usage is not 100% but is about 10%, still highest in top.

This is what it keeps printing.

prime:/ # udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1262704645.168134] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1262704645.169761] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
KERNEL[1262704645.177487] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1262704645.180363] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
KERNEL[1262704645.183251] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
Comment 5 Jigish Gohil 2010-01-05 15:24:43 UTC
killall -9 udevd makes it disappear from top, however udevadm monitor still shows the lines above.
Comment 6 Kay Sievers 2010-01-05 16:27:05 UTC
Sounds like the kernel bug in the DRM code, where kernel sends events in a loop:
  http://lkml.indiana.edu/hypermail/linux/kernel/0906.3/03000.html
Comment 7 Jeff Mahoney 2010-03-19 20:50:52 UTC
I've backported a bunch of fixes for i9165 that may address this issue. Can you try a test kernel from:

http://ftp.suse.com/pub/people/jeffm/suse/testpkgs/556837/

and report back?
Comment 8 Jigish Gohil 2010-03-20 08:58:38 UTC
using default kernel, udevadm monitor now does not show drm related messages.
Comment 9 Jeff Mahoney 2010-04-06 17:17:10 UTC
Ok, thanks for the feedback. I've committed those patches to the 11.2 repo.
Comment 10 Jigish Gohil 2010-05-08 06:09:53 UTC
This bug is back in 11.3 M6 using 2.6.34-rc5-6-default i586, i915 graphics.

udevadm monitor shows countless:

UDEV  [1273298928.583844] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1273298928.585461] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1273298928.587218] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1273298928.588807] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1273298928.591783] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
Comment 11 Swamp Workflow Management 2010-09-23 13:11:00 UTC
Update released for: kernel-debug, kernel-debug-base, kernel-debug-base-debuginfo, kernel-debug-debuginfo, kernel-debug-debugsource, kernel-debug-devel, kernel-debug-devel-debuginfo, kernel-default, kernel-default-base, kernel-default-base-debuginfo, kernel-default-debuginfo, kernel-default-debugsource, kernel-default-devel, kernel-default-devel-debuginfo, kernel-desktop, kernel-desktop-base, kernel-desktop-base-debuginfo, kernel-desktop-debuginfo, kernel-desktop-debugsource, kernel-desktop-devel, kernel-desktop-devel-debuginfo, kernel-pae, kernel-pae-base, kernel-pae-base-debuginfo, kernel-pae-debuginfo, kernel-pae-debugsource, kernel-pae-devel, kernel-pae-devel-debuginfo, kernel-source, kernel-source-vanilla, kernel-syms, kernel-trace, kernel-trace-base, kernel-trace-base-debuginfo, kernel-trace-debuginfo, kernel-trace-debugsource, kernel-trace-devel, kernel-trace-devel-debuginfo, kernel-vanilla, kernel-vanilla-base, kernel-vanilla-base-debuginfo, kernel-vanilla-debuginfo, kernel-vanilla-debugsource, kernel-vanilla-devel, kernel-vanilla-devel-debuginfo, kernel-xen, kernel-xen-base, kernel-xen-base-debuginfo, kernel-xen-debuginfo, kernel-xen-debugsource, kernel-xen-devel, kernel-xen-devel-debuginfo, preload-kmp-default, preload-kmp-desktop
Products:
openSUSE 11.2 (debug, i586, x86_64)
Comment 12 Jeff Mahoney 2011-02-07 21:12:36 UTC
Can you still reproduce this? All of the fixes that I put in 11.2 were upstream already for 11.3.
Comment 13 Jigish Gohil 2011-02-08 04:44:31 UTC
Seems to be fixed.
Comment 14 Friedhelm Stappert 2011-02-13 12:43:49 UTC
Hi!

I have been watching this bug (silently) because I have exactly the same problem. However, it seems not yet to be fixed on my system. I am running the 11.3. default kernel (2.6.34.7-0.7-default).

I could not really figure out how exactly to reproduce this bug. The described behavior appears - almost - always a few minutes after starting KDE. Sometimes it calms down again after a few minutes, sometimes the only way out is to kill udevd. 

If you need further information, just let me know...
Comment 15 Jeff Mahoney 2012-03-05 21:58:14 UTC
11.3 is out of maintenance. If you can reproduce this issue with 11.4 or 12.1, please re-open and adjust the Product field to reflect the latest version affected.