# This file contains suppressions for the Dr.Memory tool, see
# http://dev.chromium.org/developers/how-tos/using-drmemory
#
# This file should contain suppressions only for the reports happening
# in the 'full' mode (drmemory_full).
# For the reports that can happen in the light mode (a.k.a. drmemory_light),
# please use suppressions.txt instead.

###############################################################
# Known reports on the third party we have no control over.

UNINITIALIZED READ
name=http://crbug.com/116277
...
*!MOZ_Z_deflate

# TODO(timurrrr): check if these frames change when NT_SYMBOLS are present.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/406
ADVAPI32.dll!WmiOpenBlock
ADVAPI32.dll!WmiOpenBlock

# Leaks inside GoogleDesktop - it injects into our processes for some reason
LEAK
name=GoogleDesktop LEAK
...
GoogleDesktopNetwork3.DLL!DllUnregisterServer

# They deliberately use uninit local var in sqlite random generator.
# Random bytes may mess up the call stack between randomByte and
# sqlite3_* frames (https://github.com/DynamoRIO/drmemory/issues/1514)
# so we just look for randomByte.
UNINITIALIZED READ
name=sqlite3_randomness UNINIT
sql.dll!sqlite3_randomness

UNINITIALIZED READ
name=blink_web_dll_sqlite3_randomness UNINIT
blink_web.dll!sqlite3_randomness

# Intentional leak in WebKit Template Framework for ThreadData.
LEAK
name=intentional WTF ThreadData leak
...
*!WTF::wtfThreadData

# Happens when winhttp returns ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT.
LEAK
name=http://crbug.com/125558 a
KERNELBASE.dll!LocalAlloc
SECHOST.dll!...
SECHOST.dll!NotifyServiceStatusChange
WINHTTP.dll!...
WINHTTP.dll!WinHttpDetectAutoProxyConfigUrl
*!net::ProxyResolverWinHttp::GetProxyForURL

# Tiny locale-related leaks in ntdll.  Probably system bug.
LEAK
name=http://crbug.com/125558 b
ntdll.dll!...
ntdll.dll!*
KERNELBASE.dll!...
KERNELBASE.dll!GetCPInfoExW
webio.dll!*
webio.dll!*
webio.dll!*
WINHTTP.dll!...
WINHTTP.dll!WinHttpGetIEProxyConfigForCurrentUser
*!net::ProxyConfigServiceWin::GetCurrentProxyConfig

UNINITIALIZED READ
name=http://crbug.com/30704 #f
libpng.dll!wk_png_write_find_filter
libpng.dll!wk_png_write_row

###############################################################
# Suppress some false reports due to bugs in Dr.Memory like wrong analysis
# assumptions or unhandled syscalls

# Please note: the following suppressions were written in the abscense of
# private symbols so may need to be updated when we switch to auto-loading PDBs
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (1)
ntdll.dll!Rtl*
ntdll.dll!Rtl*
ntdll.dll!RtlFindActivationContextSectionString

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (2)
...
SHELL32.dll!SHFileOperation*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (3)
...
SHELL32.dll!SHGetFolderPath*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/12 (4)
...
SHELL32.dll!SHGetFolderPath*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (5)
...
SHELL32.dll!SHCreateDirectory*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (6)
...
SHELL32.dll!ILLoadFromStream*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (7)
...
SHELL32.dll!ILSaveToStream*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/12 (8)
...
SHELL32.dll!SHFileOperation*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/12 (9)
...
SHELL32.dll!SHGetItemFromDataObject

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/12 (10)
...
SHELL32.dll!SHGetItemFromDataObject

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/12 (11)
...
ole32.dll!*
SHELL32.dll!SHChangeNotifySuspendResume

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/14 (1)
...
*!CreateProcess*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/14 (2)
...
*!CreateProcess*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/14 (3)
...
*!base::LaunchApp*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/17 (1)
...
*!CreateWindow*

POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/17 (2)
GDI32.dll!*
GDI32.dll!CreateFontIndirectExW
GDI32.dll!CreateFontIndirectW

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/17 (3)
KERNELBASE.dll!LocalAlloc
...
USER32.dll!CreateWindow*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/18 a
...
*!CoInitialize*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/18 b
...
*!CoCreateInstance*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/18 c
...
*!CoUninitialize*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/18 d
...
UxTheme.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/40 a
...
WINSPOOL.DRV!*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/40 b
...
WINSPOOL.DRV!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/48 a
system call NtContinue
...
*!*SetThreadName

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/48 b
system call NtContinue
*!WTF::initializeCurrentThreadInternal

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/52 a
...
DBGHELP.dll!SymInitialize

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/52 b
...
DBGHELP.dll!SymEnumSourceFiles

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/52 c
...
msvcrt.dll!_RTDynamicCast

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/52 bit-level fp in dbghelp
instruction=test   0x*(%*) $0x??
DBGHELP.dll!SymUnloadModule64

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/53
ADVAPI32.dll!WmiMofEnumerateResourcesA
ADVAPI32.dll!WmiMofEnumerateResourcesA
ADVAPI32.dll!Sta*TraceW

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/58
...
*!_cfltcvt_l

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/60
USP10.dll!*
...
USP10.dll!ScriptStringAnalyse

LEAK
IMM32.dll!ImmGetIMCCSize
IMM32.dll!ImmLockClientImc
IMM32.dll!ImmDisableIME
IMM32.dll!ImmSetActiveContext
USER32.dll!IMPSetIMEA

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/65 a
...
*!SystemFunction036

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/65 b
...
*!talk_base::CreateRandomString

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/68 a
...
WS2_32.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/68 b
...
ADVAPI32.dll!SetSecurityDescriptorDacl

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/68 c
...
MSWSOCK.dll!WSPStartup

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/68 d
...
ntdll.dll!RtlValidateUnicodeString

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/256
*!_mtinit
*!__tmainCRTStartup
*!mainCRTStartup

POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/274 a
...
GDI32.dll!CreateDCW

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/274 b
...
GDI32.dll!CreateDCW

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/275
...
*!_getptd*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/276
...
ntdll.dll!RtlConvertUlongToLargeInteger
ntdll.dll!RtlConvertUlongToLargeInteger
ntdll.dll!KiUserExceptionDispatcher

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/305
*!free
*!free
*!operator new
...
*!MiniDumpWriteDump

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/346 a
...
GDI32.dll!CloseEnhMetaFile

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/346 b
GDI32.dll!SetPolyFillMode
GDI32.dll!CreateICW

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/362
USER32.dll!UnregisterClass*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/382
...
ntdll.dll!CsrNewThread

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/397
system call NtDeviceIoControlFile InputBuffer
ADVAPI32.dll!ImpersonateAnonymousToken

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/407 a
system call NtRequestWaitReplyPort
RPCRT4.dll!I_RpcSendReceive
RPCRT4.dll!NdrSendReceive

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/407 b
IMM32.dll!*
ntdll.dll!LdrInitializeThunk
ntdll.dll!LdrShutdownThread

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 a
ADVAPI32.dll!RegDeleteValue*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 b
...
ADVAPI32.dll!Crypt*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 c
...
RPCRT4.dll!NdrClientCall2

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/412 d
RSAENH.dll!DllUnregisterServer
...
ADVAPI32.dll!CryptAcquireContextA
CRYPT32.dll!CryptEnumOIDFunction
...
CRYPT32.dll!CertFindCertificateInStore

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 e
...
RSAENH.dll!CPGenRandom

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 f
...
CRYPT??.dll!Crypt*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 g
*!replace_memcmp
...
*!testing::internal::CmpHelperEQ*
...
*!SymmetricKeyTest_ImportGeneratedKey_Test::TestBody

# We get these sometimes from AesEncrypt and AesExpandKey.  AesEncrypt doesn't
# have frame pointers, and we have trouble unwinding from it.  Therefore, we use
# this broad suppression, effectively disabling uninit checks in rsaenh.dll.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/412 h
RSAENH.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/425 a
CLBCatQ.DLL!DestroyStgDatabase
CLBCatQ.DLL!PostError
CLBCatQ.DLL!PostError

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/425 b
RPCRT4.dll!I_RpcBCacheFree
RPCRT4.dll!I_RpcBCacheFree
...
RPCRT4.dll!NdrClientCall2

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/425 c
msdmo.dll!*
msdmo.dll!*
DEVENUM.DLL!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/435 a
...
ntdll.dll!RtlSetSecurityObject
ntdll.dll!RtlNewSecurityObjectEx
ADVAPI32.dll!CreatePrivateObjectSecurityEx
NTMARTA.dll!AccRewriteSetNamedRights

POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/435 b
WLDAP32.dll!Ordinal325
...
WLDAP32.dll!Ordinal325
ntdll.dll!LdrInitializeThunk
ntdll.dll!LdrFindResourceDirectory_U
ntdll.dll!RtlValidateUnicodeString
ntdll.dll!LdrLoadDll
KERNEL32.dll!LoadLibraryExW

# mod+offs suppression because the symbolic makes no sense and changes
# completely in the presence of WS2_32.dll symbols.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/438
<WS2_32.dll+0x260c>
<WS2_32.dll+0x2b76>
<WS2_32.dll+0x2c61>

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/454 a
...
WINMM.dll!wave*GetNumDevs

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/454 b
...
WINMM.dll!wave*GetNumDevs

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/466
ntdll.dll!RtlRunOnceBeginInitialize
ntdll.dll!RtlInitializeCriticalSectionAndSpinCount

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/473 a
system call NtDeviceIoControlFile InputBuffer
...
iphlpapi.dll!GetAdaptersAddresses

POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/473 b
ESENT.dll!*
ESENT.dll!*
ESENT.dll!*
ntdll.dll!Ldr*Init*
ntdll.dll!Ldr*
ntdll.dll!*
ntdll.dll!LdrLoadDll
...
iphlpapi.dll!GetPerAdapterInfo
...
iphlpapi.dll!GetAdaptersAddresses

POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/473 c
RPCRT4.dll!*
RPCRT4.dll!*
...
IPHLPAPI.DLL!GetAdaptersAddresses

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/475
...
ADVAPI32.dll!CryptAcquireContextA
...
CRYPT32.dll!CryptMsgOpenToDecode
...
CRYPT32.dll!CryptQueryObject

# Lots of leaks from our interactions with the system certificate store.  May be
# worth reviewing our use of their API.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 a
KERNEL*.dll!LocalAlloc
...
CRYPT32.dll!CertGetCRLContextProperty

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 b
KERNEL*.dll!LocalAlloc
...
CRYPT32.dll!CertAddCRLContextToStore

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 c
KERNEL*.dll!LocalAlloc
...
CRYPT32.dll!CertOpenStore

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 d
...
CRYPT32.dll!CertOpenSystemStore?

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 e
...
CRYPT32.dll!CertGetCertificateChain

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 f
...
CRYPT32.dll!CertCompareIntegerBlob

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 g
...
CRYPT32.dll!CryptUnprotectData

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 h
KERNEL*.dll!LocalAlloc
...
CRYPT32.dll!CertEnumCertificatesInStore

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 i
...
CRYPT32.dll!CryptProtectData

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/476 j
...
CRYPT32.dll!CryptExportPublicKeyInfoEx

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/502 a
system call NtSecureConnectPort parameter #3
GDI32.dll!*
GDI32.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/502 b
system call NtGdiEnumFonts parameter #6
GDI32.dll!*
GDI32.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/511 a
RPCRT4.dll!...
ole32.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/511 b
ole32.dll!*
ole32.dll!*
ole32.dll!StringFromGUID2

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/512 a
...
*!browser_sync::Cryptographer::PackBootstrapToken
*!browser_sync::Cryptographer::GetBootstrapToken

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/512 b
...
*!Encrypt*

# TODO(bruening): remove these once we have v8 bitfields handled
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/513 a
*!v8*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/513 b
*!*
*!v8*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/513 c
<not in a module>
...
*!v8*

# We have seen some cases (not yet understood: crbug.com/364146) where v8.dll
# has no symbols.  These are all on the bots using component build, so we use
# v8.dll.  TODO(bruening): remove these once we've fixed the symbol issue.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/513 d
v8.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/513 e
<not in a module>
...
v8.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/546
...
mscms.dll!*
...
GDI32.dll!*
*!IconUtil::Create*HICON*

LEAK
name=http://crbug.com/92152
...
USER32.dll!CreateWindowExW
*!views::TooltipManagerWin::Init
*!views::TooltipManagerWin::TooltipManagerWin

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/567 a
dbghelp.dll!*
...
dbghelp.dll!StackWalk64

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/567 b
*!*
dbghelp.dll!*
...
dbghelp.dll!StackWalk64

# Symbols w/o PDB make no sense, first ntdll frame is TpSetTimer w/o syms and
# TppWorkerThread w/ syms.  We used to use mod+offs here, but that was too
# brittle, so we switched to RPCRT4.dll!*.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/569
RPCRT4.dll!...
ntdll.dll!*
ntdll.dll!*
KERNEL*.dll!BaseThreadInitThunk

# TODO(timurrrr): investigate these
UNINITIALIZED READ
name=http://crbug.com/TODO a
...
*!win_util::GetLogonSessionOnlyDACL

UNINITIALIZED READ
name=http://crbug.com/TODO b
...
ntshrui.dll!IsPathSharedW

UNINITIALIZED READ
name=http://crbug.com/TODO c
...
*!NetApiBufferFree

UNINITIALIZED READ
name=http://crbug.com/TODO d
...
*!ShellExecute*

UNINITIALIZED READ
name=http://crbug.com/TODO e
...
*!SHParseDisplayName

UNINITIALIZED READ
name=http://crbug.com/TODO f
...
*!GetCanonicalPathInfo*

UNINITIALIZED READ
name=http://crbug.com/TODO g
...
SHELL32.dll!Ordinal*

UNINITIALIZED READ
name=http://crbug.com/TODO h
...
GDI32.dll!GetTextExtentPoint32*

UNINITIALIZED READ
name=http://crbug.com/TODO i
...
*!SyncSocketClientListener::OnMsgClassResponse

UNINITIALIZED READ
name=http://crbug.com/TODO j
...
*!*NSPRInitSingleton*

UNINITIALIZED READ
name=http://crbug.com/TODO k
*!NdrSimpleStructFree

UNINITIALIZED READ
name=http://crbug.com/TODO l
ntdll.dll!RtlpNtOpenKey
ntdll.dll!RtlMakeSelfRelativeSD
ntdll.dll!RtlAbsoluteToSelfRelativeSD
ADVAPI32.dll!MakeSelfRelativeSD

UNINITIALIZED READ
name=http://crbug.com/TODO m
...
CRYPT32.dll!I_CertSyncStore

# This matches the same stack as DrMem i#751, but it's an uninit read instead of
# a leak.  Must be some early thread initialization.  Doesn't look like
# bit-level though.
UNINITIALIZED READ
name=http://crbug.com/TODO n
RPCRT4.dll!*
RPCRT4.dll!*
RPCRT4.dll!*
ntdll.dll!*
ntdll.dll!*
KERNEL*.dll!BaseThreadInitThunk

# No idea where this is from, but Chrome isn't even on the stack.
POSSIBLE LEAK
name=http://crbug.com/TODO o
RPCRT4.dll!...
ole32.dll!OleInitialize
ole32.dll!...
KERNEL32.dll!BaseThreadInitThunk

# Matches lots of RPC related leaks.  So far RPC handles have been mostly owned
# by system libraries and are not something we can fix easily.
POSSIBLE LEAK
name=http://crbug.com/TODO p
RPCRT4.dll!*
RPCRT4.dll!*
RPCRT4.dll!NDRCContextBinding

# No idea, but all system code, not interesting.
POSSIBLE LEAK
name=http://crbug.com/TODO q
RPCRT4.dll!...
RPCRT4.dll!*
RPCRT4.dll!*
ole32.dll!...
ole32.dll!*
ole32.dll!*
...
SHELL32.dll!*

LEAK
name=http://crbug.com/109278 video device COM leaks
...
*!media::VideoCaptureDevice::*

LEAK
name=http://crbug.com/109278 audio device COM leaks
...
*!media::GetInputDeviceNamesWin

# False pos uninit in shell32 when resolving links.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/745
SHELL*.dll!*
...
SHELL*.dll!*
*!file_util::ResolveShortcut

# Probable false pos uninit in ffmpeg.  Probably due to running off the end of a
# buffer with SSE/MMX instructions whose results are then masked out later.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 a
*!ff_pred4x4_vertical_vp8_mmxext

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 b
*!ff_pred4x4_down_left_mmxext

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 c
*!ff_vorbis_floor1_render_list

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 d
*!ff_put_vp8_epel8_h6_ssse3

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 e
*!ff_put_vp8_epel8_h4_ssse3

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 f
*!ff_fft_permute_sse

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/747 g
*!ff_simple_idct_add_mmx

# ffmpeg seems to leak a pthread condition variable.
LEAK
name=http://crbug.com/110042
*!ptw32_new
*!pthread_self
*!sem_wait
*!pthread_cond_wait
*!ff_thread_decode_frame
*!avcodec_decode_video2

# Improperly handled ioctl in bcrypt.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/748
system call NtDeviceIoControlFile InputBuffer
...
bcrypt.dll!BCryptUnregisterConfigChangeNotify
bcrypt.dll!BCryptGetFipsAlgorithmMode
ntdll.dll!RtlQueryEnvironmentVariable

# Not sure what this is.
POSSIBLE LEAK
name=https://github.com/DynamoRIO/drmemory/issues/749
...
fwpuclnt.dll!*
...
RPCRT4.dll!*
...
fwpuclnt.dll!*
...
WS2_32.dll!*
*!talk_base::SafeGetHostByName
*!talk_base::SocketAddress::GetLocalIPs
*!talk_base::SocketAddress::IsLocalIP
*!cricket::Transport::VerifyCandidate
*!cricket::Session::OnRemoteCandidates
*!cricket::Session::OnTransportInfoMessage
*!cricket::Session::OnIncomingMessage
*!cricket::SessionManager::OnIncomingMessage

# More uninit false pos in rpcrt4.dll not caught by default suppressions.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/529
RPCRT4.dll!*
...
*!base::LaunchProcess

# System leak from CreateEnvironmentBlock.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/757
...
USERENV.dll!CreateEnvironmentBlock

# Looks like another instance of 753
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/753
...
ntdll.dll!RtlLoadString

# More bit manip fps
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/493
USP10.dll!ScriptPositionSingleGlyph

# Various TLS leaks that we don't understand yet.  We should be finding a root
# for these.
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/778 a
KERNELBASE.dll!TlsSetValue

# Originally filed as: http://crbug.com/109281
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/778 b
*!operator new
*!operator new[]
*!*::ConstructTlsVector
*!base::ThreadLocalStorage::StaticSlot::Get

# This is an NSS PRThread object installed in TLS.  Why isn't this detected as a
# root?  See also http://crbug.com/32624
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/778 c
*!PR_Calloc
*!_PR_AttachThread
*!_PRI_AttachThread

# Bit-level fps in rich edit layer.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/791
RICHED20.dll!*
RICHED20.dll!*

# Already suppressed by drmemory default supp we don't have yet.
LEAK
name=i#757: RPC binding leaks in sspicli.dll
RPCRT4.dll!*
...
SspiCli.dll!*
SspiCli.dll!Cre*

# Async NtReadFile false positives.  This was fixed in drmemory r772, remove
# this supp when we pull that rev.
UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/798
system call NtReadFile parameter #5
KERNEL32.dll!ReadFile

# Probable syscall false positive.
UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/809
system call NtGdiPolyPolyDraw parameter #1
*!gfx::Path::CreateNativeRegion

# Very wide suppression for all uninits in rpcrt4.dll.  We get bad stack traces
# coming out of this module (sometimes only one frame), which makes it hard to
# write precise suppressions.  Until we have bit-level tracking (DRMi#113) we
# should keep this.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/113 rpcrt4.dll wildcard
RPCRT4.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/841 a
...
CRYPTNET.dll!I_CryptNetGetConnectivity

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/841 b
...
webio.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/841 c
...
winhttp.dll!*

LEAK
name=https://github.com/DynamoRIO/drmemory/issues/841 d
...
CRYPTNET.dll!I_CryptNetGetConnectivity

# Often missing a ntdll.dll!KiUserCallbackDispatcher frame.
UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/810
instruction=test   %edx %edx
USER32.dll!GetClassLongW
...
*!ui::CenterAndSizeWindow

UNINITIALIZED READ
name=https://github.com/DynamoRIO/drmemory/issues/815
KERNEL*.dll!...
dxgi.dll!*
USER32.dll!GetMonitorInfoA
ntdll.dll!KiUserCallbackDispatcher
dxgi.dll!*
WinSATAPI.DLL!*

# Suppress anything in cmd.exe.  It's safer to suppress these than disable
# following, since someone might launch a Chrome process via cmd.exe.
LEAK
name=cmd.exe
...
cmd.exe!*

# Possible true system use after free.
UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/623
KERNELBASE.dll!TlsGetValue
OLEAUT32.dll!SysFreeString
OLEAUT32.dll!SysAllocStringByteLen
OLEACC.dll!*
OLEACC.dll!*
OLEACC.dll!*
OLEACC.dll!*

# basic_streambuf seems to leak something in creating a std::_Mutex
LEAK
name=https://github.com/DynamoRIO/drmemory/issues/857
ntdll.dll!...
ntdll.dll!RtlInitializeCriticalSection
*!_Mtxinit
*!std::_Mutex::_Mutex
*!std::basic_streambuf<>

# Seems to create a DC, sometimes.  GetTextMetrics returns no pointers, though.
LEAK
name=GDI SetBrushOrgEx leak
GDI32.dll!...
GDI32.dll!GetTextMetricsW
*!gfx::PlatformFontWin::CreateHFontRef
*!gfx::PlatformFontWin::GetBaseFontRef

###############################################################
# Benign issues in Chromium

# This test intentionally leaks an object and checks that it's never deleted.
LEAK
name=BrowserThreadTest.NotReleasedIfTargetThreadNonExistant leak
...
*!BrowserThreadTest_NotReleasedIfTargetThreadNonExistent_Test::TestBody

LEAK
name=deliberate histogram leak
...
*!replace_operator_new
...
*!*::*Histogram::FactoryGet

LEAK
name=deliberate leak for SampleMap
...
*!base::SampleMap::Accumulate
*!base::SparseHistogram::Add

LEAK
name=deliberate LazyInstance leak
...
*!*LeakyLazyInstance*
...
*!base::LazyInstance*::Pointer

LEAK
name=http://crbug.com/79933 (2)
...
*!TestURLRequestContext::TestURLRequestContext
*!TestURLRequestContextGetter::GetURLRequestContext
*!notifier::SingleLoginAttempt::SingleLoginAttempt
*!notifier::Login::StartConnection
*!syncer::InvalidationNotifier::UpdateCredentials
*!syncer::NonBlockingInvalidationNotifier::Core::UpdateCredentials

LEAK
name=http://crbug.com/79933 (3)
...
*!TestURLRequestContext::TestURLRequestContext
*!TestURLRequestContextGetter::GetURLRequestContext
*!URLFetcher::Core::StartURLRequest

LEAK
name=http://crbug.com/79933 (4)
*!generic_cpp_alloc
*!operator new
*!std::_Allocate<>
*!std::allocator<>::allocate
*!std::vector<>::_Insert_n
*!std::vector<>::insert
*!std::vector<>::push_back
*!ObserverListBase<>::AddObserver
...
*!net::HttpNetworkSession::HttpNetworkSession
*!notifier::ProxyResolvingClientSocket::ProxyResolvingClientSocket
*!notifier::XmppClientSocketFactory::CreateTransportClientSocket
*!notifier::ChromeAsyncSocket::Connect
*!buzz::XmppClient::ProcessStartXmppLogin
*!buzz::XmppClient::Process
*!talk_base::Task::Step
*!talk_base::TaskRunner::InternalRunTasks
*!talk_base::TaskRunner::RunTasks
*!notifier::TaskPump::CheckAndRunTasks
*!base::internal::RunnableAdapter<>::Run

# Test intentionally leaks an object.
LEAK
name=http://crbug.com/86301
*!replace_operator_new
...
*!*_DeadReplyLoopDoesNotDelete_Test::TestBody

# Leak in a binary copy of Firefox 3's NSS dll.  Not much we can do about it.
LEAK
name=Firefox 3 NSS dll leak
nspr4.dll!*
...
*!NSSDecryptor::~NSSDecryptor

# We get uninit reports inside GMock when it prints the bytes of references to
# partially initialized objects passed to unexpected method calls.
UNINITIALIZED READ
name=http://crbug.com/64887 (GMock printing uninit data)
...
*!testing::*::PrintBytesInObjectTo*

###############################################################
# Proactively borrowed from memcheck/suppressions.txt.
# We have not yet seen these, but we are expanding the sets of tests
# we're running, and we've hit redness in the past that could have
# been avoided by already having the Memcheck suppressions.
# TODO(bruening): review the entire file (not just these) once we're
# at the peak set of tests we plan to run and remove the unused ones.

UNINITIALIZED READ
name=bug_99307
*!modp_b64_encode
*!base::Base64Encode*
*!web_ui_util::GetImageDataUrl
*!::NetworkInfoDictionary::set_icon

UNINITIALIZED READ
name=bug_101781
*!encode_one_block
*!encode_mcu_huff
*!compress_data
*!process_data_simple_main
*!chromium_jpeg_write_scanlines
*!gfx::JPEGCodec::Encode
*!gfx::JPEGEncodedDataFromImage
*!history::TopSites::EncodeBitmap
*!history::TopSites::SetPageThumbnail
*!history::ExpireHistoryTest::AddExampleData
*!history::ExpireHistoryTest::*

UNINITIALIZED READ
name=bug_101781_d
*!testing::AssertionResult testing::internal::CmpHelperGE<>
*!gfx::JPEGCodec_EncodeDecodeRGBA_Test::TestBody

UNINITIALIZED READ
name=bug_105907
...
*!skia::BGRAConvolve2D
*!skia::ImageOperations::ResizeBasic*
*!skia::ImageOperations::Resize*

UNINITIALIZED READ
name=bug_112278
*!fetch_texel_2d_f_rgba8888
*!sample_2d_linear
*!sample_linear_2d
*!fetch_texel_lod
*!fetch_texel
*!_mesa_execute_program
*!run_program
*!_swrast_exec_fragment_program
*!shade_texture_span
*!_swrast_write_rgba_span
*!general_triangle
*!_swrast_validate_triangle
*!_swrast_Triangle
*!triangle_rgba
*!_tnl_render_triangles_elts
*!run_render
*!_tnl_run_pipeline
*!_tnl_draw_prims
*!_tnl_vbo_draw_prims
*!vbo_validated_drawrangeelements
*!vbo_exec_DrawElements
*!neutral_DrawElements

UNINITIALIZED READ
name=bug_112278b
*!fetch_texel_2d_f_rgba8888
*!sample_2d_nearest
*!sample_nearest_2d
*!fetch_texel_lod
*!fetch_texel
*!_mesa_execute_program
*!run_program
*!_swrast_exec_fragment_program
*!shade_texture_span
*!_swrast_write_rgba_span
*!general_triangle
...
*!_swrast_Triangle
*!triangle_rgba
...
*!run_render
*!_tnl_run_pipeline
*!_tnl_draw_prims
*!_tnl_vbo_draw_prims

UNINITIALIZED READ
name=bug_115419_1
*!fetch_texel_2d_f_rgba8888
*!texture_get_row
*!fast_read_rgba_pixels
*!read_rgba_pixels
*!_swrast_ReadPixels
*!_mesa_ReadPixels
*!glReadPixels
*!gpu::gles2::GLES2DecoderImpl::HandleReadPixels
*!gpu::gles2::GLES2DecoderImpl::DoCommand
*!gpu::CommandParser::ProcessCommand
*!gpu::GpuScheduler::PutChanged
*!webkit::gpu::GLInProcessContext::PumpCommands

UNINITIALIZED READ
name=bug_115419_2
*!get_src_arg_mask
*!_mesa_remove_extra_move_use
*!_mesa_optimize_program
*!get_mesa_program
*!_mesa_ir_link_shader
*!_mesa_glsl_link_shader
*!link_program
*!_mesa_LinkProgramARB
*!glLinkProgram
...
*!gpu::gles2::GLES2DecoderImpl::DoLinkProgram*
*!gpu::gles2::GLES2DecoderImpl::HandleLinkProgram*
*!gpu::gles2::GLES2DecoderImpl::DoCommand
*!gpu::CommandParser::ProcessCommand
*!gpu::GpuScheduler::PutChanged
*!webkit::gpu::GLInProcessContext::PumpCommands

UNINITIALIZED READ
name=bug_138058
...
*!blink::WebVTTParser::constructTreeFromToken
*!blink::WebVTTParser::createDocumentFragmentFromCueText
*!blink::TextTrackCue::getCueAsHTML
*!blink::TextTrackCue::updateDisplayTree
*!blink::HTMLMediaElement::updateActiveTextTrackCues

UNINITIALIZED READ
name=bug_138220_a
*!blink::HTMLInputElement::dataList
*!blink::HTMLInputElement::list
*!blink::RenderSliderContainer::layout
*!blink::RenderBlock::layoutBlockChild
*!blink::RenderBlock::layoutBlockChildren
*!blink::RenderBlock::layoutBlock
*!blink::RenderBlock::layout
*!blink::RenderSlider::layout

UNINITIALIZED READ
name=bug_138220_b
*!blink::HTMLInputElement::dataList
*!blink::HTMLInputElement::list
*!blink::RenderTheme::paintSliderTicks
*!blink::RenderThemeChromiumLinux::paintSliderTrack
*!blink::RenderTheme::paint
*!blink::RenderBox::paintBoxDecorations
*!blink::RenderBlock::paintObject

UNINITIALIZED READ
name=bug_162825
*!bcmp
*!gpu::gles2::ShaderTranslatorCache::ShaderTranslatorInitParams::operator<
*!std::less<>::operator
...
*!std::map<>::find
...
*!gpu::gles2::GLES2DecoderImpl::InitializeShaderTranslator

UNINITIALIZED READ
name=bug_176616_a
*!WebTestRunner::WebTestProxyBase::didCreateDataSource
*!WebTestRunner::WebTestProxy<>::didCreateDataSource
*!blink::FrameLoaderClientImpl::createDocumentLoader
*!blink::FrameLoader::init
*!blink::Frame::init
*!blink::WebFrameImpl::initializeAsMainFrame
*!blink::WebViewImpl::initializeMainFrame
*!TestShell::createNewWindow
*!TestShell::createMainWindow
*!TestShell::initialize

UNINITIALIZED READ
name=bug_176616_b
*!WebTestRunner::TestRunner::reset
*!WebTestRunner::TestInterfaces::resetAll
*!WebTestRunner::WebTestInterfaces::resetAll
*!TestShell::resetTestController
*!runTest

UNINITIALIZED READ
name=bug_222883
*!v8::internal::ScavengeVisitor::ScavengePointer
*!v8::internal::ScavengeVisitor::VisitPointers
*!v8::internal::StandardFrame::IterateExpressions
...
*!v8::internal::Heap::Scavenge
*!v8::internal::Heap::PerformGarbageCollection*

UNINITIALIZED READ
name=bug_238170a
*!blink::ElementRuleCollector::collectMatchingRules
*!blink::ElementRuleCollector::hasAnyMatchingRules

UNINITIALIZED READ
name=bug_238170b
*!blink::ElementRuleCollector::collectMatchingRules
*!blink::StyleResolver::matchAuthorRules

UNINITIALIZED READ
name=bug_238170c
*!blink::ReplaceSelectionCommand::doApply
*!blink::CompositeEditCommand::apply
*!blink::applyCommand

UNINITIALIZED READ
name=bug_259789
*!blink::::adjustAttributes
*!blink::WebGLRenderingContext::maybeRestoreContext
*!blink::Timer<>::fired
*!blink::ThreadTimers::sharedTimerFiredInternal
*!blink::ThreadTimers::sharedTimerFired
*!content::BlinkPlatformImpl::DoTimeout

UNINITIALIZED READ
name=bug_290405
*!GrGradientEffect::onIsEqual
*!GrEffect::isEqual
*!GrEffectStage::DeferredStage::isEqual
*!GrDrawState::DeferredState::isEqual
*!GrInOrderDrawBuffer::needsNewState
*!GrInOrderDrawBuffer::onDraw
*!GrDrawTarget::drawIndexedInstances
*!GrTextContext::flushGlyphs

UNINITIALIZED READ
name=bug_290435
*!blink::AudioContext::scheduleNodeDeletion
*!blink::AudioContext::handlePostRenderTasks
*!blink::AudioDestinationNode::render
*!blink::OfflineAudioDestinationNode::offlineRender

UNINITIALIZED READ
name=bug_364724
*!base::MD5DigestToBase16
*!content::WebKitTestRunner::CaptureDumpPixels

UNINITIALIZED READ
name=bug_298143
...
*!blink::TypeConversionsV8Internal*AttributeGetter*

UNINITIALIZED READ
name=bug_299804
*!GrConfigConversionEffect::TestForPreservingPMConversions
*!::test_pm_conversions
*!GrContext::createPMToUPMEffect
*!GrContext::readRenderTargetPixels
*!SkGpuDevice::onReadPixels
*!SkBaseDevice::readPixels
*!SkCanvas::readPixels
*!DeferredDevice::onReadPixels
*!SkBaseDevice::readPixels
*!SkCanvas::readPixels
*!blink::GraphicsContext::readPixels
*!WTF::PassRefPtr<>
*!blink::ImageBuffer::getUnmultipliedImageData
*!blink::CanvasRenderingContext2D::getImageData
*!blink::CanvasRenderingContext2D::getImageData
*!blink::CanvasRenderingContext2DV8Internal::getImageDataMethod
*!blink::CanvasRenderingContext2DV8Internal::getImageDataMethodCallback
*!v8::internal::FunctionCallbackArguments::Call
*!v8::internal::HandleApiCallHelper<>

UNINITIALIZED READ
name=bug_309477
*!WebTestRunner::EventSender::reset
*!WebTestRunner::TestInterfaces::resetTestHelperControllers
*!WebTestRunner::TestInterfaces::resetAll
...
*!content::ShellRenderProcessObserver::WebKitInitialized
*!content::RenderThreadImpl::EnsureWebKitInitialized
*!content::RenderThreadImpl::OnCreateNewView

###############################################################
# Real issues in Chromium

LEAK
name=http://crbug.com/32085
...
chrome.dll!NotificationRegistrar::Add

UNINITIALIZED READ
name=http://crbug.com/57266 (1)
...
*!remoting::EncoderVp8::Encode

UNINITIALIZED READ
name=http://crbug.com/57266 (2)
...
*!vp8_*

LEAK
name=http://crbug.com/70062
*!PR_Calloc
*!PR_NewLock
...
*!InitSessionCacheLocks
*!initSessionCacheLocksLazily
*!PR_CallOnce
*!ssl_InitSessionCacheLocks
*!lock_cache
*!ssl_LookupSID
*!ssl2_BeginClientHandshake
*!ssl_Do1stHandshake
*!SSL_ForceHandshake
*!net::SSL*SocketNSS::DoHandshake
*!net::SSL*SocketNSS::DoHandshakeLoop

LEAK
name=http://crbug.com/74417 a
*!replace_operator_new
*!disk_cache::BackendImpl::CreateEntryImpl

LEAK
name=http://crbug.com/74417 b
*!replace_operator_new
*!disk_cache::BackendImpl::NewEntry

# One more disk_cache::BackendImpl leak.  See also http://crbug.com/87500.
LEAK
name=http://crbug.com/74417 c
*!replace_operator_new
...
*!disk_cache::EntryImpl::UserBuffer::UserBuffer

LEAK
name=http://crbug.com/75247
...
*!replace_operator_new
*!AutofillDownloadTestHelper::AutofillDownloadTestHelper

LEAK
name=http://crbug.com/78784
*!generic_cpp_alloc
*!operator new
*!TestingProfile::CreateRequestContext
*!*ProfileSyncService*::SetUp

LEAK
name=http://crbug.com/80550 (1)
...
*!RenderWidgetHost::WasHidden

LEAK
name=http://crbug.com/80550 (2)
...
*!RenderWidgetHost::WasRestored

LEAK
name=http://crbug.com/87612
...
*!SSL_ConfigSecureServer
*!net::SSLServerSocketNSS::InitializeSSLOptions
*!net::SSLServerSocketNSS::Handshake

LEAK
name=http://crbug.com/88640
*!generic_cpp_alloc
*!operator new
*!ProfileImpl::InitRegisteredProtocolHandlers
*!ProfileImpl::DoFinalInit
*!ProfileImpl::OnPrefsLoaded

LEAK
name=http://crbug.com/91465
*!generic_cpp_alloc
*!operator new
*!browser_sync::internal::WeakHandleCore<>::*
*!browser_sync::WeakHandle<>::*
*!syncer::SyncManager::SyncInternal::Init

LEAK
name=http://crbug.com/91491
...
*!CrxUpdateService::ProcessPendingItems

UNINITIALIZED READ
name=http://crbug.com/92026 (1)
softokn3.dll!FC_GetFunctionList
...
softokn3.dll!NSC_ModuleDBFunc

UNINITIALIZED READ
name=http://crbug.com/92026 (2)
freebl3.dll!FREEBL_GetVector
...
softokn3.dll!NSC_ModuleDBFunc

# Possible real Chromium issue in DoCrossfade.
UNINITIALIZED READ
name=http://crbug.com/110049
*!media::DoCrossfade<>
*!media::Crossfade
*!media::AudioRendererAlgorithmBase::FillBuffer

# Known sqlite3 leaks.
LEAK
name=http://crbug.com/113847 (1)
...
*!sqlite3MemMalloc
*!mallocWithAlarm
*!sqlite3Malloc
...
*!yy_reduce

LEAK
name=http://crbug.com/113847 (2)
...
*!openDatabase
*!sqlite3_open

LEAK
name=http://crbug.com/115328
...
*!GenericInfoViewTest_GenericInfoView_Test::TestBody

LEAK
name=http://crbug.com/117427 a
...
*!net::HostCache::Set
*!net::HostResolverImpl::CacheResult
*!net::HostResolverImpl::Job::CompleteRequests
*!net::HostResolverImpl::Job::OnProcTaskComplete
*!base::internal::RunnableAdapter<>::Run

# Probably related to 117427.  Someone is not tearing down DNS resolution during
# testing.
LEAK
name=http://crbug.com/117427 b
*!generic_cpp_alloc
*!operator new
*!base::internal::WeakReferenceOwner::GetRef
*!base::SupportsWeakPtr<>::AsWeakPtr
*!net::HostResolverImpl::Job::Job
*!net::HostResolverImpl::Resolve
*!net::SingleRequestHostResolver::Resolve
*!net::TransportConnectJob::DoResolveHost
*!net::TransportConnectJob::DoLoop
*!net::TransportConnectJob::ConnectInternal
*!net::ConnectJob::Connect
*!net::internal::ClientSocketPoolBaseHelper::RequestSocketInternal
*!net::internal::ClientSocketPoolBaseHelper::RequestSocket
*!net::ClientSocketPoolBase<>::RequestSocket
*!net::TransportClientSocketPool::RequestSocket
*!net::ClientSocketHandle::Init<>
*!net::`anonymous namespace'::InitSocketPoolHelper
*!net::InitSocketHandleForRawConnect
*!notifier::ProxyResolvingClientSocket::ProcessProxyResolveDone
*!base::internal::RunnableAdapter<>::Run

# IE frame possible leak of COM object.
LEAK
name=http://crbug.com/122399
ole32.dll!...
ole32.dll!CoTaskMemAlloc
urlmon.dll!...
urlmon.dll!CreateUri
IEFRAME.dll!*

# RenderWidgetHelper leak in DelayProfileDestruction test.
LEAK
name=http://crbug.com/125565
*!generic_cpp_alloc
*!operator new
*!RenderProcessHostImpl::RenderProcessHostImpl
*!SiteInstanceImpl::GetProcess
*!BrowserTestOffTheRecord_DelayProfileDestruction_Test::TestBody

LEAK
name=http://crbug.com/125807
*!generic_cpp_alloc
*!operator new
*!TransportSecurityPersister::TransportSecurityPersister
*!TransportSecurityPersisterTest::TransportSecurityPersisterTest

UNINITIALIZED READ
name=bug_113076
*!media::ConvertYUVToRGB32_C
*!media::LinearScaleYUVToRGB32RowWithRange_C
*!media::ScaleYUVToRGB32WithRect

UNINITIALIZED READ
name=bug_343248
osmesa.dll!LINTERP
osmesa.dll!INTERP_4F
osmesa.dll!_tnl_generic_interp

UNINITIALIZED READ
name=bug_340752
...
*!*::ThreadState::visitStack

UNINITIALIZED READ
name=bug_343663
blink_web.dll!blink::RenderBlock::computeInlinePreferredLogicalWidths

UNINITIALIZED READ
name=bug_343797
...
blink_web.dll!blink::MediaQueryExp::create
blink_web.dll!blink::BisonCSSParser::createFloatingMediaQueryExp
blink_web.dll!cssyyparse

UNINITIALIZED READ
name=bug_343915
blink_web.dll!blink::BisonCSSParser::parseFlex
blink_web.dll!blink::BisonCSSParser::parseValue
blink_web.dll!cssyyparse

UNADDRESSABLE ACCESS
name=BUG_343958
blink_web.dll!blink::Node::getFlag
blink_web.dll!blink::Node::inDocument
blink_web.dll!blink::Node::isDescendantOf
blink_web.dll!blink::CompositeEditCommand::cloneParagraphUnderNewElement
blink_web.dll!blink::CompositeEditCommand::moveParagraphWithClones

UNINITIALIZED READ
name=BUG_344076
blink_web.dll!blink::Editor::canSmartReplaceWithPasteboard
blink_web.dll!blink::Editor::pasteAsPlainTextWithPasteboard
blink_web.dll!blink::Editor::pasteAsPlainText
blink_web.dll!blink::executePasteAndMatchStyle
blink_web.dll!blink::Editor::Command::execute
blink_web.dll!blink::Document::execCommand

UNINITIALIZED READ
name=BUG_349128
content.dll!std::*
...
content.dll!content::BrowserAccessibilityManagerWin::*
...
*!*::UpdateNode

# There are so many osmesa errors we have to suppress (mostly the unpack_RGB*
# variety) that it's a performance hit.  We avoid that by requesting
# whole-module suppression
# (see https://github.com/DynamoRIO/drmemory/issues/1529).
UNINITIALIZED READ
name=bug_347967_all_osmesa
osmesa.dll!*

UNINITIALIZED READ
name=bug_347967
osmesa.dll!unpack_RGB*888
osmesa.dll!_mesa_unpack_rgba_row
osmesa.dll!slow_read_rgba_pixels
osmesa.dll!read_rgba_pixels
osmesa.dll!_mesa_readpixels
...
gpu.dll!gpu::gles2::GLES2DecoderImpl::DoCommand
gpu.dll!gpu::CommandParser::ProcessCommand
gpu.dll!gpu::GpuScheduler::PutChanged

UNINITIALIZED READ
name=bug_347967,bug_348357
osmesa.dll!clip_span
osmesa.dll!_swrast_write_rgba_span
osmesa.dll!general_triangle
...
gpu.dll!gpu::gles2::GLES2DecoderImpl::DoDrawElements
gpu.dll!gpu::gles2::GLES2DecoderImpl::HandleDrawElements
gpu.dll!gpu::gles2::GLES2DecoderImpl::DoCommand
gpu.dll!gpu::CommandParser::ProcessCommand

UNINITIALIZED READ
name=bug_361594
...
skia.dll!SkA8_Shader_Blitter::blitH
skia.dll!SkBlitter::blitRect
skia.dll!blitrect
skia.dll!SkScan::FillIRect
...
skia.dll!SkDraw::drawRect
skia.dll!SkDraw::drawBitmap
skia.dll!SkBitmapDevice::drawBitmap
skia.dll!SkCanvas::internalDrawBitmap
skia.dll!SkCanvas::drawBitmap
content.dll!content::ScreenshotData::EncodeOnWorker

UNINITIALIZED READ
name=bug_363487
blink_web.dll!blink::RenderLayerCompositor::updateIfNeeded
blink_web.dll!blink::RenderLayerCompositor::updateIfNeededRecursive
blink_web.dll!blink::FrameView::updateLayoutAndStyleForPainting
blink_web.dll!blink::PageAnimator::updateLayoutAndStyleForPainting

UNINITIALIZED READ
name=bug_365101
*!device::BluetoothAdapterWin::AdapterStateChanged

UNINITIALIZED READ
name=bug_364146
...
v8.dll!*
net_with_v8.dll!net::ProxyResolverV8::Context::*

UNINITIALIZED READ
name=bug_334448
*!CLD2::UTF8GenericReplaceInternal
*!CLD2::UTF8GenericReplace
*!CLD2::ScriptScanner::LowerScriptSpan
*!CLD2::ScriptScanner::GetOneScriptSpanLower
*!CLD2::DetectLanguageSummaryV2
*!CLD2::DetectLanguageSummary

UNINITIALIZED READ
name=bug_42043
...
QuickTime.qts!*

UNINITIALIZED READ
name=bug_369141
...
*!blink::RenderLayerClipper::updateClipRects
*!blink::RenderLayerClipper::parentClipRects
*!blink::RenderLayerClipper::backgroundClipRect

HANDLE LEAK
name=bug_370178
system call NtCreateEvent
KERNELBASE.dll!CreateEventExW
KERNELBASE.dll!CreateEventW
base.dll!base::WaitableEvent::WaitableEvent
gpu.dll!gpu::InProcessCommandBuffer::Initialize
gl_in_process_context.dll!gpu::`anonymous namespace'::GLInProcessContextImpl::Initialize
gl_in_process_context.dll!gpu::GLInProcessContext::CreateContext

UNINITIALIZED READ
name=bug_371844
*!content::GamepadProvider::PadState::Match
*!content::GamepadProvider::DoPoll

UNINITIALIZED READ
name=bug_371950
media.dll!ConvertYUVToRGB32Row_SSE
media.dll!media::ConvertYUVToRGB32_SSE
media.dll!media::ConvertVideoFrameToBitmap
media.dll!media::SkCanvasVideoRenderer::Paint
cc.dll!cc::VideoResourceUpdater::CreateForSoftwarePlanes
cc.dll!cc::VideoResourceUpdater::CreateExternalResourcesFromVideoFrame
cc.dll!cc::VideoLayerImpl::WillDraw

UNINITIALIZED READ
name=bug_371959
content.dll!webrtc::PeerConnection::DoInitialize
content.dll!webrtc::PeerConnection::Initialize
content.dll!webrtc::PeerConnectionFactory::CreatePeerConnection_s
content.dll!webrtc::PeerConnectionFactory::OnMessage
content.dll!jingle_glue::JingleThreadWrapper::Send
content.dll!webrtc::PeerConnectionFactory::CreatePeerConnection
content.dll!webrtc::PeerConnectionFactoryInterface::CreatePeerConnection

# This suppression is deliberately general, as bugs reported in
# ProcessOutgoingMessages are difficult to track down until we
# get our annotations in place.
# TODO(bruening): add annotations once we have the infrastructure.
UNINITIALIZED READ
name=bug_371991
system call NtWriteFile parameter #5
KERNELBASE.dll!WriteFile
KERNEL32.dll!WriteFile*
*!IPC::Channel*::ProcessOutgoingMessages

UNINITIALIZED READ
name=bug_372254
*!content::*::NotifyPluginProcessHostHelper

UNINITIALIZED READ
name=drm_i#1546
*!testing::internal::CmpHelperEQ<>
...
*!content::BrowserPluginTest_ResizeFlowControl_Test::TestBody

UNINITIALIZED READ
name=bug_374410
*!ui::NativeThemeWin::PaintScrollbarTrack
*!ui::NativeThemeWin::PaintDirect

UNINITIALIZED READ
name=bug_377728
...
*!Hunspell::suggest
*!HunspellEngine::FillSuggestionList
*!SpellcheckLanguage::SpellCheckWord
*!SpellCheck::SpellCheckWord

UNINITIALIZED READ
name=bug_387373
*!blink::WebEmbeddedWorkerImpl::startWorkerContext
*!content::EmbeddedWorkerDispatcher::OnStartWorker
*!EmbeddedWorkerMsg_StartWorker::Dispatch<>

UNADDRESSABLE ACCESS
name=bug_389132
content.dll!crypto_kernel_do_load_cipher_type
content.dll!crypto_kernel_load_cipher_type
content.dll!crypto_kernel_init
content.dll!cricket::SrtpSession::SetKey
content.dll!cricket::SrtpSession::SetSend
content.dll!cricket::SrtpFilter::SetRtpParams
content.dll!cricket::BaseChannel::SetupDtlsSrtp
content.dll!cricket::BaseChannel::ChannelWritable_w
content.dll!cricket::BaseChannel::OnWritableState

UNINITIALIZED READ
name=bug_392585
system call NtCreateFile parameter #9
*!testing::internal::HandleExceptionsInMethodIfSupported<>

UNADDRESSABLE ACCESS
name=bug_398850
...
wtf.dll!WTF::PlatformCondition::timedWait

UNINITIALIZED READ
name=bug_399293
blink_web.dll!blink::InputMethodController::extendSelectionAndDelete
blink_web.dll!blink::WebLocalFrameImpl::extendSelectionAndDelete
content.dll!content::RenderFrameImpl::OnExtendSelectionAndDelete
*!content::RenderViewImplTest_OnExtendSelectionAndDelete_Test::TestBody
*!testing::internal::HandleExceptionsInMethodIfSupported<>

UNINITIALIZED READ
name=bug_398547
system call NtWriteFile parameter #5
KERNELBASE.dll!WriteFile
KERNEL32.dll!WriteFile
mojo_system_impl.dll!mojo::system::`anonymous namespace'::RawChannelWin::WriteNoLock

HANDLE LEAK
name=bug_403544
system call NtCreateSemaphore
KERNELBASE.dll!CreateSemaphoreExW
...
v8.dll!v8::internal::SweeperThread::SweeperThread
...
blink_web.dll!blink::WorkerScriptController::WorkerScriptController
blink_web.dll!blink::WorkerGlobalScope::WorkerGlobalScope
blink_web.dll!blink::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope


HANDLE LEAK
name=bug_403681
system call NtCreateTimer
KERNELBASE.dll!CreateWaitableTimerExW
KERNEL32.dll!CreateWaitableTimerW
content.dll!rtc::Timing::Timing
content.dll!content::RenderProcessHostImpl::CreateMessageFilters
...
content.dll!content::RenderViewHostImpl::CreateRenderView
content.dll!content::WebContentsImpl::CreateRenderViewForRenderManager
...
content.dll!content::NavigationControllerImpl::LoadEntry
...
*!extensions::ExtensionHost::LoadInitialURL

UNINITIALIZED READ
name=bug_414268
pdf.dll!chrome_pdf::PDFiumEngine::OnMouseMove
pdf.dll!chrome_pdf::PDFiumEngine::HandleEvent
pdf.dll!chrome_pdf::OutOfProcessInstance::HandleInputEvent
pdf.dll!pp::InputEvent_HandleEvent
ppapi_proxy.dll!ppapi::CallWhileUnlocked<>
ppapi_proxy.dll!ppapi::proxy::PPP_InputEvent_Proxy::OnMsgHandleFilteredInputEvent

UNADDRESSABLE ACCESS
name=bug_425097
...
*!ash::test::ShelfViewTest_CheckDragAndDropFromOverflowBubbleToShelf_Test::TestBody

UNINITIALIZED READ
name=bug_432067
system call NtCreateFile parameter #9
MSWSOCK.dll!*
content.dll!content::AppCacheStorageImpl::DatabaseTask::CallRun

UNADDRESSABLE ACCESS
name=bug_436131
*!ash::test::ShelfViewTestAPI::RunMessageLoopUntilAnimationsDone
*!ash::test::ShelfViewTest_OverflowBubbleSize_Test::TestBody
*!testing::internal::HandleExceptionsInMethodIfSupported<>

UNADDRESSABLE ACCESS
name=bug_436131_b
views.dll!ObserverListBase<>::RemoveObserver
*!ash::test::ShelfViewTestAPI::RunMessageLoopUntilAnimationsDone
*!testing::internal::HandleExceptionsInMethodIfSupported<>

UNADDRESSABLE ACCESS
name=bug_436131_c
*!ash::test::ShelfViewTestAPI::GetPreferredSize
*!ash::test::ShelfViewTest_OverflowBubbleSize_Test::TestBody
*!testing::internal::HandleExceptionsInMethodIfSupported<>

UNINITIALIZED READ
name=bug_399842
skia.dll!S32A_Opaque_BlitRow32_SSE4

UNINITIALIZED READ
name=bug_455417
*!std::char_traits<>::compare
...
*!*::*URLRequest*::TestBody
