dbus-monitor gets disconnected by dbus-broker for trying to send a message
While smoke-testing Bustle on a Fedora 32 computer I noticed that dbus-monitor
sometimes gets abruptly disconnected from the bus. I found the following in the journal:
May 20 23:26:09 gelf dbus-broker[2628]: Monitor :1.311 is being disconnected as it attempted to send a message.
Sure enough, strace confirms that it's trying to send a message:
$ strace -e write=3 dbus-monitor --pcap >ohno.pcap
...
sendmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\3\0\0\0\30\0\0\0\6\1s\0\6\0\0\0:1.322\0\0"..., iov_len=40}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 40
* 40 bytes in buffer 0
| 00000 6c 02 01 01 00 00 00 00 03 00 00 00 18 00 00 00 l............... |
| 00010 06 01 73 00 06 00 00 00 3a 31 2e 33 32 32 00 00 ..s.....:1.322.. |
| 00020 05 01 75 00 12 00 00 00 ..u..... |
Deserializing this with GDBusMessage
gives:
Type: method-return
Flags: no-reply-expected
Version: 0
Serial: 3
Headers:
reply-serial -> uint32 18
destination -> ':1.322'
Body: ()
UNIX File Descriptors:
(none)
Rather suspiciously, the last few messages in the pcap file are:
- AddMatch from :1.322 to org.freedesktop.DBus, serial 17
- org.freedesktop.DBus responding to that method call
- org.freedesktop.DBus responding to the invisible call with serial 18
- org.freedesktop.DBus.Local.Disconnected
That's as far as I got. :(