# 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=https://github.com/DynamoRIO/drmemory/issues/12 UNADDR
...
SHELL32.dll!SHFileOperation*

UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/40 UNADDR
...
WINSPOOL.DRV!*

INVALID HEAP ARGUMENT
name=https://github.com/DynamoRIO/drmemory/issues/40 INVALID HEAP
...
WINSPOOL.DRV!*

UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/59
...
*!SetEnvironmentVariable*

UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/68 (UNADDR 1)
...
MSWSOCK.dll!WSPStartup

UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/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 https://github.com/DynamoRIO/drmemory/issues/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 https://github.com/DynamoRIO/drmemory/issues/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=https://github.com/DynamoRIO/drmemory/issues/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=https://github.com/DynamoRIO/drmemory/issues/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
# https://github.com/DynamoRIO/drmemory/issues/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::CreateAnonymous
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://github.com/DynamoRIO/drmemory/issues/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

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://github.com/DynamoRIO/drmemory/issues/1582
UNADDRESSABLE ACCESS
name=https://github.com/DynamoRIO/drmemory/issues/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=https://github.com/DynamoRIO/dynamorio/issues/1443
dynamorio.dll!*

UNINITIALIZED READ
name=https://github.com/DynamoRIO/dynamorio/issues/1443 (another instance)
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

UNADDRESSABLE ACCESS
name=http://crbug.com/432070
blink_web.dll!blink::Frame::detach
content.dll!content::RenderFrameProxy::OnDeleteProxy
content.dll!content::RenderFrameProxy::OnMessageReceived
content.dll!content::MessageRouter::RouteMessage

HANDLE LEAK
name=http://crbug.com/441785
system call NtCreateSection
*!CreateFileMappingW
*!base::SharedMemory::Create
*!base::SharedMemory::CreateAnonymous
*!content::ChildThread::AllocateSharedMemory
*!content::ChildSharedBitmapManager::AllocateSharedMemoryBitmap
*!content::ChildSharedBitmapManager::AllocateSharedBitmap
*!cc::ResourceProvider::CreateBitmap
*!cc::ResourceProvider::Create*Resource

UNADDRESSABLE ACCESS
name=http://crbug.com/445836_a
...
content.dll!content::RenderFrameImpl::~RenderFrameImpl
content.dll!content::RenderFrameImpl::`vector deleting destructor'
content.dll!content::RenderViewImpl::~RenderViewImpl
content.dll!content::RenderViewImpl::`vector deleting destructor'
content.dll!base::internal::BindState<>::`scalar deleting destructor'
base.dll!scoped_refptr<>::Release
base.dll!base::internal::CallbackBase::~CallbackBase

INVALID HEAP ARGUMENT
name=http://crbug.com/445836_b
drmemorylib.dll!replace_operator_delete
ipc.dll!IPC::Listener::`vector deleting destructor'
content.dll!content::RenderFrameImpl::~RenderFrameImpl
content.dll!content::RenderFrameImpl::`vector deleting destructor'
content.dll!content::RenderViewImpl::~RenderViewImpl
content.dll!content::RenderViewImpl::`vector deleting destructor'
content.dll!base::internal::BindState<>::`scalar deleting destructor'
base.dll!scoped_refptr<>::Release
base.dll!base::internal::CallbackBase::~CallbackBase

HANDLE LEAK
name=http://crbug.com/449989
system call NtOpenProcess
KERNELBASE.dll!OpenProcess
base.dll!base::Process::OpenWithExtraPriviles
content.dll!content::BrowserMessageFilter::Internal::OnChannelConnected
