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