Bug#638819: gvfs-gdu-volume high CPU usage when freecom toughdrive external disk is plugged
Yves-Alexis Perez
corsac at debian.org
Mon Aug 22 08:21:27 UTC 2011
Package: gvfs
Version: 1.6.4-3
Severity: normal
Hey,
I have an issue with gvfs. I'm running it on debian sid boxes, with Xfce. When
I plug an external drive, gvfs-gdu-volume (and udisks-daemon) seem to starts a
loop on the present volumes or something. strace on the process gives:
open("/etc/fstab", O_RDONLY) = 33
fstat(33, {st_mode=S_IFREG|0644, st_size=610, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c83fda000
read(33, "# /etc/fstab: static file system"..., 4096) = 610
read(33, "", 4096) = 0
close(33) = 0
munmap(0x7f0c83fda000, 4096) = 0
getcwd("/", 4096) = 2
lstat("/proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-root", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-root", "../dm-1", 4095) = 7
lstat("/dev/dm-1", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 1), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-home", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-home", "../dm-2", 4095) = 7
lstat("/dev/dm-2", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 2), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-srv", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-srv", "../dm-3", 4095) = 7
lstat("/dev/dm-3", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 3), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
getcwd("/", 4096) = 2
lstat("/none", 0x7fffd98827d0) = -1 ENOENT (No such file or directory)
getcwd("/", 4096) = 2
lstat("/proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-root", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-root", "../dm-1", 4095) = 7
lstat("/dev/dm-1", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 1), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-home", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-home", "../dm-2", 4095) = 7
lstat("/dev/dm-2", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 2), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-srv", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-srv", "../dm-3", 4095) = 7
lstat("/dev/dm-3", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 3), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
getcwd("/", 4096) = 2
lstat("/none", 0x7fffd98827d0) = -1 ENOENT (No such file or directory)
open("/proc/mounts", O_RDONLY) = 33
fstat(33, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c83fda000
read(33, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
read(33, "/sdc1 /home/xxxxxxx/xxxxxxx/xxx/"..., 1024) = 294
read(33, "", 1024) = 0
close(33) = 0
munmap(0x7f0c83fda000, 4096) = 0
getcwd("/", 4096) = 2
lstat("/proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-root", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-root", "../dm-1", 4095) = 7
lstat("/dev/dm-1", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 1), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-home", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-home", "../dm-2", 4095) = 7
lstat("/dev/dm-2", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 2), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
lstat("/dev/mapper/oban-srv", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0
readlink("/dev/mapper/oban-srv", "../dm-3", 4095) = 7
lstat("/dev/dm-3", {st_mode=S_IFBLK|0660, st_rdev=makedev(254, 3), ...}) = 0
lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3680, ...}) = 0
lstat("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
getcwd("/", 4096) = 2
lstat("/none", 0x7fffd98827d0) = -1 ENOENT (No such file or directory)
open("/proc/mounts", O_RDONLY) = 33
fstat(33, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c83fda000
read(33, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
read(33, "/sdc1 /home/xxxxxxx/xxxxxxx/xxx/"..., 1024) = 294
read(33, "", 1024) = 0
close(33) = 0
munmap(0x7f0c83fda000, 4096) = 0
stat("/dev/sdd1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 49), ...}) = 0
access("/media/xxxxxx", R_OK|X_OK) = 0
and then it starts again at open("/etc/fstab")
>From time to time it tries to write to stdout but this is apparently
redirected to /dev/null. When running it manually from terminal I get a flood
of:
(process:32526): libgdu-WARNING **: unhandled property 'DeviceAutomountHint'
so it might be related to #633673 but I'm not completely sure. After
unmounting and disconnecting the drive, I have some:
(process:31771): libgdu-WARNING **: Don't know how to handle device /dev/sr1
then it stops.
That reminds me that this Freecom drive may be some kind of "zero-cd" drive:
when I plug it I can see:
ug 22 10:12:31 oban kernel: [273871.036626] scsi 16:0:0:0: Direct-Access
Freecom ToughDrive PQ: 0 ANSI: 2 CCS
Aug 22 10:12:31 oban kernel: [273871.036988] scsi 16:0:0:1: CD-ROM
Freecom Password PQ: 0 ANSI: 2 CCS
so there might be some windowish-way to protect the drive using some utility
present on the virtual cdrom drive (though I can't access it from Linux
anyway). Something maybe related too is that I get an error from the kernel
reading the identity for the drive:
Aug 22 10:12:32 oban ata_id[13231]: HDIO_GET_IDENTITY failed for '/dev/sdd':
Invalid argument
and maybe that's the kind of stuff confusing gvfs or udisks.
If you need any information, please ask, if you think that should be
reassigned to udisks or the kernel, feel free to do so.
Regards,
--
Yves-Alexis
-- System Information:
Debian Release: wheezy/sid
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gvfs depends on:
ii libc6 2.13-16 Embedded GNU C Library: Shared lib
ii libdbus-1-3 1.4.14-1 simple interprocess messaging syst
ii libexpat1 2.0.1-7 XML parsing C library - runtime li
ii libgconf2-4 2.32.4-1 GNOME configuration database syste
ii libgdu0 2.32.1-1 GObject based Disk Utility Library
ii libglib2.0-0 2.28.6-1 The GLib library of C routines
ii libgnome-keyring0 3.0.3-1 GNOME keyring services library
ii libudev0 172-1 libudev shared library
ii x11-utils 7.6+3 X11 utilities
Versions of packages gvfs recommends:
ii dbus 1.4.14-1 simple interprocess messaging syst
ii policykit-1-gnome 0.101-2 GNOME authentication agent for Pol
Versions of packages gvfs suggests:
ii gvfs-backends 1.6.4-3 userspace virtual filesystem - bac
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list