#781456 udisks2: udisksd eats 100% cpu while looping through all devices on md0

Package:
udisks2
Source:
udisks2
Description:
D-Bus service to access and manipulate storage devices
Submitter:
Jaakko Niemi
Date:
2015-03-29 15:09:07 UTC
Severity:
important
#781456#5
Date:
2015-03-29 15:06:12 UTC
From:
To:
ps shows udisksd eating 100% cpu:

15849 root      20   0  378856   9084   6752 R  99,3  0,1 134:13.88 udisksd

strace shows that it's just looping throug all devices that are part of md0 array:

readlink("/sys/devices/virtual/block/md0/md/dev-sdd1/block", "../../../../../pci0000:00/0000:0"..., 4095) = 84
lstat("/sys", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/sys/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0/md", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0/md/dev-sdd1", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sdd", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sdd/sdd1", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("/sys/devices/virtual/block/md0/md/dev-sdd1/state", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "in_sync\n", 4096)             = 8
read(16, "", 4088)                      = 0
close(16)                               = 0
open("/sys/devices/virtual/block/md0/md/dev-sdd1/slot", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "0\n", 4096)                   = 2
read(16, "", 4094)                      = 0
close(16)                               = 0
open("/sys/devices/virtual/block/md0/md/dev-sdd1/errors", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "0\n", 4096)                   = 2
read(16, "", 4094)                      = 0
close(16)                               = 0
readlink("/sys/devices/virtual/block/md0/md/dev-sde1/block", "../../../../../pci0000:00/0000:0"..., 4095) = 84
lstat("/sys", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/sys/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0/md", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/virtual/block/md0/md/dev-sde1", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sde", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
lstat("/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sde/sde1", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("/sys/devices/virtual/block/md0/md/dev-sde1/state", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "in_sync\n", 4096)             = 8
read(16, "", 4088)                      = 0
close(16)                               = 0
open("/sys/devices/virtual/block/md0/md/dev-sde1/slot", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "2\n", 4096)                   = 2
read(16, "", 4094)                      = 0
close(16)                               = 0
open("/sys/devices/virtual/block/md0/md/dev-sde1/errors", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
read(16, "0\n", 4096)                   = 2
read(16, "", 4094)                      = 0
close(16)

and md0 is:

md0 : active raid5 sde1[3] sdc1[1] sdd1[0]
      3906764800 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 0/15 pages [0KB], 65536KB chunk

This happens with both versions in ustable and exprerimental.

What other information is needed?