udev segfaults in udev_monitor_enable_receiving when netlink doesn't work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rhythmbox (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Lucid |
Invalid
|
Undecided
|
Unassigned | ||
Maverick |
Invalid
|
Undecided
|
Unassigned | ||
udev (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Lucid |
Won't Fix
|
Undecided
|
Unassigned | ||
Maverick |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: udev
In Ubuntu lucid running udev 151, it's possible to call udev_monitor_
Rather than segfaulting, udev_monitor_
Here's an example with rhythmbox:
-----
(rhythmbox:27375): GVFS-RemoteVolu
[New Thread 0x7fffe9ea2710 (LWP 27380)]
libudev: udev_monitor_
-----
At this point, rhythmbox segfaults and I get the following backtrace:
-----
#0 udev_monitor_
#1 0x00007ffff1d1cc6c in g_udev_
#2 0x00007ffff38a1a58 in IA__g_object_newv (object_type=<value optimized out>, n_parameters=<value optimized out>, parameters=0x0) at /build/
#3 0x00007ffff38a22ad in IA__g_object_
#4 0x00007ffff38a24f1 in IA__g_object_new (object_
#5 0x00007ffff1d1c8b2 in g_udev_client_new (subsystems=
#6 0x00007ffff7aef89b in rb_removable_
#7 0x00007ffff38bc935 in IA__g_type_
#8 0x00007ffff38a083c in g_object_
#9 0x00007ffff38a1841 in IA__g_object_newv (object_type=<value optimized out>, n_parameters=1, parameters=<value optimized out>) at /build/
#10 0x00007ffff38a22ad in IA__g_object_
#11 0x00007ffff38a24f1 in IA__g_object_new (object_
#12 0x00007ffff7adb0aa in construct_sources (shell=0x81c010) at rb-shell.c:1388
#13 0x00007ffff7adce6c in rb_shell_
#14 0x00007ffff38a1a58 in IA__g_object_newv (object_type=<value optimized out>, n_parameters=<value optimized out>, parameters=0x0) at /build/
#15 0x00007ffff38a22ad in IA__g_object_
#16 0x00007ffff38a24f1 in IA__g_object_new (object_
#17 0x00007ffff7ad8fd2 in rb_shell_new (no_registration=0, no_update=0, dry_run=0, rhythmdb=0x0, playlists=0x0) at rb-shell.c:1116
#18 0x0000000000403e22 in main (argc=1, argv=0x7fffffff
-----
Manually editing udev_monitor_
My guess would be that the structure received as parameter to the udev_monitor_
I know that using lucid in a container on top of an older kernel (in this case Hardy's) is not recommended and is known to fail.
Most users doing that know that, though I believe that if something can be fixed in udev to correctly fail rather than segfault, it's still worth fixing.
Please let me know if you need any additional information on that environment.