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