[Pkg-utopia-maintainers] Bug#561707: devicekit-disks: polling stops working on IDE CD/DVD after USB stick unplugging

Colomban Wendling ban-ubuntu at club-internet.fr
Sat Dec 19 19:08:26 UTC 2009


Package: devicekit-disks
Version: 009-2
Severity: important

devicekit-disks stops detecting IDE CD/DVD devices changes after unplugging an
USB key.

On 2 laptops I have installed Debian Testing[1] that use ide-cd (the default,
nothing was changed for this), devicekit-disks stops detecting changes on the
IDE CD/DVD drive after plugging & unplugging an USB key.
Restarting devkit-disks-daemon fixes the problem until next USB key unplugging.

How to reproduce (on both laptops):
1) Insert a CD/DVD in the drive. See, it works fine: detected, mounted;
2) Eject the disk from the drive;
3) Plug an USB stick (it gets mounted and so);
4) Eject and then *unplug physically* (that is the moment where it stops
   working) the USB stick. You can see a libc backtrace[2], or a segfault
   report in the logs[3]. This only happens the first time a USB stick is
   unplugged after launching devkit-disks-daemon (e.g. only when the CD/DVD
   device was correctly polled).
5) Insert a disk again in the CD/DVD drive: nothing happens, and nothing is
   detected, or reported by devicekit-disks --monitor or in the output of
   devkit-disks-daemon.

There is no other errors reported by the daemon (in stdout or in the logs).


I think this is an important bug since it happens with completely different
hardware (one is an HP Compaq nx6125, the other a Packard Bell EasyNote V5908);
and it is very annoying as it prevent use of the CD/DVD drive together with USB
sticks (and maybe others, but works with (some?) USB disks), especially for
lambda users (it need to kill devkit-disks-daemon).

I think this bug might be related to #550316, even if the symptoms are not
exactly the same (though I've not done any test with version < 009-2).

Note the all the information in this report are the one from the Packard Bell
laptop (installed versions and so) but should be quite the same for the HP one
(they are both running up-to-date Debian Testing, with a very few number of
important packages added).


Regards,
Colomban W.


[1] One fresh install and one installed some months ago and maintained
    up-to-date.
[2] backtrace after unplugging the USB key:
*** glibc detected *** devkit-disks-daemon: polling /dev/hdb /dev/sda: free(): invalid pointer: 0x094e3850 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb7d07824]
/lib/i686/cmov/libc.so.6[0xb7d090b3]
/lib/i686/cmov/libc.so.6(cfree+0x6d)[0xb7d0c0ad]
/lib/libglib-2.0.so.0(g_free+0x36)[0xb7e31076]
devkit-disks-daemon: polling /dev/hdb /dev/sda[0x80660ff]
/lib/libglib-2.0.so.0(g_list_foreach+0x27)[0xb7e26877]
devkit-disks-daemon: polling /dev/hdb /dev/sda[0x806658a]
/lib/libglib-2.0.so.0[0xb7e5f88d]
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0xb7e28f28]
/lib/libglib-2.0.so.0[0xb7e2c6b3]
/lib/libglib-2.0.so.0(g_main_loop_run+0x1ca)[0xb7e2cb7a]
devkit-disks-daemon: polling /dev/hdb /dev/sda[0x8066386]
devkit-disks-daemon: polling /dev/hdb /dev/sda[0x8066af8]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7cb2b55]
devkit-disks-daemon: polling /dev/hdb /dev/sda[0x804ce21]
======= Memory map: ========
08048000-08070000 r-xp 00000000 fe:00 374929     /usr/lib/devicekit-disks/devkit-disks-daemon
08070000-08071000 rw-p 00028000 fe:00 374929     /usr/lib/devicekit-disks/devkit-disks-daemon
094de000-094ff000 rw-p 00000000 00:00 0          [heap]
b7a00000-b7a21000 rw-p 00000000 00:00 0 
b7a21000-b7b00000 ---p 00000000 00:00 0 
b7bc0000-b7bdc000 r-xp 00000000 fe:00 8356       /lib/libgcc_s.so.1
b7bdc000-b7bdd000 rw-p 0001c000 fe:00 8356       /lib/libgcc_s.so.1
b7bdd000-b7bdf000 rw-p 00000000 00:00 0 
b7bdf000-b7bf7000 r-xp 00000000 fe:00 8686       /lib/libselinux.so.1
b7bf7000-b7bf8000 r--p 00017000 fe:00 8686       /lib/libselinux.so.1
b7bf8000-b7bf9000 rw-p 00018000 fe:00 8686       /lib/libselinux.so.1
b7bf9000-b7bfa000 rw-p 00000000 00:00 0 
b7bfa000-b7c0b000 r-xp 00000000 fe:00 17523      /lib/i686/cmov/libresolv-2.10.2.so
b7c0b000-b7c0c000 r--p 00010000 fe:00 17523      /lib/i686/cmov/libresolv-2.10.2.so
b7c0c000-b7c0d000 rw-p 00011000 fe:00 17523      /lib/i686/cmov/libresolv-2.10.2.so
b7c0d000-b7c0f000 rw-p 00000000 00:00 0 
b7c0f000-b7c3e000 r-xp 00000000 fe:00 8290       /lib/libpcre.so.3.12.1
b7c3e000-b7c3f000 rw-p 0002f000 fe:00 8290       /lib/libpcre.so.3.12.1
b7c3f000-b7c41000 r-xp 00000000 fe:00 17516      /lib/i686/cmov/libdl-2.10.2.so
b7c41000-b7c42000 r--p 00001000 fe:00 17516      /lib/i686/cmov/libdl-2.10.2.so
b7c42000-b7c43000 rw-p 00002000 fe:00 17516      /lib/i686/cmov/libdl-2.10.2.so
b7c43000-b7c46000 r-xp 00000000 fe:00 260614     /usr/lib/libgmodule-2.0.so.0.2200.3
b7c46000-b7c47000 rw-p 00002000 fe:00 260614     /usr/lib/libgmodule-2.0.so.0.2200.3
b7c47000-b7c84000 r-xp 00000000 fe:00 265098     /usr/lib/libeggdbus-1.so.0.0.0
b7c84000-b7c86000 rw-p 0003c000 fe:00 265098     /usr/lib/libeggdbus-1.so.0.0.0
b7c86000-b7c87000 rw-p 00000000 00:00 0 
b7c87000-b7c8e000 r-xp 00000000 fe:00 17310      /lib/i686/cmov/librt-2.10.2.so
b7c8e000-b7c8f000 r--p 00006000 fe:00 17310      /lib/i686/cmov/librt-2.10.2.so
b7c8f000-b7c90000 rw-p 00007000 fe:00 17310      /lib/i686/cmov/librt-2.10.2.so
b7c90000-b7c9b000 r-xp 00000000 fe:00 9056       /lib/libudev.so.0.5.1
b7c9b000-b7c9c000 rw-p 0000b000 fe:00 9056       /lib/libudev.so.0.5.1
b7c9c000-b7ddd000 r-xp 00000000 fe:00 17337      /lib/i686/cmov/libc-2.10.2.so
b7ddd000-b7ddf000 r--p 00141000 fe:00 17337      /lib/i686/cmov/libc-2.10.2.so
b7ddf000-b7de0000 rw-p 00143000 fe:00 17337      /lib/i686/cmov/libc-2.10.2.so
b7de0000-b7de3000 rw-p 00000000 00:00 0 
b7de3000-b7ded000 r-xp 00000000 fe:00 8495       /lib/libatasmart.so.4.0.3
b7ded000-b7dee000 rw-p 0000a000 fe:00 8495       /lib/libatasmart.so.4.0.3
b7dee000-b7ea4000 r-xp 00000000 fe:00 8283       /lib/libglib-2.0.so.0.2200.3
b7ea4000-b7ea5000 rw-p 000b6000 fe:00 8283       /lib/libglib-2.0.so.0.2200.3
b7ea5000-b7ea6000 rw-p 00000000 00:00 0 
b7ea6000-b7ee2000 r-xp 00000000 fe:00 260620     /usr/lib/libgobject-2.0.so.0.2200.3
b7ee2000-b7ee3000 rw-p 0003c000 fe:00 260620     /usr/lib/libgobject-2.0.so.0.2200.3
b7ee3000-b7ee9000 r-xp 00000000 fe:00 265108     /usr/lib/libgudev-1.0.so.0.0.1
b7ee9000-b7eea000 rw-p 00005000 fe:00 265108     /usr/lib/libgudev-1.0.so.0.0.1
b7eea000-b7f7d000 r-xp 00000000 fe:00 260616     /usr/lib/libgio-2.0.so.0.2200.3
b7f7d000-b7f7f000 rw-p 00093000 fe:00 260616     /usr/lib/libgio-2.0.so.0.2200.3
b7f7f000-b7f9b000 r-xp 00000000 fe:00 16558      /usr/lib/libpolkit-gobject-1.so.0.0.0
b7f9b000-b7f9c000 rw-p 0001c000 fe:00 16558      /usr/lib/libpolkit-gobject-1.so.0.0.0
b7f9c000-b7fb1000 r-xp 00000000 fe:00 17309      /lib/i686/cmov/libpthread-2.10.2.so
b7fb1000-b7fb2000 r--p 00014000 fe:00 17309      /lib/i686/cmov/libpthread-2.10.2.so
b7fb2000-b7fb3000 rw-p 00015000 fe:00 17309      /lib/i686/cmov/libpthread-2.10.2.so
b7fb3000-b7fb6000 rw-p 00000000 00:00 0 
b7fb6000-b7fed000 r-xp 00000000 fe:00 8179       /lib/libdbus-1.so.3.4.0
b7fed000-b7fee000 r--p 00037000 fe:00 8179       /lib/libdbus-1.so.3.4.0
b7fee000-b7fef000 rw-p 00038000 fe:00 8179       /lib/libdbus-1.so.3.4.0
b7fef000-b800b000 r-xp 00000000 fe:00 259195     /usr/lib/libdbus-glib-1.so.2.1.0
b800b000-b800c000 rw-p 0001c000 fe:00 259195     /usr/lib/libdbus-glib-1.so.2.1.0
b801d000-b801f000 rw-p 00000000 00:00 0 
b801f000-b8020000 r-xp 00000000 00:00 0          [vdso]
b8020000-b803c000 r-xp 00000000 fe:00 9469       /lib/ld-2.10.2.so
b803c000-b803d000 r--p 0001b000 fe:00 9469       /lib/ld-2.10.2.so
b803d000-b803e000 rw-p 0001c000 fe:00 9469       /lib/ld-2.10.2.so
bfc4d000-bfc62000 rw-p 00000000 00:00 0          [stack]
[3] devkit-disks-da[4093]: segfault at c ip 080660da sp bf8d9370 error 4 in devkit-disks-daemon[8048000+28000]


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-2-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages devicekit-disks depends on:
ii  libatasmart4      0.17-1                 ATA S.M.A.R.T. reading and parsing
ii  libc6             2.10.2-2               GNU C Library: Shared libraries
ii  libdbus-1-3       1.2.16-2               simple interprocess messaging syst
ii  libdbus-glib-1-2  0.82-2                 simple interprocess messaging syst
ii  libglib2.0-0      2.22.3-1               The GLib library of C routines
ii  libgudev-1.0-0    149-1                  GObject-based wrapper library for 
ii  libparted1.8-12   1.8.8.git.2009.07.19-5 The GNU Parted disk partitioning s
ii  libpolkit-backend 0.95-1                 PolicyKit backend API
ii  libpolkit-gobject 0.95-1                 PolicyKit Authorization API
ii  libsgutils2-2     1.28-2                 utilities for working with generic
ii  libudev0          149-1                  libudev shared library
ii  udev              149-1                  /dev/ and hotplug management daemo

Versions of packages devicekit-disks recommends:
ii  dosfstools                  3.0.6-1      utilities for making and checking 
ii  hdparm                      9.15-1       tune hard disk parameters for high
ii  mtools                      4.0.10-1     Tools for manipulating MSDOS files
ii  ntfs-3g                     1:2009.4.4-1 read-write NTFS driver for FUSE
ii  ntfsprogs                   2.0.0-1      tools for doing neat things in NTF
ii  policykit-1                 0.95-1       framework for managing administrat

Versions of packages devicekit-disks suggests:
pn  cryptsetup                    <none>     (no description available)
pn  mdadm                         <none>     (no description available)
pn  reiserfsprogs                 <none>     (no description available)
pn  xfsprogs                      <none>     (no description available)

-- no debconf information






More information about the Pkg-utopia-maintainers mailing list