Summary: | dbus-daemon.exe consumes 50% of CPU and prevents application startup. | ||
---|---|---|---|
Product: | [Unmaintained] kde-windows | Reporter: | Bastiaan Veelo <Bastiaan> |
Component: | general | Assignee: | Patrick Spendrin <ps_ml> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | Bastiaan |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Microsoft Windows | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Bastiaan Veelo
2009-07-17 13:29:05 UTC
dbus-daemon --version reports 1.2.4. Just to let you know that this is still an issue. Today I have tried to install KDE 4.3.4 to see if the situation is improved, but it has become unworkable in this version. dbus-daemon.exe keeps coming back after killing and the program startup does not complete. I have set DBUS_VERBOSE=1 and run dbus-launch which produces this autput: 4088: Allocated slot 0 on allocator 1009D588 total 1 slots allocated 1 used 4088: Falling back to pseudorandom for 12 bytes 4088: read: count=1059 fd=3 4088: read: = 1059 4088: closed C file descriptor 3: 4088: Falling back to pseudorandom for 12 bytes 4088: Initialized server on address tcp:host=localhost,port=12434,guid=f90625d77 a288feee7ace3764b4e499c 4088: Adding a read watch on fd 416 using newly-set add watch function 4088: Adding a read watch on fd 428 using newly-set add watch function 4088: Allocated slot 0 on allocator 1009D524 total 1 slots allocated 1 used 4088: Fork not requested 4088: No pid file requested 4088: No pid pipe to write to 4088: full-duplex pipe 456:456 <-> 476:476 4088: _dbus_set_signal_handler() has to be implemented 4088: _dbus_set_signal_handler() has to be implemented 4088: We are on D-Bus... 4088: Running main loop, depth 0 -> 1 4088: select: to=-1 R:416 E:416 R:428 E:428 R:456 E:456 Then I run dbus-monitor which causes the following 10 lines to be repeated in an endless loop: select: = 1: R:416 Handling client connection, flags 0x1 4088: client fd -1 accepted 4088: Failed to accept a client connection: Bad address 4088: select: to=-1 R:416 E:416 R:428 E:428 R:456 E:456 The dbus-daemon version is still 1.2.4, and I tried separate installations of compiler versions msvc64, msvc32 and mingw4. dbus-monitor managed to produce the following output during this test. 2092: Filling in system bus address... 2092: used default system bus "tcp:host=localhost,port=12434" 2092: Filling in session bus address... 2092: "autolaunch:" 2092: Filling in activation bus address... 2092: "none set" 2092: opening shared connection to: autolaunch: 2092: checking for existing connection 2092: creating shared_connections hash table 2092: successfully created shared_connections 2092: found already running dbus daemon 2092: Successfully connected to tcp socket localhost:12434 2092: _dbus_getsid() returns 1 2092: client: going from state NeedSendAuth to state WaitingForData 2092: Initialized transport on address tcp:host=localhost,port=12434 2092: FIXME: implement _dbus_disable_sigpipe (void) 2092: LOCK: _dbus_connection_new_for_transport 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: check_read_watch: fd = 368 2092: setting read watch enabled = 0 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: check_write_watch(): needed = 1 on connection 02DA0048 watch 02DA0628 fd = 368 outgoing messag es exist 0 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: UNLOCK: _dbus_connection_new_for_transport 2092: LOCK: _dbus_connection_open_internal 2092: UNLOCK: _dbus_connection_open_internal 2092: Allocated slot 0 on allocator 1009D524 total 1 slots allocated 1 used 2092: LOCK: dbus_connection_get_data 2092: UNLOCK: dbus_connection_get_data 2092: LOCK: dbus_connection_set_data 2092: UNLOCK: dbus_connection_set_data 2092: LOCK: dbus_connection_send_with_reply 2092: Allocated slot 0 on allocator 1009D574 total 1 slots allocated 1 used 2092: UNLOCK: protected_change_timeout 2092: LOCK: protected_change_timeout 2092: Message 02DA1570 (1 /org/freedesktop/DBus org.freedesktop.DBus Hello '') for org.freedesktop.D Bus added to outgoing queue 02DA0048, 1 pending to send 2092: Message 02DA1570 serial is 1 2092: _dbus_connection_do_iteration_unlocked start 2092: UNLOCK: _dbus_connection_acquire_io_path 2092: _dbus_connection_acquire_io_path locking io_path_mutex 2092: _dbus_connection_acquire_io_path start connection->io_path_acquired = 0 timeout = 0 2092: _dbus_connection_acquire_io_path end connection->io_path_acquired = 1 we_acquired = 1 2092: _dbus_connection_acquire_io_path unlocking io_path_mutex 2092: LOCK: _dbus_connection_acquire_io_path 2092: Transport iteration flags 0x1 timeout -1 connected = 1 2092: iteration flags = write timeout = -1 read_watch = 02DA0658 write_watch = 02DA0628 fd = 368 2092: select: to=0 W:368 E:368 select: = 1: W:368 in iteration, need_read=0 need_write=1 2092: exchange_credentials: do_reading = 0, do_writing = 1 2092: send: len=1 fd=368 2092: send: = 1 2092: wrote 1 zero byte, credential sending isn't implemented yet 2092: client auth state: bytes to send 2092: send: len=104 fd=368 2092: send: = 104 2092: client: Sent 104 bytes of: AUTH EXTERNAL 532d312d352d32312d323230373238343234322d3232333436333 832382d3133333332363339322d31303030 2092: exchange_credentials: do_reading = 0, do_writing = 1 2092: client auth state: waiting for input 2092: check_read_watch: fd = 368 2092: setting read watch enabled = 1 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: check_write_watch(): needed = 0 on connection 02DA0048 watch 02DA0628 fd = 368 outgoing messag es exist 1 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: Not authenticated, not writing anything 2092: check_write_watch(): needed = 0 on connection 02DA0048 watch 02DA0628 fd = 368 outgoing messag es exist 1 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: ... leaving do_iteration() 2092: _dbus_transport_do_iteration end 2092: _dbus_connection_release_io_path locking io_path_mutex 2092: _dbus_connection_release_io_path start connection->io_path_acquired = 1 2092: _dbus_connection_release_io_path unlocking io_path_mutex 2092: _dbus_connection_do_iteration_unlocked end 2092: dispatch status = complete is_connected = 1 2092: UNLOCK: _dbus_connection_update_dispatch_status_and_unlock 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: _dbus_connection_lock 2092: doing iteration in _dbus_connection_flush_unlocked 2092: _dbus_connection_do_iteration_unlocked start 2092: UNLOCK: _dbus_connection_acquire_io_path 2092: _dbus_connection_acquire_io_path locking io_path_mutex 2092: _dbus_connection_acquire_io_path start connection->io_path_acquired = 0 timeout = -1 2092: _dbus_connection_acquire_io_path end connection->io_path_acquired = 1 we_acquired = 1 2092: _dbus_connection_acquire_io_path unlocking io_path_mutex 2092: LOCK: _dbus_connection_acquire_io_path 2092: Transport iteration flags 0x7 timeout -1 connected = 1 2092: iteration flags = readwrite timeout = -1 read_watch = 02DA0658 write_watch = 02DA0628 fd = 36 8 2092: unlock socket_do_iteration pre poll 2092: UNLOCK: _dbus_connection_unlock 2092: select: to=-1 R:368 E:368 ============> Here I killed dbus-daemon. lock socket_do_iteration post poll 2092: LOCK: _dbus_connection_lock 2092: in iteration, need_read=1 need_write=0 2092: exchange_credentials: do_reading = 1, do_writing = 0 2092: client auth state: waiting for input 2092: recv: count=2048 fd=368 2092: recv: failed: Connection reset by peer 2092: Error reading from remote app: Connection reset by peer 2092: _dbus_transport_disconnect start 2092: socket_disconnect 2092: free_watches start 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: Setting watch fd -1 data to data = 00000000 function = 00000000 from data = 00000000 function = 00000000 2092: UNLOCK: protected_change_watch 2092: LOCK: protected_change_watch 2092: Setting watch fd -1 data to data = 00000000 function = 00000000 from data = 00000000 function = 00000000 2092: free_watches end 2092: _dbus_close_socket: socket=368, 2092: _dbus_transport_disconnect end 2092: check_read_watch: fd = -1 2092: do_reading: fd = -1 2092: ... leaving do_iteration() 2092: _dbus_transport_do_iteration end 2092: _dbus_connection_release_io_path locking io_path_mutex 2092: _dbus_connection_release_io_path start connection->io_path_acquired = 1 2092: _dbus_connection_release_io_path unlocking io_path_mutex 2092: _dbus_connection_do_iteration_unlocked end 2092: _dbus_connection_flush_unlocked middle 2092: dispatch status = complete is_connected = 0 2092: Dropping 1 outgoing messages since we're disconnected 2092: Message 02DA1570 (1 /org/freedesktop/DBus org.freedesktop.DBus Hello '') removed from outgoing queue 02DA0048, 0 left to send 2092: Sending disconnect message from notify_disconnected_and_dispatch_complete_unlocked 2092: Synthesized message 02DA1688 added to incoming queue 02DA0048, 1 incoming 2092: UNLOCK: protected_change_timeout 2092: LOCK: protected_change_timeout 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: free_pending_call_on_hash_removal 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: connection_timeout_and_complete_all_pending_calls_unlocked 2092: Synthesized message 02DA00E0 added to incoming queue 02DA0048, 2 incoming 2092: dbus_connection_send_with_reply_and_block(): will block 25000 milliseconds for reply serial 1 from 1263424591 sec 918744 usec to 1263424616 sec 918744 usec 2092: check_for_reply_and_update_dispatch_unlocked checked for reply 2092: dbus_connection_send_with_reply_and_block(): got reply 2092: handing message 02DA1688 (error) to pending call serial 1 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: check_for_reply_and_update_dispatch_unlocked 2092: UNLOCK: _dbus_connection_update_dispatch_status_and_unlock 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: LOCK: _dbus_connection_lock 2092: UNLOCK: _dbus_connection_unlock 2092: Freeing slot 0 on allocator 1009D574 total 1 allocated 1 used 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref 2092: LOCK: _dbus_connection_close_possibly_shared 2092: Disconnecting 02DA0048 2092: _dbus_transport_disconnect start 2092: UNLOCK: _dbus_connection_update_dispatch_status_and_unlock 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref 2092: LOCK: dbus_connection_unref 2092: UNLOCK: dbus_connection_unref Failed to open connection to session message bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. This should have been fixed in a more recent version |