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