Deadlock in D-Bus when using gtk_dialog_run
Havoc Pennington
hp at redhat.com
Thu Apr 7 18:45:31 PDT 2005
On Wed, 2005-04-06 at 11:59 -0400, John (J5) Palmieri wrote:
> gnome-volume-manager is deadlocking dbus when trying to display the
> import photo dialog. Attached is the relevant debugging output - a gdb
> backtrace, relevant output of gnome-volume-manager with DBUS_VERBOSE
> turned on and the output of top.
>
The problem is that dispatch is called recursively, and it isn't meant
to be.
I thought this wasn't possible with the GLib main loop since the
dispatch stuff isn't G_SOURCE_CAN_RECURSE. However, I see that the IO
handler also calls dispatch.
If you can reliably reproduce the bug, try this: remove
dbus_connection_dispatch() calls from io_handler_dispatch in
dbus-gmain.c
I can imagine ways to just remove the no-recursive-dispatch restriction
but they all seem sort of complicated, so if the simple fix works we
should go with it for now I think.
Havoc
More information about the dbus
mailing list