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