Crash when using HAL in multiple libraries
William Jon McCann
mccann at jhu.edu
Wed Jun 7 07:39:23 PDT 2006
Hi David,
David Zeuthen wrote:
> On Tue, 2006-06-06 at 23:53 +0100, Bastien Nocera wrote:
>
>>Heya,
>>
>>Rhythmbox has some problems running on my system, when a CD is in the
>>drive. That's because Rhythmbox itself, and 2 libraries it depends on
>>(libnautilus-burn and libtotemplparser) rely on HAL themselves.
>>
>>#1 0x0019d4a7 in dbus_connection_dispatch () from /lib/libdbus-1.so.2
>>#2 0x00a9210d in dbus_server_setup_with_g_main ()
>>from /usr//lib/libdbus-glib-1.so.2
>>#3 0x00c1109d in g_main_context_dispatch ()
>>from /usr//lib/libglib-2.0.so.0
>>#4 0x00c1432f in g_main_context_check ()
>>from /usr//lib/libglib-2.0.so.0
>>#5 0x00c146d9 in g_main_loop_run () from /usr//lib/libglib-2.0.so.0
>>#6 0x029d2594 in gtk_main () from /usr//lib/libgtk-x11-2.0.so.0
>>#7 0x0806d2f5 in main (argc=1, argv=0xbfd88f64) at main.c:375
>>
>>No asserts, or anything like that. I was wondering whether someone could
>>take a quick look at this bit of code from Totem's playlist parser and
>>let me know whether I'm doing something plain stupid with HAL. I mostly
>>just copied code from the other 2 programs involved, which might explain
>>the problems.
>
>
> You might want to try to use dbus_bus_get_private() instead of
> dbus_bus_get() in your libraries. Notwithstanding, this should work so
> it may be a bug in libhal or libdbus (more likely it's libhal). But it
> would be interesting to see if using _private() makes a difference.
Nice, I didn't know about dbus_bus_get_private. Just to clarify... In
this case, unlike dbus_bus_get, the caller owns the reference to the
connection. Should this ownership transfer to libhal when
libhal_ctx_set_dbus_connection is used? In other words who should be
responsible for unreffing it?
Thanks,
Jon
More information about the hal
mailing list