thread locking

Joe Shaw joeshaw at novell.com
Tue Feb 15 10:31:17 PST 2005


Hi,

On Mon, 2005-02-14 at 21:05 -0500, Havoc Pennington wrote:
> If you can send me some of this info or a testcase I'll look at it.

Ok, attaching the log with additional verbosity and a stack trace.
Unfortunately nothing particularly interesting in the trace... after the
bit that I've attached it goes into mono-related emptiness.  My attempt
to see where dbus_connection_send is getting called is being thwarted by
gdb at the moment.  Will try again soon.

Would a mono test case be ok?  I think that'd be a lot easier to whip
up.

Joe
-------------- next part --------------
27747: 0x8003: dbus_connection_dispatch
27747: 0x8003:   LOCK: dbus_connection_dispatch
27747: 0x8003: dbus_connection_dispatch acquiring dispatch lock
27747: 0x8003:   UNLOCK: _dbus_connection_acquire_dispatch
27747: 0x8003: _dbus_connection_acquire_dispatch locking dispatch_mutex
27747: 0x8003: _dbus_connection_acquire_dispatch unlocking dispatch_mutex
27747: 0x8003:   LOCK: _dbus_connection_acquire_dispatch
27747: 0x8003: Message 0x8ba7bc0 (4 /com/novell/BeagleIndexHelper/Index/FileSystemIndex com.novell.BeagleIndexHelper.Indexer FlushCompleteEvent '') removed from incoming queue 0x845e968, 0 incoming
27747: 0x8003:  dispatching message 0x8ba7bc0 (4 com.novell.BeagleIndexHelper.Indexer FlushCompleteEvent '')
27747: 0x8003:   UNLOCK: dbus_connection_dispatch
27747: 0x8003:   running filter on message 0x8ba7bc0
27747: 0x8003:   finished running filter
27747: 0x8003:   running filter on message 0x8ba7bc0
27747: 0x8003:   LOCK: dbus_connection_send
27747: 0x8003: Message 0x8ba84d8 (1 /com/novell/BeagleIndexHelper/Index/FileSystemIndex com.novell.BeagleIndexHelper.Indexer Close '') for com.novell.BeagleIndexHelper added to outgoing queue 0x845e968, 1 pending to send
27747: 0x8003: Message 0x8ba84d8 serial is 15
27747: 0x8003: _dbus_connection_do_iteration_unlocked start
27747: 0x8003:   UNLOCK: _dbus_connection_acquire_io_path
27747: 0x8003: _dbus_connection_acquire_io_path locking io_path_mutex
27747: 0x8003: _dbus_connection_acquire_io_path start connection->io_path_acquired = 0 timeout = 0
27747: 0x8003: _dbus_connection_acquire_io_path end connection->io_path_acquired = 1 we_acquired = 1
27747: 0x8003: _dbus_connection_acquire_io_path unlocking io_path_mutex
27747: 0x8003:   LOCK: _dbus_connection_acquire_io_path
27747: 0x8003: Transport iteration flags 0x1 timeout -1 connected = 1
27747: 0x8003:  iteration flags = write timeout = -1 read_watch = 0x844ce20 write_watch = 0x844cdf8 fd = 21
27747: 0x8003: do_writing(), have_messages = 1, fd = 21
27747: 0x8003:  wrote 184 bytes of 184
27747: 0x8003: Message 0x8ba84d8 (1 /com/novell/BeagleIndexHelper/Index/FileSystemIndex com.novell.BeagleIndexHelper.Indexer Close '') removed from outgoing queue 0x845e968, 0 left to send
27747: 0x8003: check_write_watch(): needed = 0 on connection 0x845e968 watch 0x844cdf8 fd = 21 outgoing messages exist 0
27747: 0x8003:   UNLOCK: protected_change_watch
27747: 0x8003:   LOCK: protected_change_watch
27747: 0x8003:  ... leaving do_iteration()
27747: 0x8003: _dbus_transport_do_iteration end
27747: 0x8003: _dbus_connection_release_io_path locking io_path_mutex
27747: 0x8003: _dbus_connection_release_io_path start connection->io_path_acquired = 1
27747: 0x8003: _dbus_connection_release_io_path unlocking io_path_mutex
27747: 0x8003: _dbus_connection_do_iteration_unlocked end
27747: 0x8003: _dbus_connection_send_preallocated_and_unlock middle
27747: 0x8003: dispatch status = complete is_connected = 1
27747: 0x8003:   UNLOCK: _dbus_connection_update_dispatch_status_and_unlock
27747: 0x8003:   LOCK: dbus_connection_flush
27747: 0x8003: dbus_connection_flush middle
27747: 0x8003: dispatch status = complete is_connected = 1
27747: 0x8003:   UNLOCK: _dbus_connection_update_dispatch_status_and_unlock
27747: 0x8003: dbus_connection_flush end
27747: 0x8003:   LOCK: _dbus_connection_block_for_reply
27747: 0x8003: dbus_connection_send_with_reply_and_block(): will block 25000 milliseconds for reply serial 15 from 1108491559 sec 906112 usec to 1108491584 sec 906112 usec
27747: 0x8003: _dbus_connection_block_for_reply acquiring dispatch lock
27747: 0x8003:   UNLOCK: _dbus_connection_acquire_dispatch
27747: 0x8003: _dbus_connection_acquire_dispatch locking dispatch_mutex
27747: 0x8003: _dbus_connection_acquire_dispatch waiting for dispatch to be acquirable
-------------- next part --------------
#0  0x400d10c4 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1  0x400cff38 in __pthread_wait_for_restart_signal ()
   from /lib/libpthread.so.0
#2  0x400cd80c in pthread_cond_wait at GLIBC_2.0 () from /lib/libpthread.so.0
#3  0x40b737f5 in dbus_gcondvar_wait (cond=0x8456be8, mutex=0x845ea10)
    at dbus-gthread.c:125
#4  0x40bf07a7 in dbus_condvar_wait (cond=Variable "cond" is not available.
) at dbus-threads.c:149
#5  0x40bd1ead in _dbus_connection_acquire_dispatch (connection=Variable "connection" is not available.
)
    at dbus-connection.c:2766
#6  0x40bd47e4 in _dbus_connection_block_for_reply (connection=0x845e968,
    client_serial=15, timeout_milliseconds=25000) at dbus-connection.c:2269
#7  0x40bd551d in dbus_connection_send_with_reply_and_block (
    connection=0x845e968, message=0x8ba84d8, timeout_milliseconds=-1,
    error=0xbf5ff364) at dbus-connection.c:2413


More information about the dbus mailing list