Endianness issues with systemd <-> dbus communication
Fridrich Strba
fridrich.strba at suse.com
Mon Mar 10 09:04:34 PDT 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
On 10/03/14 16:58, Martin Vidner wrote:
>> We detected that the very first handshake of every message from
>> the dbus-daemon does not show the correct header type which would
>> be of the type SD_BUS_MESSAGE_METHOD_RETURN aka 1 or type
>> SD_BUS_MESSAGE_METHOD_ERROR aka 2.
>
> Actually, INVALID = 0 METHOD_CALL = 1 METHOD_RETURN = 2 ERROR = 3
> SIGNAL = 4
Sorry, I typed quickly and did not verify after me. You are right.
>> We compared the strace on LE systems with that one on s390x and
>> we discovered that there is a difference: LE:
>> msg_iov(1)=[{"l\2\1\1\v\0\0\0\1\0\0\0=\0\0\0\6\1s\0\6\0\0\0",
>> 24}] s390x:
>> msg_iov(1)=[{"B\4\1\1\0\0\0\n\0\0\0\2\0\0\0\215\1\1o\0\0\0\0\25",
>> 24}]
>>
>> On big endian as on s390x the type is 4 which is
>> SD_BUS_MESSAGE_SIGNAL.
>>
>> Any idea to help to debug?
>
> Maybe this little tool will make the straces more readable:
> https://github.com/mvidner/dbus-dump
Actually, we have some more data-point:
On both x86_64 and s390x the systemd dbus manager sends the initial
message:
type=method_call sender=n/a destination=org.freedesktop.DBus
object=/org/freedesktop/DBus interface=org.freedesktop.DBus
object=/org/freedesktop/DBus interface=org.freedesktop.DBus
member=Hello cookie=1 reply_cookie=0
on both s390x and x86_64 the message:
type=method_return sender=org.freedesktop.DBus destination=:1.0
object=n/a interface=n/a member=n/a cookie=1 reply_cookie=1
is returned but on s390x a further message is returned
type=signal sender=org.freedesktop.DBus destination=:1.0
object=/org/freedesktop/DBus interface=org.freedesktop.DBus
member=NameAcquired cookie=2 reply_cookie=0
causing systemd dbus manager to stop this connection.
Anybody has a clue what might be going on there?
Fridrich
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlMd4pEACgkQu9a1imXPdA/txQCfWze0/7jT1SNqf+r0eRMJHmY3
d0oAnj+mYRNnZRbBWCAbfLJxd1z+/zLE
=qqQI
-----END PGP SIGNATURE-----
More information about the dbus
mailing list