On Thu, Dec 1, 2011 at 11:32 AM, Patrick Ohly <[email protected]> wrote: > Hello! > > I've changed the automatic testing so that syncevo-dbus-server is > started under valgrindcheck.sh by test-dbus.py. This revealed some minor > memory leaks and broken memory accesses (typically read after free). I > I've fixed all of that, see master branch. >
Nice. > The last remaining issue seems to be a leak in the error path of GIO > GDBus: when a service is not available, > g_dbus_connection_new_for_address_sync() leaks some memory. > > http://syncev.meego.com/2011-12-01-10-06_syncevolution_dbus_gio-gdbus/gio-gdbus/6-dbus/output.txt > > ==10608== 60 (16 direct, 44 indirect) bytes in 1 blocks are definitely lost > in loss record 911 of 1,653 > ==10608== at 0x4C27673: malloc (vg_replace_malloc.c:263) > ==10608== by 0x7FABC02: g_malloc (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x7FC0976: g_slice_alloc (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x7F9045F: g_error_copy (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x76700B1: ??? (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x761465E: g_initable_new_valist (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x7614748: g_initable_new (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x766EB1E: g_dbus_connection_new_for_address_sync (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x597E08: GDBusCXX::dbus_get_bus_connection(char const*, char > const*, bool, GDBusCXX::DBusErrorCXX*) (gdbus-cxx-bridge.cpp:58) > ==10608== by 0x583CB8: > SyncEvo::ConnmanClient::ConnmanClient(SyncEvo::Server&) > (connman-client.cpp:30) > ==10608== by 0x541730: SyncEvo::Server::Server(_GMainLoop*, bool&, > boost::shared_ptr<SyncEvo::Restart>&, GDBusCXX::DBusConnectionPtr const&, > int) (server.cpp:239) > ==10608== by 0x52141B: main (main.cpp:113) > > ==10608== 60 (16 direct, 44 indirect) bytes in 1 blocks are definitely lost > in loss record 912 of 1,653 > ==10608== at 0x4C27673: malloc (vg_replace_malloc.c:263) > ==10608== by 0x7FABC02: g_malloc (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x7FC0976: g_slice_alloc (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x7F9045F: g_error_copy (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.2) > ==10608== by 0x76700B1: ??? (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x761465E: g_initable_new_valist (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x7614748: g_initable_new (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x766EB1E: g_dbus_connection_new_for_address_sync (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3000.2) > ==10608== by 0x597E08: GDBusCXX::dbus_get_bus_connection(char const*, char > const*, bool, GDBusCXX::DBusErrorCXX*) (gdbus-cxx-bridge.cpp:58) > ==10608== by 0x58A9EE: > SyncEvo::NetworkManagerClient::NetworkManagerClient(SyncEvo::Server&) > (network-manager-client.cpp:31) > ==10608== by 0x541747: SyncEvo::Server::Server(_GMainLoop*, bool&, > boost::shared_ptr<SyncEvo::Restart>&, GDBusCXX::DBusConnectionPtr const&, > int) (server.cpp:239) > ==10608== by 0x52141B: main (main.cpp:113) > > Chris, do you agree that this isn't something caused by our code? > > If yes, then I'll suppress this particular problem. > Just took some time to look at that and I can't see how the syncevo code could cause this. So, yeah, suppressing this sounds right. Cheers, Chris _______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
