DBus error: message changed byte order...

David Jonathan djonathan at cox.net
Tue Jan 13 14:57:10 PST 2009


I have cross-compiled dbus-1.2.4.4permissive for ARM,
and the configure and compile look correct for little-endian.

Installed on my PXA270 running 2.6.24.4,  dbus-daemon
appears to start OK, albeit with the warning about inotify:

   dbus-daemon --system --nofork
   Cannot initialize inotify

When I try "dbus-monitor --system --monitor" it aborts with:

   process 2557: dbus message changed byte order since append iterator was created

I added debug to dbus/dbus-message.c: _dbus_message_iter_check()
and see that while iter->message->byte_order is 0x6c ('l') as expected,
iter->u.writer.byte_order is 0, which results in the abort.

I captured the VERBOSE output when starting dbus-monitor,
see below.

I tried compiling dbus with -rdynamic to enable the backtrace,
but dbus-daemon won't start because, according to strace,
attempts to get memory keep failing.  More details on that
if anyone's interested...

-David

root at 0838-99000048:/tmp# dbus-monitor --system --monitor
dbus-monitor: calling dbus_error_init()
dbus-monitor: calling dbus_bus_get()
2557: Filling in system bus address...
2557:   used default system bus "unix:path=/usr/local/var/run/dbus/system_bus_socket"
2557: Filling in session bus address...
2557:   "autolaunch:"
2557: Filling in activation bus address...
2557:   "none set"
2557: opening shared connection to: unix:path=/usr/local/var/run/dbus/system_bus_socket
2557: checking for existing connection
2557: creating shared_connections hash table
2557:   successfully created shared_connections
2557: connecting to unix socket /usr/local/var/run/dbus/system_bus_socket abstract=0
2557: socket fd 3 opened
2557: Successfully connected to unix socket /usr/local/var/run/dbus/system_bus_socket
2557: client: going from state NeedSendAuth to state WaitingForData
2557: Initialized transport on address unix:path=/usr/local/var/run/dbus/system_bus_socket
2557:   LOCK: _dbus_connection_new_for_transport
2557:   UNLOCK: protected_change_watch
2557:   LOCK: protected_change_watch
2557:   UNLOCK: protected_change_watch
2557:   LOCK: protected_change_watch
2557: check_read_watch: fd = 3
2557:   setting read watch enabled = 0
2557:   UNLOCK: protected_change_watch
2557:   LOCK: protected_change_watch
2557: check_write_watch(): needed = 1 on connection 0x12768 watch 0x12398 fd = 3 outgoing messages exist 0
2557:   UNLOCK: protected_change_watch
2557:   LOCK: protected_change_watch
2557:   UNLOCK: _dbus_connection_new_for_transport
2557:   LOCK: _dbus_connection_open_internal
2557:   UNLOCK: _dbus_connection_open_internal
2557: Allocated slot 0 on allocator 0x400633e8 total 1 slots allocated 1 used
2557:   LOCK: dbus_connection_get_data
2557:   UNLOCK: dbus_connection_get_data
2557:   LOCK: dbus_connection_set_data
2557:   UNLOCK: dbus_connection_set_data
2557:   LOCK: dbus_connection_send_with_reply
2557: Allocated slot 0 on allocator 0x40063430 total 1 slots allocated 1 used
DEBUG: message_iter_check(): writer.byte_order: 0x0  message->byte_order: 0x6c
process 2557: dbus message changed byte order since append iterator was created
  D-Bus not built with -rdynamic so unable to print a backtrace
Aborted




More information about the dbus mailing list