udisks-daemon randomly uses 100% CPU

Bug #1282119 reported by Phoenix on 2014-02-19
48
This bug affects 10 people
Affects Status Importance Assigned to Milestone
udisks
Confirmed
Medium
udisks (Ubuntu)
High
Unassigned

Bug Description

Ever since i freshly installed Kubuntu 13.10, some hours after system boot the udisks-daemon starts to use 100% of the CPU.

The symptoms are similar to this debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728798

Usually i also just kill the daemon, but this problem persists after every reboot. Due to the random nature of the problem it's somewhat hard to debug and to know what information is helpful.
I usually just write some code or documentation and doesn't insert any new media, devices, cables, etc.

strace shows, that it is polling in a tight loop:

poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173318) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173318) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173318) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173318) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173318) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173317) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173317) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLPRI}, {fd=10, events=POLLIN}, {fd=11, events=0}, {fd=3, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}], 7, 1173317) = 2 ([{fd=16, revents=POLLHUP}, {fd=19, revents=POLLHUP}])

fd 19 is a pipe

sudo ls -al /proc/2223/fd
insgesamt 0
dr-x------ 2 root root 0 Feb 18 22:39 .
dr-xr-xr-x 9 root root 0 Feb 18 22:27 ..
lrwx------ 1 root root 64 Feb 18 22:39 0 -> /dev/null
lrwx------ 1 root root 64 Feb 18 22:39 1 -> /dev/null
lrwx------ 1 root root 64 Feb 18 22:39 10 -> socket:[15709]
lr-x------ 1 root root 64 Feb 18 22:39 11 -> /proc/2223/mountinfo
lrwx------ 1 root root 64 Feb 18 22:39 12 -> anon_inode:[eventfd]
lr-x------ 1 root root 64 Feb 19 15:39 16 -> pipe:[404569]
lr-x------ 1 root root 64 Feb 19 15:39 19 -> pipe:[404570]
lrwx------ 1 root root 64 Feb 18 22:39 2 -> /dev/null
lrwx------ 1 root root 64 Feb 18 22:39 3 -> socket:[15707]
l-wx------ 1 root root 64 Feb 18 22:39 4 -> pipe:[15705]
lrwx------ 1 root root 64 Feb 18 22:39 5 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 Feb 18 22:39 6 -> socket:[15708]
lrwx------ 1 root root 64 Feb 18 22:39 7 -> anon_inode:[eventfd]
lr-x------ 1 root root 64 Feb 18 22:39 8 -> /proc/mdstat
lrwx------ 1 root root 64 Feb 18 22:39 9 -> anon_inode:[eventfd]

udisks:
  Installiert: 1.0.4-8ubuntu1
  Installationskandidat: 1.0.4-8ubuntu1
  Versionstabelle:
 *** 1.0.4-8ubuntu1 0
        500 http://ubuntu.inode.at/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

Any help is appreciated.

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: udisks 1.0.4-8ubuntu1
ProcVersionSignature: Ubuntu 3.11.0-17.31-generic 3.11.10.3
Uname: Linux 3.11.0-17-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CustomUdevRuleFiles: 51-android.rules 60-vboxdrv.rules
Date: Wed Feb 19 15:56:16 2014
EcryptfsInUse: Yes
ExecutablePath: /usr/lib/udisks/udisks-daemon
InstallationDate: Installed on 2013-10-18 (124 days ago)
InstallationMedia: Kubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
MachineType: LENOVO 2537UQF
MarkForUpload: True
ProcEnviron:

ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-17-generic root=UUID=f550bcf2-1f7d-467a-b357-133b771b57b5 ro quiet splash i915.i915_enable_rc6=1 pcie_aspm=force vt.handoff=7
SourcePackage: udisks
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/15/2011
dmi.bios.vendor: LENOVO
dmi.bios.version: 6IET79WW (1.39 )
dmi.board.name: 2537UQF
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6IET79WW(1.39):bd07/15/2011:svnLENOVO:pn2537UQF:pvrThinkPadT410:rvnLENOVO:rn2537UQF:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 2537UQF
dmi.product.version: ThinkPad T410
dmi.sys.vendor: LENOVO

Phoenix (tos-phoenix) wrote :
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in udisks (Ubuntu):
status: New → Confirmed
Changed in udisks (Ubuntu):
importance: Undecided → High
Download full text (3.9 KiB)

Created attachment 95344
requested diagnostics for a bug report

I'm dealing with problem that in some cases, randomly, udisks-daemon can take 100% of one CPU core and stops only when I kill it. I must admit also that my system battery is below 3V and I haven't changed it yet so there can be some connection.

I also found here: https://forums.gentoo.org/viewtopic-p-6472936.html#6472936
that it can be a problem with locale.

There is a post which suggests that the problem occurs when user is not having quote mark at the first line of the locale:

[root@linux mk]# locale
LANG=pl_PL.UTF-8 << missing "quote" mark
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
[...]

Messages which appeared in journalctl when udisks-daemon hanged up:

lut 18 09:30:51 linux udisks-daemon[301]: **** Refreshing ATA SMART data for /sys/devices/pci0000:00/0000:00:08.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
lut 18 09:30:52 linux udisks-daemon[301]: helper(pid 1868): launched job udisks-helper-ata-smart-collect on /dev/sda
lut 18 09:30:52 linux udisks-daemon[301]: **** Refreshing ATA SMART data for /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb
lut 18 09:30:52 linux udisks-daemon[301]: helper(pid 1869): launched job udisks-helper-ata-smart-collect on /dev/sdb
lut 18 09:30:52 linux udisks-daemon[301]: helper(pid 1868): completed with exit code 0
lut 18 09:30:52 linux udisks-daemon[301]: **** EMITTING CHANGED for /sys/devices/pci0000:00/0000:00:08.0/ata1/host0/target0:0:0/0:0:0:0/block/sda

I mounted and unmnounted /dev/sdb thinking this could cause the problem:

lut 18 09:35:14 linux su[2030]: (to root) mk on pts/0
lut 18 09:35:14 linux su[2030]: pam_unix(su:session): session opened for user root by mk(uid=1000)
lut 18 09:35:20 linux kernel: XFS (sdb5): Mounting Filesystem
lut 18 09:35:20 linux udisks-daemon[301]: **** /proc/self/mountinfo changed
lut 18 09:35:20 linux udisks-daemon[301]: **** MOUNTED /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:20 linux udisks-daemon[301]: **** CHANGING /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:20 linux udisks-daemon[301]: **** UPDATING /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:20 linux udisks-daemon[301]: **** EMITTING CHANGED for /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:20 linux udisks-daemon[301]: **** CHANGED /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:20 linux kernel: XFS (sdb5): Ending clean mount

Then I killed udisks-daemon:

lut 18 09:35:27 linux udisks-daemon[301]: **** /proc/self/mountinfo changed
lut 18 09:35:27 linux udisks-daemon[301]: **** UNMOUNTED /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:27 linux udisks-daemon[301]: **** CHANGING /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:27 linux udisks-daemon[301]: **** UPDATING /sys/devices/pci0000:00/0000:00:08.1/ata3/host2/target2:0:0/2:0:0:0/block/sdb/sdb5
lut 18 09:35:27 linux ud...

Read more...

It's unfortunate you are experiencing this problem. However, you are running an old unmaintained version of udisks. Please update to the udisks 2.x series.

Thanks for your answer. It seems that I had both udisks(1.0.4-8) and udisks2 on my system. When removing udisks it tells me that xfce4-power-manager requires it. I removed both but I'd like to use xfce power manager so my question is why this is happening? I guess xfce doesn't have support for udisks2 yet and my distro still provides the old version as well?

I've just hit a 100% udisks-daemon as well.. but it did stop by itself, after a LONG time (like 20-30'-ish, which surely isn't "normal" ?) - without me doing anything (I did NOT kill it; but maybe some... watcher process did?). It seems to have started about when I did a VirtualBox update - not sure if that could have anything to do with it?

https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/1282119 has others hitting this. Similar reports on https://bugzilla.redhat.com/show_bug.cgi?id=1049928

> running an old unmaintained version of udisks. Please update to the udisks 2.x series.

I'm on what I think is a fairly standard out of the box Ubuntu 13.10, here is some info:

$ uname -a
Linux yoko 3.11.0-20-generic #35-Ubuntu SMP Fri May 2 21:32:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy

$ dpkg -l | grep udisks
ii libudisks2-0:amd64 2.1.0-4ubuntu0.1 amd64 GObject based library to access udisks2
ii udisks 1.0.4-8ubuntu1.1 amd64 storage media interface
ii udisks2 2.1.0-4ubuntu0.1 amd64 D-BUS service to access and manipulate storage devices

I've tried to look into "Messages which appeared in journalctl" to help with this (when the problem was still going on), but I don't seem to have a command named 'journalctl' in Ubuntu 13.10 - what information would help you to understand the root cause of this better - should it happen again? (There was nothing in 'dmesg | grep udisks', which is probably normal; just say'n.) -- Attached vorburger_udisks_dump.txt is the result of having run 'udisks --dump' while it was spinning - though I doubt that there could be anything useful in that?

I don't know much science there is in the "not having quote mark at the first line of the locale" conspiracy theory, but just in case, here's mine (standard Ubuntu) :

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/381063 is an older (closed) but with something about "multiuser system with many desktop users, the system dbus-daemon process can easily exceed the 1024 open file..." - I thought it may be worthwhile to mention that in my case I did indeed have two completely separate desktop user sessions open and running.

Changed in udisks:
importance: Unknown → Medium
status: Unknown → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.