Hm, maybe you are right with your kernel presumption. It is quite possible.
Perhaps it is a bug in kded's media manager.
I did some more tests and found out that hal is not the absolute reason for
this problem.
After stopping kded's media manager and hald, restarting hald
with "hald --daemon=no --verbose=yes" i got the messages:
-insert the audio CD:
13:14:45.848 [D] addon-storage.c:458: Media insertion detected on /dev/scd0
13:14:45.848 [D] hald_dbus.c:1345:
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S,
key=storage.removable.media_available
13:14:45.849 [I] hald_dbus.c:2287: entering, local_interface=1
13:14:45.849 [D] hald_dbus.c:2296:
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S
13:14:45.849 [I] blockdev.c:1341: Entering,
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S
Run started hald-probe-storage (10000) (0)
! full path is '/usr/lib/hal/hald-probe-storage', program_dir
is '/usr/lib/hal'
13:14:45.855 [I] hald_dbus.c:4018: 22685: Got a connection
13:14:45.855 [I] hald_dbus.c:4019: dbus_connection_get_is_connected = 1
[22750]: 13:14:45.856 [D] probe-storage.c:153: Doing probe-storage
for /dev/scd0 (bus scsi) (drive_type cdrom)
(udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S)
(--only-check-for-fs==1)
[22750]: 13:14:45.857 [D] probe-storage.c:278: Checking for optical disc
on /dev/scd0
[22750]: 13:14:45.857 [D] probe-storage.c:286: Doing open ("/dev/scd0",
O_RDONLY | O_NONBLOCK | O_EXCL)
[22750]: 13:14:45.859 [D] probe-storage.c:351: media size = 1073741312
13:14:45.861 [I] hald_dbus.c:1070: storage.removable.media_available -> True
13:14:45.861 [I] hald_dbus.c:1054: storage.removable.media_size -> 1073741312
13:14:45.863 [I] hald_dbus.c:3969: Client to local_server was disconnected
13:14:45.863 [I] hald_dbus.c:4006: unregistered
/usr/lib/hal/hald-probe-storage exited
13:14:45.864 [I] blockdev.c:1297: hald-probe-storage --only-check-for-media
returned 2 (exit_type=0)
13:14:45.865 [I] blockdev.c:1313: Media insertion detected with file system on
main block device; synthesizing hotplug add
13:14:45.866 [I] hotplug.c:201: /sys/block/sr0/fakevolume is a block device
(devpath)
13:14:45.866 [I] blockdev.c:637: block_add:
sysfs_path=/sys/block/sr0/fakevolume dev=/dev/scd0 is_part=0,
parent=0x0821ba60
13:14:45.866 [I] blockdev.c:647: Handling /dev/scd0 as fakevolume -
sysfs_path_real=/sys/block/sr0
Run started hald-probe-volume (10000) (0)
! full path is '/usr/lib/hal/hald-probe-volume', program_dir
is '/usr/lib/hal'
13:14:45.955 [I] hald_dbus.c:4018: 22685: Got a connection
13:14:45.955 [I] hald_dbus.c:4019: dbus_connection_get_is_connected = 1
[22751]: 13:14:45.956 [D] probe-volume.c:361: Doing probe-volume for /dev/scd0
[22751]: 13:14:46.028 [D] probe-volume.c:369: volume.block_size = 2048
[22751]: 13:14:46.029 [D] probe-volume.c:373: volume.size = 1073741312
[22751]: 13:14:46.095 [D] probe-volume.c:404: Disc in /dev/scd0 has audio
[22751]: 13:14:46.096 [D] probe-volume.c:439: get_disc_type returned 0x00
[22751]: 13:14:46.099 [D] probe-volume.c:543: volume_session_count = 14
13:14:46.101 [I] hald_dbus.c:1046: volume.block_size -> 2048
13:14:46.101 [I] hald_dbus.c:1054: volume.size -> 1073741312
13:14:46.101 [I] hald_dbus.c:1038: volume.disc.type -> unknown
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.has_audio -> False
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.has_data -> False
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.is_blank -> False
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.is_appendable -> False
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.is_rewritable -> False
13:14:46.101 [I] hald_dbus.c:1070: volume.disc.has_audio -> True
13:14:46.103 [I] hald_dbus.c:3969: Client to local_server was disconnected
13:14:46.103 [I] hald_dbus.c:4006: unregistered
/usr/lib/hal/hald-probe-volume exited
13:14:46.104 [I] blockdev.c:352: entering; exit_type=0, return_code=0
13:14:46.114 [I] device_info.c:1530: *** Matched
file /usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi
13:14:46.115 [I] blockdev.c:125: Add callouts completed
udi=/org/freedesktop/Hal/devices/volume_part_1_size_1073741312
13:14:46.115 [I] hald.c:106: Added device to GDL;
udi=/org/freedesktop/Hal/devices/volume_part_1_size_1073741312
-remove the audio CD:
13:15:39.991 [D] addon-storage.c:434: Media removal detected on /dev/scd0
13:15:39.992 [D] hald_dbus.c:1345:
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S,
key=storage.removable.media_available
13:15:39.993 [D] hald_dbus.c:1345:
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S,
key=storage.partitioning_scheme
13:15:39.998 [I] hald_dbus.c:2287: entering, local_interface=1
13:15:39.998 [D] hald_dbus.c:2296:
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S
13:15:39.999 [I] blockdev.c:1341: Entering,
udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S
Run started hald-probe-storage (10000) (0)
! full path is '/usr/lib/hal/hald-probe-storage', program_dir
is '/usr/lib/hal'
13:15:40.006 [I] hald_dbus.c:4018: 22685: Got a connection
13:15:40.006 [I] hald_dbus.c:4019: dbus_connection_get_is_connected = 1
[22773]: 13:15:40.020 [D] probe-storage.c:153: Doing probe-storage
for /dev/scd0 (bus scsi) (drive_type cdrom)
(udi=/org/freedesktop/Hal/devices/storage_model_CD_R___PX_W1210S)
(--only-check-for-fs==1)
[22773]: 13:15:40.020 [D] probe-storage.c:278: Checking for optical disc
on /dev/scd0
[22773]: 13:15:40.021 [D] probe-storage.c:286: Doing open ("/dev/scd0",
O_RDONLY | O_NONBLOCK | O_EXCL)
13:15:40.027 [I] hald_dbus.c:1070: storage.removable.media_available -> False
13:15:40.028 [I] hald_dbus.c:3969: Client to local_server was disconnected
13:15:40.028 [I] hald_dbus.c:4006: unregistered
/usr/lib/hal/hald-probe-storage exited
13:15:40.030 [I] blockdev.c:1297: hald-probe-storage --only-check-for-media
returned 0 (exit_type=0)
13:15:40.030 [I] blockdev.c:1321: Media removal detected; synthesizing hotplug
rem for fakevolume /org/freedesktop/Hal/devices/volume_part_1_size_1073741312
13:15:40.030 [I] hotplug.c:153: /sys/block/sr0/fakevolume is a block device
(store)
13:15:40.030 [I] blockdev.c:1243: block_rem:
sysfs_path=/sys/block/sr0/fakevolume
13:15:40.031 [I] blockdev.c:139: Remove callouts completed
udi=/org/freedesktop/Hal/devices/volume_part_1_size_1073741312
13:15:40.031 [I] hald.c:127: Removed device from GDL;
udi=/org/freedesktop/Hal/devices/volume_part_1_size_1073741312
No system freeze or any other bad behavior.
Sorry for the inconvenience.
So long!
René Peters