# There are three kinds of suppressions in this file:
# 1. Third party stuff we have no control over.
#
# 2. Intentional unit test errors, stuff that is somehow a false positive
# in our own code, or stuff that is so trivial it's not worth fixing.
#
# 3. Suppressions for real chromium bugs that are not yet fixed.
# These should all be in chromium's bug tracking system.
# Periodically we should sweep this file and the bug tracker clean by
# running overnight and removing outdated bugs/suppressions.
#-----------------------------------------------------------------------

# 1. Third party stuff we have no control over.
{
   FIXME mac kevent libevent probably needs valgrind hooks
   Memcheck:Param
   kevent(changelist)
   fun:kevent
   fun:event_base_new
}
{
   # CoreAudio leak.  See http://crbug.com/9351
   bug_9351
   Memcheck:Leak
   ...
   fun:_ZN12HALCADClient19AddPropertyListenerE*26AudioObjectPropertyAddressP*
   ...
   fun:_ZN9HALSystem16CheckOutInstanceEv
   ...
}
{
   bug_18215
   Memcheck:Uninitialized
   fun:_DPSNextEvent
   fun:-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
   fun:-[NSApplication run]
}
{
   # Also filed with Apple as rdar://7255382
   bug_20459b
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:_CFRuntimeCreateInstance
   fun:__CFArrayInit
   fun:CFArrayCreateMutableCopy
   ...
   fun:_ZN8Security12KeychainCore5Trust8evaluate*
}
{
   # See also http://openradar.appspot.com/radar?id=1169404
   bug_79533b
   Memcheck:Uninitialized
   ...
   fun:_Z*19cssm_DataAbortQuery17cssm_dl_db_handlel
   fun:CSSM_DL_DataAbortQuery
   fun:_ZN11SSDLSession14DataAbortQueryEll
   fun:_Z*19cssm_DataAbortQuery17cssm_dl_db_handlel
   fun:CSSM_DL_DataAbortQuery
   fun:tpDbFindIssuerCrl
   fun:tpVerifyCertGroupWithCrls
}
{
   # QTKit leak. See http://crbug.com/100772 and rdar://10319535.
   bug_100772
   Memcheck:Leak
   fun:calloc
   fun:QTMLCreateMutex
   fun:WarholCreateGlobals
   fun:INIT_QuickTimeLibInternal
   fun:pthread_once
   fun:INIT_QuickTimeLib
   fun:EnterMovies_priv
   fun:EnterMovies
   fun:TundraUnitInputFromTSFileEntry
   fun:TundraUnitVDIGInputEntry
   fun:TundraUnitCreateFromDescription
   fun:+[QTCaptureVDIGDevice _refreshDevices]
   fun:+[QTCaptureVDIGDevice devicesWithIOType:]
   fun:+[QTCaptureDevice devicesWithIOType:]
   fun:+[QTCaptureDevice inputDevices]
   fun:+[QTCaptureDevice inputDevicesWithMediaType:]
   ...
}
{
   # See http://crbug.com/385604
   bug_385604_a
   Memcheck:Leak
   fun:_Znw*
   fun:_ZNK11AEEventImpl9duplicateEv
   fun:AESendMessage
   fun:_ZL35HIToolboxLSNotificationCallbackFunc18LSNotificationCodedPKvPK7__LSASNS1_11LSSessionIDS1_
   fun:_ZL48LSScheduleNotificationReceiveMessageCallbackFuncP12__CFMachPortPvlS1_
   fun:__CFMachPortPerform
   fun:__CFRunLoopRun
   ...
}
{
   # See also http://openradar.appspot.com/20698633
   bug_481286
   Memcheck:Leak
   ...
   fun:_ZN8Security13PluginSession6mallocEm
   fun:_Z20CL_extractCSSMKeyNSSRK33cssm_x509_subject_public_key_infoRN8Security9AllocatorEPK11DecodedCert
}
# Intentional leaks in AppKit, for an OS-level cache. Only appear on the first
# run of each reboot.  See also issues 105525, 257276, 340847.
{
   bug_257276_b
   Memcheck:Leak
   fun:malloc_zone_malloc
   ...
   fun:setCursorFromBundle
   fun:CoreCursorSet
   fun:-[NSCursor set]
}
{
   bug_379331
   Memcheck:Uninitialized
   fun:x_zone_size
   fun:find_registered_purgeable_zone
   fun:malloc_make_purgeable
   ...
   fun:setCursorFromBundle
   fun:CoreCursorSet
   fun:-[NSCursor set]
   fun:_ZN12_GLOBAL__N_116ForceSystemLeaksEv
}
{
   FIXME initImagePng leaks from an unknown module
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:_CFRuntimeCreateInstance
   fun:CFNumberCreate
   fun:get_colorspace
   fun:initImagePng
   obj:*
   obj:/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
   obj:/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
}

# 2. Intentional unit test errors, stuff that is somehow a false positive
# in our own code, or stuff that is so trivial it's not worth fixing.
{
   # Mac Sandbox test cases are registered in a global map.  This code is only
   # used in the unit test binary.
   Mac_Sandbox_Intentional_Leak1
   Memcheck:Leak
   fun:_Znw*
   fun:_ZN7content8internal19RegisterSandboxTestINS_*
   ...
   fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE
   fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj
   fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextE
   fun:_ZN4dyld24initializeMainExecutableEv
}
{
   # __cxa_get_globals leaks a structure when called for the first time
   __cxa_get_globals one-time leak
   Memcheck:Leak
   ...
   fun:__cxa_get_globals
}

# 3. Suppressions for real chromium bugs that are not yet fixed.
{
   bug_87629
   Memcheck:Leak
   ...
   fun:realloc
   fun:new_sem_from_pool
}
{
   bug_93932_a
   Memcheck:Overlap
   fun:memcpy
   fun:vp8_decode_update_thread_context
   fun:update_context_from_thread
   ...
   fun:ff_thread_decode_frame
   fun:avcodec_decode_video2
   fun:_ZN5media23FFmpegVideoDecodeEngine6DecodeERK13scoped_refptrINS_6BufferEEPS1_INS_10VideoFrameEE
   fun:_ZN5media18FFmpegVideoDecoder14DoDecodeBufferERK13scoped_refptrINS_6BufferEE
}
{
   bug_93932_b
   Memcheck:Overlap
   fun:memcpy
   fun:vp8_decode_update_thread_context
   fun:update_context_from_thread
   fun:frame_thread_free
   fun:avcodec_close
   ...
   fun:_ZN5media23FFmpegVideoDecodeEngineD0Ev
   fun:_ZN10scoped_ptrIN5media23FFmpegVideoDecodeEngineEE5resetEPS1_
   fun:_ZN5media27FFmpegVideoDecodeEngineTestD2Ev
   fun:_ZN5media51FFmpegVideoDecodeEngineTest_DecodeFrame_Normal_TestD0Ev
}
{
   bug_159190
   Memcheck:Uninitialized
   ...
   fun:_ZNK19TConcreteFontScaler15CopyGlyphBitmapEtjP6CGRectPm
   ...
   fun:_ZN9Offscreen5getCGERK19SkScalerContext_MacRK7SkGlyphtPmb
   fun:_ZN19SkScalerContext_Mac13generateImageERK7SkGlyph
}
{
   bug_173779
   Memcheck:Uninitialized
   ...
   fun:img_data_lock
   fun:CGSImageDataLock
   fun:ripc_AcquireImage
   fun:ripc_DrawImage*
   fun:CGContextDrawImage*
   ...
   fun:_ZN11CUIRenderer4DrawE6CGRectP9CGContextPK14__CFDictionaryPS5_
}
{
   bug_173779_b
   Memcheck:Uninitialized
   ...
   fun:img_data_lock
   fun:CGSImageDataLock
   fun:ripc_AcquireImage
   fun:ripc_DrawImage*
   fun:CGContextDrawImage*
   ...
   fun:-[NSImage hitTestRect:withImageDestinationRect:context:hints:flipped:]
}
{
  bug_340726
  Memcheck:Leak
  fun:_Znw*
  fun:_ZN4base17LoadNativeLibrary*
  fun:_ZN3gfx26InitializeStaticGLBindings*
  fun:_ZN3gfx9GLSurface30InitializeOneOffImplementation*
  fun:_ZN3gfx9GLSurface24InitializeOneOffForTestsEv
}
{
   bug_380568
   Memcheck:Leak
   fun:calloc
   fun:_internal_class_createInstanceFromZone
   ...
   fun:NSAllocateObject
   ...
   fun:-[VideoCaptureDeviceQTKit initWithFrameReceiver:]
   fun:_ZN5media21VideoCaptureDeviceMac4InitENS_18VideoCaptureDevice4Name14CaptureApiTypeE
   fun:_ZN5media28VideoCaptureDeviceFactoryMac6CreateERKNS_18VideoCaptureDevice4NameE
   fun:_ZN5media45VideoCaptureDeviceTest_OpenInvalidDevice_Test8TestBodyEv
}
{
   bug_385604_b
   Memcheck:Leak
   fun:calloc
   fun:_ZN18hb_object_header_t6createEj
   fun:_ZL16hb_object_createI9hb_face_tEPT_v
   fun:hb_face_create_for_tables
   fun:_ZN3gfx12_GLOBAL__N_118CreateHarfBuzzFaceEP10SkTypeface
   fun:_ZN3gfx12_GLOBAL__N_118CreateHarfBuzzFontEP10SkTypefacei
   fun:_ZN3gfx18RenderTextHarfBuzz8ShapeRunEPNS_8internal15TextRunHarfBuzzE
   fun:_ZN3gfx18RenderTextHarfBuzz12EnsureLayoutEv
   fun:_ZN3gfx41RenderTextTest_HarfBuzz_RunDirection_Test8TestBodyEv
}
{
   bug_431906
   Memcheck:Leak
   fun:_Znw*
   fun:_ZN7content21PluginLoaderPosixTestC2Ev
   fun:_ZN7content45PluginLoaderPosixTest_PluginLaunchFailed_TestC2Ev
   fun:_ZN7content45PluginLoaderPosixTest_PluginLaunchFailed_TestC1Ev
   fun:_ZN7testing8internal15TestFactoryImplIN7content45PluginLoaderPosixTest_PluginLaunchFailed_TestEE10CreateTestEv
}
{
   bug_437807
   Memcheck:Leak
   ...
   fun:_ZN4base3mac30PathForFrameworkBundleResourceEPK10__CFString
   fun:_ZN3gin13IsolateHolder14LoadV8SnapshotEv
}
{
   bug_464850
   Memcheck:Uninitialized
   fun:_ZN2v88internal9ExitFrame23GetStateForFramePointerEPhPNS0_10StackFrame5StateE
   fun:_ZN2v88internal18StackFrameIterator5ResetEPNS0_14ThreadLocalTopE
   fun:_ZN2v88internal18StackFrameIteratorC2EPNS0_7IsolateE
   fun:_ZN2v88internal18StackFrameIteratorC1EPNS0_7IsolateE
}
