summaryrefslogtreecommitdiff
path: root/scripts/valgrind.sup
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <thiago@mapbox.com>2015-03-18 16:24:55 +0200
committerThiago Marcos P. Santos <thiago@mapbox.com>2015-03-20 14:38:08 +0200
commit1ffe2dd615a9cdca3cd785e19dd5a63fb1b5181c (patch)
treeb0d5aa797f20166f0babaca730f29e02933f9ac2 /scripts/valgrind.sup
parentceb7049389abffa5e2e4b60239c2af189eb8420d (diff)
downloadqtlocation-mapboxgl-1ffe2dd615a9cdca3cd785e19dd5a63fb1b5181c.tar.gz
Add a reference Valgrind suppresion file
When using Valgrind for debugging memory leaks and access violations, we often see a lot of false positives, specially when dealing with OpenGL that does it own buffer management. This file is an attempt to filter these false positives. Note that we are only filtering for the open source Radeon driver and the list will probably grow to accommodate other setups. To use the Valgrind with the suppression file for hunting memory leaks, try something like: valgrind --leak-check=full --track-origins=yes --suppressions=[path/to/valgrind.sup] ./mapbox-gl
Diffstat (limited to 'scripts/valgrind.sup')
-rw-r--r--scripts/valgrind.sup91
1 files changed, 91 insertions, 0 deletions
diff --git a/scripts/valgrind.sup b/scripts/valgrind.sup
new file mode 100644
index 0000000000..fcde049d9c
--- /dev/null
+++ b/scripts/valgrind.sup
@@ -0,0 +1,91 @@
+{
+ Valgrind gets confused with buffers managed by the graphics driver
+ Memcheck:Leak
+ ...
+ obj:/usr/*/dri/r600_dri.so
+ ...
+}
+{
+ GLFW _glfwCreateCursor()
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ ...
+ obj:/usr/*/libX11.so.6.3.0
+ ...
+ fun:_glfwCreateCursor
+ ...
+}
+{
+ GLFW _glfwPlatform*()
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ ...
+ fun:_glfwPlatform*
+ ...
+}
+{
+ Buffer managed by OpenGL?
+ Memcheck:Cond
+ ...
+ fun:_ZN4mbgl*Uniform*
+ ...
+ fun:_ZN8GLFWView10invalidateEv
+ ...
+}
+{
+ Buffer managed by OpenGL?
+ Memcheck:Cond
+ fun:_ZNSt7__equalILb0EE5equalIPKfS3_EEbT_S4_T0_
+ ...
+ fun:_ZN4mbgl7Painter11renderLayerERKNS_10StyleLayerEPKNS_4Tile2IDEPKSt5arrayIfLm16EE
+}
+{
+ Valgrind doesn't like our make_unique (C++14 polyfill)
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc
+ ...
+ fun:_ZN4mbgl4util11make_unique*
+ ...
+}
+{
+ dlopen doing its magic
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ ...
+ fun:_dl_open
+ ...
+}
+{
+ X11 false positive
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ ...
+ obj:/usr/*/libX11.so.6.3.0
+ ...
+ fun:_XrmInitParseInfo
+ ...
+}
+{
+ OpenSSL false positive
+ Memcheck:Leak
+ ...
+ fun:CRYPTO_malloc
+ ...
+}
+{
+ OpenSSL false positive
+ Memcheck:Leak
+ ...
+ fun:CRYPTO_realloc
+ ...
+}
+{
+ Libcurl false positive
+ Memcheck:Leak
+ fun:malloc
+ ...
+ obj:/usr/*/libcurl.so.4.3.0
+ fun:curl_multi_socket_action
+ ...
+}