Browse Source

CI: Suppress valgrind conditional jump check for libcheck

Stefan Profanter 5 years ago
parent
commit
7f782d26c5
3 changed files with 741 additions and 18 deletions
  1. 1 5
      .travis.yml
  2. 13 13
      tools/valgrind_check_error.py
  3. 727 0
      tools/valgrind_suppressions.supp

+ 1 - 5
.travis.yml

@@ -224,11 +224,7 @@ matrix:
     - os: osx
       compiler: clang
       # disable homebrew auto update which takes a lot of time
-      env:
-        - HOMEBREW_NO_AUTO_UPDATE=1
-        # libcheck needs custom temp dir, otherwise it fails since it does not can create the pipe
-        # check_msg.c:317: Unable to create temporary file for communication; may not have permissions to do so
-        - TEMP=${TRAVIS_BUILD_DIR}/tmp
+      env: HOMEBREW_NO_AUTO_UPDATE=1
       cache:
         directories:
           - $HOME/Library/Caches/Homebrew

+ 13 - 13
tools/valgrind_check_error.py

@@ -22,17 +22,7 @@ valgrind_command = ' '.join('"' + item + '"' for item in sys.argv[2:])
 # Execute a command and output its stdout text
 def execute(command):
 
-    my_env = os.environ.copy()
-    my_env["TEMP"] = my_env["TRAVIS_BUILD_DIR"] + "/tmp"
-    my_env["TMPDIR"] = my_env["TRAVIS_BUILD_DIR"] + "/tmp"
-
-    print("Temp Dir: " + my_env["TMPDIR"])
-
-    f= open(my_env["TMPDIR"] + "/test.txt","w+")
-    f.write("This is line %d\r\n")
-    f.close()
-
-    process = subprocess.Popen(command, env=my_env, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 
     # Poll process for new output until finished
     while True:
@@ -58,9 +48,19 @@ if len(log_content) == 0:
     print("### PYTHON ERROR: Valgrind logfile is empty: " + logfile)
     exit(1)
 
+# Remove output of possible bug in OSX
+# --16672-- run: /usr/bin/dsymutil "/Users/travis/build/Pro/open62541/build/bin/tests/check_utils"
+# --16672-- WARNING: unhandled amd64-darwin syscall: unix:464
+# --16672-- You may be able to write your own handler.
+# --16672-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
+# --16672-- Nevertheless we consider this a bug.  Please report
+# --16672-- it at http://valgrind.org/support/bug_reports.html.
+replace_re = re.compile(r"^--(\d+)--\s+run: .*-- it at http://valgrind.org/support/bug_reports.html\.$\n", re.MULTILINE | re.DOTALL)
+log_content = replace_re.sub('', log_content)
+
 # Try to parse the output. Look for the following line:
 # ==17054== FILE DESCRIPTORS: 5 open at exit.
-descriptors_re = re.compile(r"^==(\d+)==\s+FILE DESCRIPTORS: (\d+) open at exit.$", re.MULTILINE)
+descriptors_re = re.compile(r".*==(\d+)==\s+FILE DESCRIPTORS: (\d+) open at exit\..*", re.DOTALL)
 m = descriptors_re.match(log_content)
 
 if not m:
@@ -95,7 +95,7 @@ if ret_code != 0:
     exit(ret_code)
 
 # No issues by valgrind
-if log_content.isspace():
+if len(log_content) == 0 or log_content.isspace():
     exit(0)
 
 # There is something fishy in the valgrind output, so error-exit

+ 727 - 0
tools/valgrind_suppressions.supp

@@ -8,3 +8,730 @@
    fun:__run_exit_handlers
    fun:exit
 }
+
+
+
+# Custom suppressions added by @Pro
+
+{
+   osx_tmpfile_2
+   Memcheck:Cond
+   ...
+   fun:find_temp_path
+   ...
+   fun:open_tmp_file
+   ...
+}
+{
+   osx_tmpfile_3
+   Memcheck:Value8
+   ...
+   fun:find_temp_path
+   ...
+   fun:open_tmp_file
+   ...
+}
+{
+   osx_tmpfile_4
+   Memcheck:Leak
+   fun:malloc
+   ...
+   fun:find_temp_path
+   ...
+   fun:open_tmp_file
+   ...
+   fun:main
+}
+{
+   osx_leak_1
+   Memcheck:Leak
+   ...
+   fun:map_images_nolock
+   fun:map_images
+   ...
+}
+
+
+
+# Suppressions for Darwin 14.x / Mac OS X 10.10 Yosemite
+
+# Source: https://raw.githubusercontent.com/svn2github/valgrind/master/darwin14.supp
+
+############################################
+## Leaks.  For other stuff see below.
+
+{
+   OSX1010:1-Leak
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:malloc_zone_?alloc
+   ...
+   fun:_read_images
+}
+
+#{
+#   OSX1010:2-Leak
+#   Memcheck:Leak
+#   match-leak-kinds: definite
+#   fun:?alloc
+#   ...
+#   fun:_ZN4dyld24initializeMainExecutableEv
+#}
+
+{
+   OSX1010:3-Leak
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc_zone_?alloc
+   fun:recursive_mutex_init
+   ...
+   fun:_os_object_init
+   fun:libdispatch_init
+   fun:libSystem_initializer
+   ...
+}
+
+#{
+#   OSX1010:4-Leak
+#   Memcheck:Leak
+#   match-leak-kinds: reachable
+#   fun:malloc_zone_?alloc
+#   ...
+#   fun:dyld_register_image_state_change_handler
+#   ...
+#}
+
+{
+   OSX1010:5-Leak
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:?alloc
+   ...
+   fun:dyld_register_image_state_change_handler
+   ...
+}
+
+{
+   OSX1010:6-Leak
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc_zone_?alloc
+   ...
+   fun:map_images_nolock
+   fun:map_images
+   ...
+}
+
+{
+   OSX1010:7-Leak
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:malloc_zone_?alloc
+   ...
+   fun:map_images_nolock
+   fun:map_images
+   ...
+}
+
+#{
+#   OSX1010:8-Leak
+#   Memcheck:Leak
+#   match-leak-kinds: indirect
+#   fun:?alloc
+#   ...
+#   fun:libSystem_initializer
+#   ...
+#}
+
+{
+   OSX1010:9-Leak
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc_zone_?alloc
+   ...
+   fun:libSystem_initializer
+   ...
+}
+
+{
+   OSX1010:10-Leak
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:?alloc
+   ...
+   fun:libSystem_initializer
+   ...
+}
+
+#{
+#   OSX1010:11-Leak
+#   Memcheck:Leak
+#   match-leak-kinds: definite
+#   fun:malloc
+#   fun:currentlocale
+#}
+#
+#{
+#   OSX1010:12-Leak
+#   Memcheck:Leak
+#   match-leak-kinds: possible
+#   fun:malloc
+#   fun:tzsetwall_basic
+#   fun:_st_tzset_basic
+#}
+
+{
+   OSX1010:13-Leak
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc_zone_memalign
+   ...
+   fun:_ZN4dyld24initializeMainExecutableEv
+   ...
+}
+
+############################################
+## Non-leak errors
+
+##{
+##   OSX1010:CoreFoundation-1
+##   Memcheck:Cond
+##   obj:*CoreFoundation.framework*CoreFoundation*
+##   obj:*CoreFoundation.framework*CoreFoundation*
+##   obj:*CoreFoundation.framework*CoreFoundation*
+##}
+
+{
+   OSX1010:CoreFoundation-2
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*libdispatch.dylib*
+   obj:*libdispatch.dylib*
+}
+
+{
+   OSX1010:CoreFoundation-3
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*Foundation.framework*Foundation*
+}
+
+{
+   OSX1010:CoreFoundation-4
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+}
+
+{
+   OSX1010:CoreFoundation-5
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*HIServices.framework*HIServices*
+}
+
+{
+   OSX1010:CoreFoundation-6
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+}
+
+{
+   OSX1010:CoreFoundation-7
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+   obj:*CoreFoundation.framework*CoreFoundation*
+}
+
+{
+   OSX1010:CoreFoundation-8
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*IOKit.framework*IOKit*
+}
+
+{
+   OSX1010:CoreFoundation-9
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*Foundation.framework*Foundation*
+   obj:*AppKit.framework*AppKit*
+}
+
+{
+   OSX1010:CoreFoundation-10
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*HIToolbox.framework*HIToolbox*
+   obj:*HIToolbox.framework*HIToolbox*
+}
+
+{
+   OSX1010:CoreFoundation-11
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*AE.framework*AE*
+   obj:*AE.framework*AE*
+}
+
+{
+   OSX1010:CoreFoundation-12
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*HIToolbox.framework*HIToolbox*
+}
+
+{
+   OSX1010:CoreFoundation-13
+   Memcheck:Cond
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*CoreFoundation.framework*CoreFoundation*
+   obj:*AE.framework*AE*
+}
+
+{
+   OSX1010:AppKit-1
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*AppKit.framework*AppKit*
+   obj:*AppKit.framework*AppKit*
+}
+
+{
+   OSX1010:AppKit-2
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*AppKit.framework*AppKit*
+   obj:*libdispatch.dylib*
+}
+
+#{
+#   OSX1010:AppKit-3
+#   Memcheck:Cond
+#   obj:*AppKit.framework*AppKit*
+#   obj:*libdispatch.dylib*
+#   obj:*libdispatch.dylib*
+#}
+
+##{
+##   OSX1010:AppKit-4
+##   Memcheck:Cond
+##   obj:*AppKit.framework*AppKit*
+##   obj:*AppKit.framework*AppKit*
+##   obj:*CoreFoundation.framework*CoreFoundation*
+##}
+
+{
+   OSX1010:AppKit-5
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*AppKit.framework*AppKit*
+   obj:*Foundation.framework*Foundation*
+}
+
+{
+   OSX1010:AppKit-6
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*Foundation.framework*Foundation*
+   obj:*AppKit.framework*AppKit*
+}
+
+{
+   OSX1010:AppKit-7
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*libdispatch.dylib*
+   obj:*libdispatch.dylib*
+}
+
+{
+   OSX1010:AppKit-8
+   Memcheck:Cond
+   obj:*AppKit.framework*AppKit*
+   obj:*Foundation.framework*Foundation*
+   obj:*Foundation.framework*Foundation*
+}
+
+{
+   OSX1010:ColorSync-1
+   Memcheck:Cond
+   obj:*ColorSync.framework*ColorSync*
+   obj:*ColorSync.framework*ColorSync*
+   obj:*ColorSync.framework*ColorSync*
+}
+
+#{
+#   OSX1010:ColorSync-2
+#   Memcheck:Value8
+#   obj:*ColorSync.framework*ColorSync*
+#   obj:*ColorSync.framework*ColorSync*
+#   obj:*ColorSync.framework*ColorSync*
+#}
+
+{
+   OSX1010:CoreGraphics-1
+   Memcheck:Cond
+   obj:*CoreGraphics.framework*CoreGraphics*
+   obj:*CoreGraphics.framework*CoreGraphics*
+}
+
+#{
+#   OSX1010:CoreGraphics-2
+#   Memcheck:Value8
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#}
+
+{
+   OSX1010:CoreGraphics-3
+   Memcheck:Cond
+   obj:*CoreGraphics.framework*CoreGraphics*
+   obj:*CoreGraphics.framework*libRIP*
+   obj:*CoreGraphics.framework*libRIP*
+}
+
+#{
+#   OSX1010:CoreGraphics-4
+#   Memcheck:Cond
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*CoreGraphics.framework*libRIP*
+#}
+
+{
+   OSX1010:CoreGraphics-5
+   Memcheck:Cond
+   obj:*CoreGraphics.framework*CoreGraphics*
+   obj:*libdispatch.dylib*
+   obj:*libdispatch.dylib*
+}
+
+#{
+#   OSX1010:CoreGraphics-6
+#   Memcheck:Cond
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#   obj:*HIToolbox.framework*HIToolbox*
+#}
+
+{
+   OSX1010:HIServices-1
+   Memcheck:Cond
+   obj:*HIServices.framework*HIServices*
+   obj:*HIToolbox.framework*HIToolbox*
+   obj:*HIToolbox.framework*HIToolbox*
+}
+
+{
+   OSX1010:LaunchServices-1
+   Memcheck:Cond
+   obj:*LaunchServices.framework*LaunchServices*
+   obj:*AppKit.framework*AppKit*
+   obj:*AppKit.framework*AppKit*
+}
+
+{
+   OSX1010:LaunchServices-2
+   Memcheck:Cond
+   obj:*LaunchServices.framework*LaunchServices*
+   obj:*libdispatch.dylib*
+   obj:*libdispatch.dylib*
+}
+
+{
+   OSX1010:QuartzCore-1
+   Memcheck:Cond
+   obj:*QuartzCore.framework*QuartzCore
+   obj:*QuartzCore.framework*QuartzCore
+   obj:*QuartzCore.framework*QuartzCore
+}
+
+#{
+#   OSX1010:vImage-1
+#   Memcheck:Cond
+#   obj:*vImage.framework*vImage*
+#   obj:*vImage.framework*vImage*
+#   obj:*CoreGraphics.framework*CoreGraphics*
+#}
+
+{
+   OSX1010:zlib-C
+   Memcheck:Cond
+   obj:/usr/lib/libz.*dylib
+   obj:/usr/lib/libz.*dylib
+}
+
+{
+   OSX1010:zlib-8
+   Memcheck:Value8
+   obj:/usr/lib/libz.*dylib
+   obj:/usr/lib/libz.*dylib
+}
+
+#{
+#   OSX1010:32bit:_libxpc_initializer
+#   Memcheck:Cond
+#   fun:_libxpc_initializer
+#   fun:libSystem_initializer
+#   fun:*ImageLoaderMachO*doModInitFunctions*
+#}
+
+{
+   OSX1010:dyld-1
+   Memcheck:Cond
+   fun:*ImageLoader*weakBind*
+   fun:*ImageLoader*link*
+   fun:*dyld*link*
+}
+
+{
+   OSX1010:dyld-2
+   Memcheck:Cond
+   fun:exit
+   obj:*libdyld*dylib*
+}
+
+{
+   OSX1010:libsystem_kernel-1
+   Memcheck:Cond
+   obj:*libsystem_kernel*dylib*
+   obj:*libsystem_kernel*dylib*
+   obj:*CoreFoundation.framework*CoreFoundation*
+}
+
+{
+   OSX1010:CoreServicesInternal-1
+   Memcheck:Cond
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+   obj:*CoreServices.framework*LaunchServices*
+   obj:*CoreServices.framework*LaunchServices*
+}
+
+{
+   OSX1010:CoreServicesInternal-2
+   Memcheck:Cond
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+}
+
+{
+   OSX1010:CoreServicesInternal-3
+   Memcheck:Cond
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+   obj:*CoreServicesInternal.framework*CoreServicesInternal*
+   obj:*CoreFoundation.framework*CoreFoundation*
+}
+
+{
+   OSX1010:CoreServices-1
+   Memcheck:Cond
+   obj:*CoreServices.framework*LaunchServices*
+   obj:*CoreServices.framework*LaunchServices*
+   obj:*CoreServices.framework*LaunchServices*
+}
+
+##{
+##   OSX1010:libsystem_pthread-1
+##   Memcheck:Cond
+##   obj:*libsystem_pthread*dylib*
+##   obj:*ImageIO.framework*ImageIO*
+##   obj:*ImageIO.framework*ImageIO*
+##}
+
+{
+   OSX1010:ApplicationServices-1
+   Memcheck:Cond
+   obj:*ApplicationServices.framework*ATS*
+   obj:*libsystem_pthread*dylib*
+   obj:*libsystem_platform*dylib*
+}
+
+{
+   OSX1010:HIToolbox-1
+   Memcheck:Cond
+   obj:*HIToolbox.framework*HIToolbox*
+   obj:*HIToolbox.framework*HIToolbox*
+   obj:*HIToolbox.framework*HIToolbox*
+}
+
+{
+   OSX1010:RawCamera-1
+   Memcheck:Cond
+   obj:*RawCamera.bundle*RawCamera*
+   obj:*libdispatch.dylib*
+   obj:*libdispatch.dylib*
+}
+
+##{
+##   OSX1010:CoreImage-1
+##   Memcheck:Cond
+##   obj:*CoreImage.framework*CoreImage*
+##   obj:*CoreImage.framework*CoreImage*
+##   obj:*CoreImage.framework*CoreImage*
+##}
+
+##{
+##   OSX1010:strncpy-1
+##   Memcheck:Cond
+##   fun:strncpy
+##   obj:*CoreServicesInternal.framework*CoreServicesInternal
+##   obj:*CoreServicesInternal.framework*CoreServicesInternal
+##}
+
+{
+   OSX1010:pthread_rwlock_init
+   Memcheck:Cond
+   fun:pthread_rwlock_init
+   obj:*ImageIO.framework*ImageIO*
+   obj:*ImageIO.framework*ImageIO*
+}
+
+{
+   OSX1010:CFBasicHash
+   Memcheck:Value8
+   fun:*CFBasicHash*
+   fun:*CF*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-1-Addr8
+   Memcheck:Addr8
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+}
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-1-Addr8
+   Memcheck:Addr4
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-2-Addr8
+   Memcheck:Addr8
+   fun:*platform_memmove*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+}
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-2-Addr2
+   Memcheck:Addr2
+   fun:*platform_memmove*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-3-Addr8
+   Memcheck:Addr8
+   fun:*platform_memmove*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-3-Addr2
+   Memcheck:Addr2
+   fun:*platform_memmove*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-3-Addr1
+   Memcheck:Addr1
+   fun:*platform_memmove*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-4
+   Memcheck:Addr8
+   fun:*platform_bzero*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-6-Addr8
+   Memcheck:Addr8
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-6-Addr4
+   Memcheck:Addr4
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+
+{
+   OSX1010:AppleIntelHD4000GraphicsGLDriver-7
+   Memcheck:Addr4
+   obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver*
+   obj:*GLEngine.bundle*GLEngine*
+}
+
+{
+   OSX1010:OSAtomicAdd32
+   Memcheck:Addr4
+   fun:*OSAtomicAdd32*
+   obj:*IOAccelerator.framework*IOAccelerator*
+   obj:*GPUSupport.framework*GPUSupportMercury*
+}
+
+{
+   OSX1010:IOAccelerator-1
+   Memcheck:Addr4
+   obj:*IOAccelerator.framework*IOAccelerator*
+   obj:*GPUSupport.framework*GPUSupportMercury*
+}
+
+{
+   OSX1010:mach_msg_trap-1
+   Memcheck:Param
+   msg->desc.port.name
+   fun:mach_msg_trap
+   obj:*libsystem_kernel.dylib*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+}
+
+{
+   OSX1010:mach_msg_trap-2
+   Memcheck:Param
+   msg->desc.port.name
+   fun:mach_msg_trap
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+   obj:*SystemConfiguration.framework*SystemConfiguration*
+}
+
+# See https://bugs.kde.org/show_bug.cgi?id=188572 about this;  it's
+# unavoidable due to BSD setenv() semantics.
+{
+   macos-__setenv-leak-see-our-bug-188572
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   fun:_owned_ptr_alloc
+   fun:setenv
+}
+
+# See https://bugs.kde.org/show_bug.cgi?id=196528
+{
+macos-__pthread_rwlock_init-see-our-bug-196528
+Memcheck:Cond
+fun:pthread_rwlock_init
+}