Public bug reported:

Binary package hint: rhythmbox

When I plug in an ipod with rhythmbox started, it is rejected with:

rb-removable-media-manager.c:592: Unhandled media

I've tracked this down to a bad interaction with gnomevfs.  I added some
debug output to volume_added_cb and mount_added_cb, just printing
"VOLUME ADDED" or "MOUNT ADDED".  With this output, I get:

(19:50:17) [0x924c408] [volume_added_cb] rb-removable-media-manager.c:483: 
VOLUME ADDED
(19:50:17) [0x924c408] [dump_volume_identifiers] 
rb-removable-media-manager.c:554: uuid = 3141-5926
(19:50:17) [0x924c408] [dump_volume_identifiers] 
rb-removable-media-manager.c:554: hal-udi = 
/org/freedesktop/Hal/devices/volume_uuid_3141_5926
(19:50:17) [0x924c408] [dump_volume_identifiers] 
rb-removable-media-manager.c:554: unix-device = /dev/sdb1
(19:50:17) [0x924c408] [dump_volume_identifiers] 
rb-removable-media-manager.c:554: label = IRIS
(19:50:17) [0x924c408] [rb_removable_media_manager_add_volume] 
rb-removable-media-manager.c:592: Unhandled media
(19:50:17) [0x924c408] [volume_removed_cb] rb-removable-media-manager.c:492: 
VOLUME REMOVED
(19:50:17) [0x924c408] [rb_removable_media_manager_remove_volume] 
rb-removable-media-manager.c:605: volume removed

This shows that gnomevfs is only sending the "volume-added" signal when
the ipod is plugged in (or else the "mount-added" signal is not
connected right).  However, the ipod plugin's create_source_cb takes a
GMount, so I believe it will not work with the volume signal.

I'm not sure if this means that the ipod plugin needs to be updated to
work with volume-added, or gnomevfs is supposed to be sending the mount-
added signal.  The lshal output is:

udi = '/org/freedesktop/Hal/devices/volume_uuid_3141_5926'
  access_control.file = '/dev/sdb1'  (string)
  access_control.type = 'removable-block'  (string)
  block.device = '/dev/sdb1'  (string)
  block.is_volume = true  (bool)
  block.major = 8  (0x8)  (int)
  block.minor = 17  (0x11)  (int)
  block.storage_device = 
'/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000A27001A319B1B_0_0'  
(string)
  info.callouts.add = {'hal-acl-tool --add-device', 'libgpod-callout'} (string 
list)
  info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
  info.capabilities = {'volume', 'block', 'access_control'} (string list)
  info.category = 'volume'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
  info.parent = 
'/org/freedesktop/Hal/devices/storage_serial_Apple_iPod_000A27001A319B1B_0_0'  
(string)
  info.product = 'IRIS'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_3141_5926'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host5/target5:0:0/5:0:0:0/block/sdb/sdb1'
  (string)
  org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype 
extra_options', 'extra_options', 'extra_options'} (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 
'hal-storage-unmount', 'hal-storage-eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 
'Eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} 
(string list)
  volume.block_size = 4096  (0x1000)  (int)
  volume.fstype = 'vfat'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.ignore = false  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = true  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = true  (bool)
  volume.label = 'IRIS'  (string)
  volume.linux.is_device_mapper = false  (bool)
  volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 
'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 
'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush'} 
(string list)
  volume.mount_point = '/tmp/ipodJJ1I8A'  (string)
  volume.num_blocks = 15531016  (0xecfc08)  (uint64)
  volume.partition.media_size = 7952142336  (0x1d9fc1000)  (uint64)
  volume.partition.number = 1  (0x1)  (int)
  volume.partition.start = 258048  (0x3f000)  (uint64)
  volume.size = 7951880192  (0x1d9f81000)  (uint64)
  volume.unmount.valid_options = {'lazy'} (string list)
  volume.uuid = '3141-5926'  (string)

Notice that volume.is_mounted is true.  Also, both the given mount point
/tmp/ipodJJ1l8A and /media/IRIS exist, and the ipod is mounted there.
So I suspect gnomevfs is supposed to be sending mount-added.

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
NonfreeKernelModules: wl
Package: rhythmbox 0.12.0-0ubuntu4
ProcEnviron:
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
SourcePackage: rhythmbox
Uname: Linux 2.6.28-15-generic i686

** Affects: rhythmbox (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug i386

-- 
rhythmbox does not detect ipod (gets volume_added; needs mount_added)
https://bugs.launchpad.net/bugs/457751
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to rhythmbox in ubuntu.

-- 
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to