Comment 48 for bug 1235649

Revision history for this message
James Hunt (jamesodhunt) wrote : Re: uevent spam causes session upstart to consume massive amounts of memory on Ubuntu Touch

This problem can now be demonstrated with a single connection to upstart that makes the following calls:

dbus_connection_open()
nih_dbus_proxy_new ()

The problem is not seen if the app instead calls:

           - nih_dbus_connect (upstart_session, disconnect_handler)
           - nih_dbus_proxy_new ()
           - nih_main_loop()

Or,

           - nih_dbus_connect (upstart_session, NULL)
           - nih_dbus_proxy_new ()
           - nih_main_loop()

Specifically, the problem appears to be that when an app calls dbus_connection_open(), one or more of the functions in nih_dbus_setup() should be being called to allow libdbus to interrupt the apps main loop and request callbacks are run to clean up resources.