Crash in _dbus_connection_block_pending_call

John (J5) Palmieri johnp at
Fri Jun 9 08:43:26 PDT 2006

Ok, we are getting somewhere.  Do you know if your distro compiles with
--enable-checks?  I would like you to compile dbus with the distro's
flags and add -O0 -ggdb3 so we get an even better backtrace.  Right now
it still doesn't make any sense.  We are crashing on a sequence similar
to this:

list = &connection->incoming_messages;
return *list;

This only makes sense if connection itself is hosed. Though if that was
the case I would have expected it to crash far sooner.
On Fri, 2006-06-09 at 15:59 +0200, Timo Hoenig wrote:
> Hi,
> On Thu, 2006-06-08 at 14:52 -0400, John (J5) Palmieri wrote:
> > I need a better backtrace with debugging info.
> > _dbus_connection_block_pending_call doesn't call
> > _dbus_list_get_first_link directly.  I need to know the exact line it is
> > crashing on in _dbus_connection_block_pending_call.  Please run NM in
> > GDB with the debugging packages installed for dbus, glibc and NM.  Lets
> > see if that gives us enough information.
> As mentioned before it is very racy.  I can reproduce this only at boot
> time.  Any hints on how to get a gdb backtrace with this are highly
> appreciated.  Anyway, I've uploaded a trace which is a bit more verbose
> [1].
> Once the first invocation of
> check_for_reply_and_update_dispatch_unlocked (line 2560 in
> dbus-connection.c) is removed everything works as expected.  That's
> basically the fix of the block on poll issue, isn't it?  Havoc suggested
> to scan the message queue for a reply in [2].
> Thanks,
>    Timo
> [1] NM log when crashing (verbose)
> [2] Re: [TEST CASE] pending call stuck in poll bug

More information about the dbus mailing list