This is a repository of Valgrind suppression files intended to be used to detect memory leaks in GNOME software using Valgrind. The goals of this project are:
-
The suppression files should never suppress a real issue (such as a memory leak).
-
Unavoidable leaks should be suppressed.
For example, any allocations by
gdk_display_manager_get()
can be ignored because there is no API function to clean up aftergdk_display_manager_get()
, and the return semantics are "transfer none". -
As many issues as possible should be suppressed without suppressing a real issue.
The idea here is to cut down on the volume of output, which can be confusing and bury the real issue. For example, if a hash table is created, and many key/value pairs are inserted into this map (causing the hash table to be re-allocated), but the program fails to destroy the hash table, preferably only one leak will be reported.
You will need Valgrind, GNU Make, and sed
.
-
Clone the git repository:
git clone https://github.com/dtrebbien/GNOME.supp.git
-
Open a terminal and
cd
intoGNOME.supp
. -
make
GNU Make will generate suppression (SUPP) files in the project root. To use them with Valgrind, pass a --suppressions=SUPP_FILE
option for each suppression file that you would like to use. For example, to use the suppressions in glib.supp
, you would pass --suppressions=/path/to/GNOME.supp/glib.supp
to Valgrind.
See the Valgrind page on GNOME Live! for tips on using Valgrind to detect memory leaks in GNOME software.
The contents of the suppression files are Public Domain.
Any other code is licensed under the GNU General Public License, either version 3 of the GPL, or (at your option) any later version.