Corrupted message stream, disconnecting

Simon Burton simon at arrowtheory.com
Fri Mar 26 05:34:30 PDT 2010


On Fri, 26 Mar 2010 23:07:03 +1100
Simon Burton <simon at arrowtheory.com> wrote:

> 
> I am getting disconnected intermitantly
> from the dbus server. Found this message in the verbose output:
> 
> 15510: [dbus-transport.c(1160):_dbus_transport_queue_messages] Corrupted message stream, disconnecting
> 
> This is the latest git build.
> 
> It does not happen very often.
> 
> Is it a bug ? Or something I am doing ?


/**
 * Checks whether the loader is confused due to bad data.
 * If messages are received that are invalid, the
 * loader gets confused and gives up permanently.
 * This state is called "corrupted."
 *
 * @param loader the loader
 * @returns #TRUE if the loader is hosed.
 */
dbus_bool_t
_dbus_message_loader_get_is_corrupted (DBusMessageLoader *loader)
{
  _dbus_assert ((loader->corrupted && loader->corruption_reason != DBUS_VALID) ||
                (!loader->corrupted && loader->corruption_reason == DBUS_VALID));
  return loader->corrupted;
}

So it looks like I sent bad data. I'm not quite sure how to debug this.
I know which message it is that causes this, but it seems to only fail
on some days and not others.
Do I try to look at the raw (marshalled) dbus message ?
Or watch the dbus-daemon (loader->corrupted) with gdb ?

I am using libdbus so am surprised that it does not complain.

thanks.





More information about the dbus mailing list