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

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

# Reports from Sophos antivirus
UNADDRESSABLE ACCESS
name=Sophos UNADDR
...
sophos*.dll!*

UNINITIALIZED READ
name=Sophos UNINIT
...
sophos*.dll!*

LEAK
name=Sophos LEAK
...
sophos*.dll!*

# Reports from Micorosft RDP ActiveX control (mstscax.dll)

GDI USAGE ERROR
name=crbug.com/177832: mstscax.dll causes "GDI USAGE ERROR" errors.
...
mstscax.dll!*

UNADDRESSABLE ACCESS
name=crbug.com/177832: mstscax.dll causes "UNADDRESSABLE ACCESS" errors.
...
mstscax.dll!*

############################
# 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

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=12 UNADDR
...
SHELL32.dll!SHFileOperation*

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=40 UNADDR
...
WINSPOOL.DRV!*

INVALID HEAP ARGUMENT
name=http://code.google.com/p/drmemory/issues/detail?id=40 INVALID HEAP
...
WINSPOOL.DRV!*

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=59
...
*!SetEnvironmentVariable*

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=68 (UNADDR 1)
...
MSWSOCK.dll!WSPStartup

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=68 (UNADDR 2)
...
ntdll.dll!RtlValidateUnicodeString

############################
# TODO(timurrrr): investigate these
UNADDRESSABLE ACCESS
name=TODO SHParseDisplayName
...
*!SHParseDisplayName

UNADDRESSABLE ACCESS
name=TODO GetCanonicalPathInfo
...
*!GetCanonicalPathInfo*

UNADDRESSABLE ACCESS
name=TODO CreateDC
...
GDI32.dll!CreateDC*

# This one looks interesting
INVALID HEAP ARGUMENT
name=TODO ExitProcess
...
KERNEL32.dll!ExitProcess

INVALID HEAP ARGUMENT
name=http://crbug.com/103365 (a)
ppapi_tests.dll!*
...
ppapi_tests.dll!*
*!base::internal::RunnableAdapter<*>::Run

INVALID HEAP ARGUMENT
name=http://crbug.com/103365 (b)
ppapi_tests.dll!*
...
ppapi_tests.dll!*
*!PP_RunCompletionCallback
...
*!base::internal::RunnableAdapter<*>::Run

INVALID HEAP ARGUMENT
name=http://crbug.com/107567 intentional mismatch in _DebugHeapDelete, no frame
*!std::numpunct<*>::_Tidy
*!std::numpunct<*>::~numpunct<*>

# TODO(rbultje): Investigate if code fix is required instead.
WARNING
name=http://crbug.com/223255 - prefetches in vp8
instruction=prefetch*
ffmpegsumo.dll!ff_prefetch_mmxext

############################
# Intentional errors in Chromium tests (ToolsSanityTests)
LEAK
name=sanity test 01 (memory leak)
base_unittests.exe!operator new
base_unittests.exe!operator new[]
base_unittests.exe!base::ToolsSanityTest_MemoryLeak_Test::TestBody

# "..." is needed due to http://code.google.com/p/drmemory/issues/detail?id=666
UNADDRESSABLE ACCESS
name=sanity test 02 (malloc/read left)
base_unittests.exe!*ReadValueOutOfArrayBoundsLeft
...
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 03 (malloc/read right)
base_unittests.exe!*ReadValueOutOfArrayBoundsRight
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 04 (malloc/write left)
base_unittests.exe!*WriteValueOutOfArrayBoundsLeft
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 05 (malloc/write right)
base_unittests.exe!*WriteValueOutOfArrayBoundsRight
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

# "..." is needed due to http://code.google.com/p/drmemory/issues/detail?id=666
UNADDRESSABLE ACCESS
name=sanity test 06 (new/read left)
base_unittests.exe!*ReadValueOutOfArrayBoundsLeft
...
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 07 (new/read right)
base_unittests.exe!*ReadValueOutOfArrayBoundsRight
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 08 (new/write left)
base_unittests.exe!*WriteValueOutOfArrayBoundsLeft
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 09 (new/write right)
base_unittests.exe!*WriteValueOutOfArrayBoundsRight
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 10 (write after free)
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=sanity test 11 (write after delete)
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

INVALID HEAP ARGUMENT
name=sanity test 12 (array deleted without [])
base_unittests.exe!base::ToolsSanityTest_ArrayDeletedWithoutBraces_Test::TestBody

INVALID HEAP ARGUMENT
name=sanity test 13 (single element deleted with [])
base_unittests.exe!base::ToolsSanityTest_SingleElementDeletedWithBraces_Test::TestBody

UNINITIALIZED READ
name=sanity test 14 (malloc/read uninit)
base_unittests.exe!*ReadUninitializedValue
...
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody

UNINITIALIZED READ
name=sanity test 15 (new/read uninit)
base_unittests.exe!*ReadUninitializedValue
...
base_unittests.exe!*MakeSomeErrors
base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody

UNADDRESSABLE ACCESS
name=AboutHandler::AboutCrash deliberate crash
# TODO(bruening): switch to annotation once have support for that
chrome.dll!AboutHandler::AboutCrash

UNADDRESSABLE ACCESS
name=NPAPITesterBase.NoHangIfInitCrashes deliberate crash
# function is small, little risk for false negative in rest of it
# TODO(bruening): switch to annotation once have support for that
npapi_test_plugin.dll!NPAPIClient::PluginClient::Initialize

# Deliberate NULL deref to crash the child process
UNADDRESSABLE ACCESS
name=CrashingChildProcess deliberate crash
*!CrashingChildProcess

UNADDRESSABLE ACCESS
name=::Crasher::Run deliberate crash
*!base::`anonymous namespace'::Crasher::Run

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

WARNING
name=http://crbug.com/72463 - prefetches in generated MemCopy
instruction=prefetch*
<not in a module>
chrome.dll!v8::internal::CopyChars*

WARNING
name=prefetches in NVD3DUM.dll
instruction=prefetch*
NVD3DUM.dll!*

WARNING
name=prefetches in igdumd32.dll
instruction=prefetch*
igdumd32.dll!*

UNADDRESSABLE ACCESS
name=http://code.google.com/p/drmemory/issues/detail?id=582 bizarre cl-generated read-beyond-TOS
instruction=mov    0xfffffffc(%esp) -> %eax
chrome.dll!blink::RenderStyle::resetBorder*

INVALID HEAP ARGUMENT
name=http://crbug.com/101717 (1)
*!sandbox::PolicyBase::~PolicyBase

INVALID HEAP ARGUMENT
name=http://crbug.com/101717 (2)
*!scoped_ptr<>::~scoped_ptr<>
*!sandbox::GetHandleName

INVALID HEAP ARGUMENT
name=http://crbug.com/101717 (3)
*!scoped_ptr<>::~scoped_ptr<>
*!sandbox::GetPathFromHandle

GDI USAGE ERROR
name=http://code.google.com/p/drmemory/issues/detail?id=899 deleting bitmap which is probably safe
system call NtGdiDeleteObjectApp
*!skia::`anonymous namespace'::Bitmap::~Bitmap
*!skia::`anonymous namespace'::Bitmap::`scalar deleting destructor'

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

UNADDRESSABLE ACCESS
name=http://crbug.com/88213
*!base::win::ObjectWatcher::StopWatching
*!base::win::ObjectWatcher::WillDestroyCurrentMessageLoop
*!MessageLoop::~MessageLoop

UNADDRESSABLE ACCESS
name=http://crbug.com/96010
*!TestingProfile::FinishInit
*!TestingProfile::TestingProfile
*!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody

UNADDRESSABLE ACCESS
name=http://crbug.com/106522
npapi_test_plugin.dll!NPAPIClient::PluginTest::id
npapi_test_plugin.dll!NPAPIClient::ExecuteGetJavascriptUrlTest::TimerProc

GDI USAGE ERROR
name=http://crbug.com/109963 c
system call NtGdiDeleteObjectApp
GDI32.dll!DeleteDC
content.dll!*

GDI USAGE ERROR
name=http://crbug.com/109963 d
system call NtGdiDeleteObjectApp
GDI32.dll!DeleteDC
*!base::internal::RunnableAdapter*

# GDI usage errors in 3rd-party components
GDI USAGE ERROR
name=http://crbug.com/119552 a
system call NtGdiDeleteObjectApp
...
*!OmniboxViewWin::*

GDI USAGE ERROR
name=http://crbug.com/119552 b
system call Nt*
...
*!ATL::*

GDI USAGE ERROR
name=http://crbug.com/119552 c
# optional gdi32.dll frame followed by user32.dll
# TODO(bruening): once have
# http://code.google.com/p/drmemory/issues/detail?id=846
# I would do "gdi32.dll!...\nuser32.dll!*"
*32.dll!*
...
shell32.dll!SHGetFileInfoW
*!IconLoader::ReadIcon

GDI USAGE ERROR
name=http://crbug.com/119552 d
system call NtGdiDeleteObjectApp
gdi32.dll!DeleteObject
riched20.dll!*
riched20.dll!*
riched20.dll!*

GDI USAGE ERROR
name=http://crbug.com/120157
# "ReleaseDC called from different thread than GetDC"
system call NtUserCallOneParam.RELEASEDC
*!*FontCache::CacheElement::~CacheElement

GDI USAGE ERROR
name=http://crbug.com/158090
# "DC created by one thread and used by another"
...
content.dll!content::*::FontCache::PreCacheFont
content.dll!content::FontCacheDispatcher::OnPreCacheFont
content.dll!DispatchToMethod<>

GDI USAGE ERROR
name=http://crbug.com/158090 c#4
# ReleaseDC for DC called from different thread than the thread that called GetDC
system call NtUserCallOneParam.RELEASEDC
ui.dll!gfx::ReadColorProfile
ui.dll!gfx::GetColorProfile
content.dll!content::RenderMessageFilter::OnGetMonitorColorProfile
content.dll!DispatchToMethod*

INVALID HEAP ARGUMENT
name=http://crbug.com/158350
# allocated with operator new[], freed with operator delete
*!*
*!*
*!*
*!*
*!*
content.dll!*
content.dll!*
content.dll!*
content.dll!*
content.dll!*
*!*
*!*
*!*
*!*
*!*
KERNEL32.dll!*
ntdll.dll!*
ntdll.dll!*

WARNING
name=Security test (new oveflow)
MSVCR100D.dll!operator new
*!operator new
*!operator new[]
*!`anonymous namespace'::SecurityTest_NewOverflow_Test::TestBody
*!testing::internal::HandleExceptionsInMethodIfSupported<>

WARNING
name=Security test (calloc overflow)
*!`anonymous namespace'::CallocReturnsNull
*!`anonymous namespace'::SecurityTest_CallocOverflow_Test::TestBody
*!testing::internal::HandleExceptionsInMethodIfSupported<>

GDI USAGE ERROR
name=http://crbug.com/234484
# "DC created by one thread and used by another"
...
*!chrome::`anonymous namespace'::SetOverlayIcon

INVALID HEAP ARGUMENT
name=http://crbug.com/262088
drmemorylib.dll!av_dup_packet
msvcrt.dll!wcsrchr
ntdll.dll!RtlIsCurrentThreadAttachExempt
ntdll.dll!LdrShutdownThread
ntdll.dll!RtlExitUserThread

GDI USAGE ERROR
name=http://crbug.com/266484
skia.dll!HDCOffscreen::draw
...
skia.dll!SkScalerContext::getImage
skia.dll!SkGlyphCache::findImage
skia.dll!D1G_RectClip
skia.dll!SkDraw::drawText

HANDLE LEAK
name=http://crbug.com/346842
system call NtGdiCreateDIBSection
*!CreateDIBSection
*!HDCOffscreen::draw
*!SkScalerContext_GDI::generateImage
*!SkScalerContext::getImage
*!SkGlyphCache::findImage
*!D1G*RectClip
*!SkDraw::drawPosText
*!SkBitmapDevice::drawPosText

HANDLE LEAK
name=http://crbug.com/346993
system call NtDuplicateObject
KERNELBASE.dll!DuplicateHandle
KERNEL32.dll!DuplicateHandle*
base.dll!base::`anonymous namespace'::ThreadFunc
KERNEL32.dll!BaseThreadInitThunk

UNADDRESSABLE ACCESS
name=http://crbug.com/42043-uninit
...
QuickTime.qts!*

GDI USAGE ERROR
name=http://crbug.com/42043-gdi
...
QuickTime.qts!*

UNADDRESSABLE ACCESS
name=IntentionalCrash
*!content::*::*Crash*
*!content::*::MaybeHandleDebugURL

HANDLE LEAK
name=http://crbug.com/371348
system call NtCreateSection
KERNELBASE.dll!CreateFileMappingW
base.dll!base::SharedMemory::Create
base.dll!base::SharedMemory::CreateAndMapAnonymous
content.dll!content::ChildThread::AllocateSharedMemory
content.dll!content::ChildSharedBitmapManager::AllocateSharedBitmap
cc.dll!cc::ResourceProvider::CreateBitmap

HANDLE LEAK
name=http://crbug.com/371357
system call NtCreateEvent
KERNELBASE.dll!CreateEventExW
KERNELBASE.dll!CreateEventW

HANDLE LEAK
name=http://crbug.com/371368
system call NtCreateNamedPipeFile
KERNELBASE.dll!CreateNamedPipeW
ipc.dll!IPC::Channel::ChannelImpl::CreatePipe
ipc.dll!IPC::Channel::ChannelImpl::ChannelImpl
ipc.dll!IPC::Channel::Channel
ipc.dll!IPC::ChannelProxy::Context::CreateChannel

HANDLE LEAK
name=http://crbug.com/371942
system call NtCreateThreadEx
KERNELBASE.dll!CreateRemoteThreadEx
KERNEL32.dll!CreateThread

HANDLE LEAK
name=http://crbug.com/371946
system call NtUserWindowFromPoint
content.dll!content::LegacyRenderWidgetHostHWND::OnMouseLeave
content.dll!content::LegacyRenderWidgetHostHWND::_ProcessWindowMessage
content.dll!content::LegacyRenderWidgetHostHWND::ProcessWindowMessage
content.dll!ATL::CWindowImplBaseT<>::WindowProc
USER32.dll!gapfnScSendMessage
USER32.dll!GetThreadDesktop
USER32.dll!CharPrevW
USER32.dll!DispatchMessageW
base.dll!base::MessagePumpForUI::ProcessMessageHelper
base.dll!base::MessagePumpForUI::ProcessNextWindowsMessage

UNADDRESSABLE ACCESS
name=http://crbug.com/372177
NPCTRL.dll!DllGetClassObject
NPCTRL.dll!DllGetClassObject
NPCTRL.dll!DllGetClassObject
NPCTRL.dll!DllGetClassObject

HANDLE LEAK
name=http://crbug.com/373333
system call NtGdiCreateCompatibleDC
*!CreateCompatibleDC
*!SkScalerContext_GDI::SkScalerContext_GDI
*!LogFontTypeface::onCreateScalerContext
*!SkTypeface::createScalerContext
*!SkGlyphCache::VisitCache
...
*!SkPaint::descriptorProc
...
*!blink::RenderBlockFlow::layoutBlockFlow
*!blink::RenderBlockFlow::layoutBlock
*!blink::RenderBlock::layout

HANDLE LEAK
name=https://code.google.com/p/drmemory/issues/detail?id=1545
system call NtGdiCreateCompatibleDC
GDI32.dll!CreateCompatibleDC
skia.dll!LogFontTypeface::onGetTableData

HANDLE LEAK
name=http://crbug.com/379000
system call NtCreate*
...
*!disk_cache::MappedFile::Init
*!disk_cache::BlockFiles::OpenBlockFile
*!disk_cache::BlockFiles::Init
*!disk_cache::BackendImpl::SyncInit
*!disk_cache::BackendIO::ExecuteBackendOperation
*!base::internal::Invoker<>::Run
*!base::MessageLoop::RunTask
*!base::MessageLoop::DeferOrRunPendingTask
*!base::MessageLoop::DoWork
*!base::MessagePumpForIO::DoRunLoop
*!base::MessagePumpWin::Run
*!base::MessageLoop::RunHandler
*!base::Thread::Run
*!content::BrowserThreadImpl::CacheThreadRun
*!content::BrowserThreadImpl::Run

UNADDRESSABLE ACCESS
name=http://crbug.com/379204
...
*!WTF::MessageQueue<>::waitForMessageWithTimeout
*!blink::WorkerRunLoop::run
*!blink::WorkerRunLoop::run
*!blink::WorkerThread::workerThread
*!WTF::threadEntryPoint

GDI USAGE ERROR
name=379774
system call NtUserCallOneParam.RELEASEDC
USER32.dll!ReleaseDC
*!std::_Tree<>::_Erase
*!std::_Tree<>::erase
*!DefaultSingletonTraits<>::Delete
*!Singleton<>::OnExit
*!base::AtExitManager::ProcessCallbacksNow
*!base::AtExitManager::~AtExitManager
*!base::TestSuite::~TestSuite

UNADDRESSABLE ACCESS
name=http://crbug.com/382784
*!content::PepperMediaStreamAudioTrackHost::AudioSink::OnData
*!content::MediaStreamAudioSinkOwner::OnData
*!content::WebRtcLocalAudioTrack::Capture
*!content::WebRtcAudioCapturer::Capture
*!media::AudioInputDevice::AudioThreadCallback::Process
*!media::AudioDeviceThread::Thread::Run
*!media::AudioDeviceThread::Thread::ThreadMain

HANDLE LEAK
name=http://crbug.com/383408
system call NtCreateEvent
...
*!base::internal::LockImpl::Lock
*!mojo::system::MessagePipe::RemoveWaiter
*!mojo::system::MessagePipeDispatcher::RemoveWaiterImplNoLock
*!mojo::system::Dispatcher::RemoveWaiter
*!mojo::system::Core::WaitManyInternal
*!mojo::system::Core::WaitMany
*!MojoWaitMany

UNADDRESSABLE ACCESS
name=IntentionalCrashPluginTest.plugin_client.cc
npapi_test_plugin.dll!NP_Initialize
...
*!content::PluginLib::NP_Initialize
*!content::PluginThread::PluginThread
*!content::PluginMain

UNADDRESSABLE ACCESS
name=http://crbug.com/313788
*!InProcessBrowserTest::AddBlankTabAndShow
*!InProcessBrowserTest::CreateBrowser
*!*::RunTestOnMainThread
*!InProcessBrowserTest::RunTestOnMainThreadLoop
*!ChromeBrowserMainParts::PreMainMessageLoopRunImpl
*!ChromeBrowserMainParts::PreMainMessageLoopRun

# This suppression is deliberately general, as bugs reported in
# v8 generated code are difficult to track down. Xref Dr. Memory issue
# https://code.google.com/p/drmemory/issues/detail?id=1582
UNADDRESSABLE ACCESS
name=https://code.google.com/p/drmemory/issues/detail?id=1582
...
*!v8::internal::Invoke
*!v8::internal::Execution::Call
*!v8::Function::Call

HANDLE LEAK
name=http://crbug.com/387394
system call NtCreateTimer
KERNELBASE.dll!CreateWaitableTimerExW
KERNEL32.dll!CreateWaitableTimerW
*!rtc::Timing::Timing
...
*!content::RenderProcessHostImpl::CreateMessageFilters
*!content::RenderProcessHostImpl::Init
*!content::RenderViewHostImpl::CreateRenderView

UNADDRESSABLE ACCESS
name=http://code.google.com/p/dynamorio/issues/detail?id=1443
dynamorio.dll!*

UNADDRESSABLE ACCESS
name=http://crbug.com/400495
aura.dll!aura::Window::Contains
aura.dll!aura::WindowEventDispatcher::OnWindowHidden
aura.dll!aura::WindowEventDispatcher::OnPostNotifiedWindowDestroying
aura.dll!aura::Window::~Window

UNADDRESSABLE ACCESS
name=http://crbug.com/400511
content.dll!content::WebThreadBase::TaskObserverAdapter::WillProcessTask
base.dll!base::MessageLoop::RunTask
base.dll!base::Thread::StopSoon
base.dll!base::MessageLoop::DeferOrRunPendingTask

UNADDRESSABLE ACCESS
name=http://crbug.com/414675
blink_web.dll!blink::toCoreFrame
blink_web.dll!blink::RemoteFrameClient::firstChild
blink_web.dll!blink::WebRemoteFrameImpl::~WebRemoteFrameImpl
blink_web.dll!blink::WebRemoteFrameImpl::close
content.dll!content::RenderFrameProxy::~RenderFrameProxy

UNADDRESSABLE ACCESS
name=http://crbug.com/420311
blink_web.dll!blink::Frame::deprecatedLocalOwner
blink_web.dll!blink::Document::topDocument
blink_web.dll!blink::Document::axObjectCacheOwner
blink_web.dll!blink::Document::existingAXObjectCache
blink_web.dll!blink::FrameView::removeFromAXObjectCache
blink_web.dll!blink::FrameView::prepareForDetach
blink_web.dll!blink::LocalFrame::setView
blink_web.dll!blink::FrameTree::~FrameTree
