Running D-Bus clients with Valgrind ==== When running programs using libdbus in Valgrind, some special care needs to be taken so as to avoid incorrect detection of leaks in libdbus. To avoid these false positives, do the following: * Grab a copy of the D-Bus source code * Run configure with the --enable-developer and --with-valgrind options * Run make * Either make sure your code calls dbus_shutdown() (at least while running in Valgrind) or set DBUS_MESSAGE_CACHE=0 in your environment * Run Valgrind on your program with the /path/to/dbus/source/dbus/.libs in your LD_LIBRARY_PATH Your Valgrind log should now be free of any (spurious) libdbus-related leaks. For the curious, the DBUS_MESSAGE_CACHE=0 is required because by default, libdbus uses a recyclable pool of message structs. These help performance a bit.