udevd keeps binding and unbinding some usb device und uses all cpu
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Expired
|
High
|
|||
linux (Ubuntu) |
Incomplete
|
Low
|
Unassigned |
Bug Description
It first appeared when I upgraded ubuntu studio to 18.04
udevd started to use all available cpu.
now I'm running ubuntu desktop from a usb key and it's still the same
udevadm monitor returns:
KERNEL[2512.539491] unbind /devices/
UDEV [2512.540201] bind /devices/
KERNEL[2512.566574] bind /devices/
KERNEL[2512.566866] unbind /devices/
UDEV [2512.567499] unbind /devices/
KERNEL[2512.594050] bind /devices/
KERNEL[2512.594310] unbind /devices/
UDEV [2512.596510] bind /devices/
KERNEL[2512.620736] bind /devices/
KERNEL[2512.624606] unbind /devices/
UDEV [2512.634706] unbind /devices/
...
WORKAROUND: Remove file:
/lib/udev/
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: udev 237-3ubuntu10.3
ProcVersionSign
Uname: Linux 4.15.0-29-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
CasperVersion: 1.394
CustomUdevRuleF
Date: Mon Aug 20 18:54:48 2018
ExecutablePath: /lib/systemd/
LiveMediaBuild: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
MachineType: Dell Inc. Vostro 3300
ProcEnviron:
LANG=C.UTF-8
PATH=(custom, no user)
ProcKernelCmdLine: file=/cdrom/
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/10/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 07JC8T
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: Vostro 3300
dmi.product.
dmi.sys.vendor: Dell Inc.
Changed in linux: | |
importance: | Unknown → High |
status: | Unknown → Confirmed |
Changed in linux: | |
status: | Confirmed → Expired |
Created attachment 274593
dmesg
Hi,
I'm currently running ubuntu 18.04 with a 4.15 kernel and i can observe very high cpu usage to the systemd-udevd deamon.
removing the rule : Class}= ="03", ATTR{bInterface SubClass} =="01", ATTR{bInterface Protocol} =="02", \ bDeviceClass} =="00", ATTRS{idVendor} =="413c" , ATTRS{bmAttribu tes}==" e0", \ SWITCH} ="1"
ATTR{bInterface
ATTRS{
RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_
Solved the high CPU usage eventhough my bluetooth card is not available anymore (as not in hci mode)
It seems that the command hid2hci creates a bind/unbind loop in udev that is looping trying to set the device in hci mode. (that what udevadm monitor seems to show, looping from bind to unbind for the device)
I suspect a0085f2510e8976 614ad8f766b2094 48b385492f introduced a regression (i have not tried to revert it yet).
Please not that there also seem to be a bug in hid2hci.c from bluez l148 :
if (err == 0) {
err = -1;
errno = EALREADY;
}
Correcting this and recompile bluez desn't solve the issue as cpu usage remains very high.
Using a 4.13 kernel result in a normal CPU usage, this seems a regression in 4.14.
Other people seems to have the same issue, here is a bug report related to this : /dev.solus- project. com/T5224
https:/
Thanks a lot for your support,
Mathieu Tournier