=== modified file 'init/control.c' --- init/control.c 2013-04-22 10:30:09 +0000 +++ init/control.c 2013-10-16 10:30:56 +0000 @@ -1136,6 +1136,16 @@ NihListEntry *entry = (NihListEntry *)iter; DBusConnection *conn = (DBusConnection *)entry->data; + if ( dbus_connection_has_messages_to_send (conn)) { + /* The client is not responding to messages we are sending to it. + * This could be due to it not registering a mainloop + * handler (which is a bug), but either way we must ignore + * this connection to avoid libdbus caching the messages + * forever and potentially consuming all memory. + */ + continue; + } + NIH_ZERO (control_emit_event_emitted (conn, DBUS_PATH_UPSTART, event->name, event->env)); }