| Index: tools/valgrind/drmemory/suppressions_full.txt
|
| diff --git a/tools/valgrind/drmemory/suppressions.txt b/tools/valgrind/drmemory/suppressions_full.txt
|
| similarity index 64%
|
| copy from tools/valgrind/drmemory/suppressions.txt
|
| copy to tools/valgrind/drmemory/suppressions_full.txt
|
| index 9c6df2327843239376909e66a9a12eda9743208a..cf0d6b046c0fe088df27e29a8f9fab4c6a1aaab7 100644
|
| --- a/tools/valgrind/drmemory/suppressions.txt
|
| +++ b/tools/valgrind/drmemory/suppressions_full.txt
|
| @@ -1,36 +1,34 @@
|
| +# 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=deflate UNINIT
|
| ...
|
| *!deflate_*
|
| *!MOZ_Z_deflate
|
|
|
| -# http://code.google.com/p/drmemory/issues/detail?id=406
|
| # TODO(timurrrr): check if these frames change when NT_SYMBOLS are present.
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=406
|
| ADVAPI32.dll!WmiOpenBlock
|
| ADVAPI32.dll!WmiOpenBlock
|
|
|
| -# Reports from Sophos antivirus
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -sophos*.dll!*
|
| -
|
| -UNINITIALIZED READ
|
| -...
|
| -sophos*.dll!*
|
| -
|
| -LEAK
|
| -...
|
| -sophos*.dll!*
|
| -
|
| # 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
|
| UNINITIALIZED READ
|
| +name=sqlite3_randomness UNINIT
|
| *!randomByte
|
| *!sqlite3_randomness
|
|
|
| @@ -38,82 +36,93 @@ UNINITIALIZED READ
|
| # Suppress some false reports due to bugs in Dr.Memory like wrong analysis
|
| # assumptions or unhandled syscalls
|
|
|
| -# http://code.google.com/p/drmemory/issues/detail?id=12
|
| # 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=http://code.google.com/p/drmemory/issues/detail?id=12 (1)
|
| ntdll.dll!Rtl*
|
| ntdll.dll!Rtl*
|
| ntdll.dll!RtlFindActivationContextSectionString
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (2)
|
| ...
|
| SHELL32.dll!SHFileOperation*
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (3)
|
| ...
|
| SHELL32.dll!SHGetFolderPath*
|
|
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (4)
|
| ...
|
| SHELL32.dll!SHGetFolderPath*
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (5)
|
| ...
|
| SHELL32.dll!SHCreateDirectory*
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -SHELL32.dll!SHFileOperation*
|
| -
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (6)
|
| ...
|
| SHELL32.dll!ILLoadFromStream*
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (7)
|
| ...
|
| SHELL32.dll!ILSaveToStream*
|
|
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (8)
|
| ...
|
| SHELL32.dll!SHFileOperation*
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (9)
|
| ...
|
| SHELL32.dll!SHGetItemFromDataObject
|
|
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (10)
|
| ...
|
| SHELL32.dll!SHGetItemFromDataObject
|
|
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=12 (11)
|
| ...
|
| ole32.dll!*
|
| SHELL32.dll!SHChangeNotifySuspendResume
|
|
|
| -# http://code.google.com/p/drmemory/issues/detail?id=14
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=14 (1)
|
| ...
|
| *!CreateProcess*
|
|
|
| LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=14 (2)
|
| ...
|
| *!CreateProcess*
|
|
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=14 (3)
|
| ...
|
| *!base::LaunchApp*
|
|
|
| -# http://code.google.com/p/drmemory/issues/detail?id=17
|
| UNINITIALIZED READ
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=17 (1)
|
| ...
|
| *!CreateWindow*
|
|
|
| POSSIBLE LEAK
|
| +name=http://code.google.com/p/drmemory/issues/detail?id=17 (2)
|
| GDI32.dll!*
|
| GDI32.dll!CreateFontIndirectExW
|
| GDI32.dll!CreateFontIndirectW
|
|
|
| +# TODO(timurrrr): I'm too lazy to add name= to all the suppressions below now.
|
| +
|
| # http://code.google.com/p/drmemory/issues/detail?id=18
|
| UNINITIALIZED READ
|
| ...
|
| @@ -136,14 +145,6 @@ UNINITIALIZED READ
|
| ...
|
| WINSPOOL.DRV!*
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -WINSPOOL.DRV!*
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -...
|
| -WINSPOOL.DRV!*
|
| -
|
| LEAK
|
| ...
|
| WINSPOOL.DRV!*
|
| @@ -181,11 +182,6 @@ UNINITIALIZED READ
|
| ...
|
| *!_cfltcvt_l
|
|
|
| -# http://code.google.com/p/drmemory/issues/detail?id=59
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -*!SetEnvironmentVariable*
|
| -
|
| # http://code.google.com/p/drmemory/issues/detail?id=60
|
| UNINITIALIZED READ
|
| USP10.dll!*
|
| @@ -221,18 +217,10 @@ UNINITIALIZED READ
|
| ...
|
| MSWSOCK.dll!WSPStartup
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -MSWSOCK.dll!WSPStartup
|
| -
|
| UNINITIALIZED READ
|
| ...
|
| ntdll.dll!RtlValidateUnicodeString
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -ntdll.dll!RtlValidateUnicodeString
|
| -
|
| # http://code.google.com/p/drmemory/issues/detail?id=256
|
| LEAK
|
| *!_mtinit
|
| @@ -522,16 +510,6 @@ POSSIBLE LEAK
|
| <ntdll.dll+0x64fde>
|
| <ntdll.dll+0x447f3>
|
|
|
| -# http://crbug.com/96433
|
| -UNADDRESSABLE ACCESS
|
| -ntdll.dll!*
|
| -ntdll.dll!*
|
| -ntdll.dll!*
|
| -KERNELBASE.dll!LocalReAlloc
|
| -CRYPT32.dll!*
|
| -...
|
| -CRYPT32.dll!CertControlStore
|
| -
|
| ############################
|
| # TODO(timurrrr): investigate these
|
| UNINITIALIZED READ
|
| @@ -550,10 +528,6 @@ UNINITIALIZED READ
|
| ...
|
| *!ShellExecute*
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -*!SHParseDisplayName
|
| -
|
| UNINITIALIZED READ
|
| ...
|
| *!SHParseDisplayName
|
| @@ -562,27 +536,14 @@ UNINITIALIZED READ
|
| ...
|
| *!GetCanonicalPathInfo*
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -*!GetCanonicalPathInfo*
|
| -
|
| UNINITIALIZED READ
|
| ...
|
| SHELL32.dll!Ordinal*
|
|
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -GDI32.dll!CreateDC*
|
| -
|
| UNINITIALIZED READ
|
| ...
|
| GDI32.dll!GetTextExtentPoint32*
|
|
|
| -# This one looks interesting
|
| -INVALID HEAP ARGUMENT
|
| -...
|
| -KERNEL32.dll!ExitProcess
|
| -
|
| UNINITIALIZED READ
|
| ...
|
| *!SyncSocketClientListener::OnMsgClassResponse
|
| @@ -604,126 +565,11 @@ UNINITIALIZED READ
|
| ...
|
| CRYPT32.dll!I_CertSyncStore
|
|
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/103365
|
| -ppapi_tests.dll!*
|
| -...
|
| -ppapi_tests.dll!*
|
| -*!base::internal::Invoker2<*>::DoInvoke
|
| -
|
| -############################
|
| -# 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=RendererCrashTest.Crash deliberate crash
|
| -# function is small, little risk for false negative in rest of it
|
| -# TODO(bruening): switch to annotation once have support for that
|
| -chrome.dll!HandleRendererErrorTestParameters
|
| -
|
| -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
|
| -
|
| # This test intentionally leaks an object and checks that it's never deleted
|
| LEAK
|
| ...
|
| *!BrowserThreadTest_NotReleasedIfTargetThreadNonExistent_Test::TestBody
|
|
|
| -# This test has a death test at the end that derefences a NULL pointer.
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -unit_tests.exe!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody
|
| -
|
| ############################
|
| # Benign issues in Chromium
|
|
|
| @@ -741,19 +587,13 @@ LEAK
|
| ...
|
| *!base::LazyInstance*::Pointer
|
|
|
| -# Deliberate NULL deref to crash the child process
|
| -UNADDRESSABLE ACCESS
|
| -*!CrashingChildProcess
|
| -
|
| -UNADDRESSABLE ACCESS
|
| -*!`anonymous namespace'::Crasher::Run
|
| -
|
| -# http://crbug.com/79933
|
| LEAK
|
| +name=http://crbug.com/79933 (1)
|
| ...
|
| *!TestURLRequestContext::Init
|
|
|
| LEAK
|
| +name=http://crbug.com/79933 (2)
|
| ...
|
| *!TestURLRequestContext::TestURLRequestContext
|
| *!TestURLRequestContextGetter::GetURLRequestContext
|
| @@ -763,56 +603,22 @@ LEAK
|
| *!sync_notifier::NonBlockingInvalidationNotifier::Core::UpdateCredentials
|
|
|
| LEAK
|
| +name=http://crbug.com/79933 (3)
|
| ...
|
| *!TestURLRequestContext::TestURLRequestContext
|
| *!TestURLRequestContextGetter::GetURLRequestContext
|
| *!URLFetcher::Core::StartURLRequest
|
|
|
| -WARNING
|
| -# http://code.google.com/p/chromium/issues/detail?id=72463
|
| -name=Ci#72463: prefetches in generated MemCopy
|
| -instruction=prefetch*
|
| -<not in a module>
|
| -chrome.dll!v8::internal::CopyChars*
|
| -
|
| -UNADDRESSABLE ACCESS
|
| -# http://code.google.com/p/drmemory/issues/detail?id=582
|
| -name=bizarre cl-generated read-beyond-TOS
|
| -instruction=mov 0xfffffffc(%esp) -> %eax
|
| -chrome.dll!WebCore::RenderStyle::resetBorder*
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/101537
|
| -*!scoped_ptr<_TOKEN_USER>*
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/101717 (1)
|
| -*!scoped_ptr<_TOKEN_DEFAULT_DACL>*
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/101717 (2)
|
| -*!sandbox::PolicyBase::~PolicyBase
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/101717 (3)
|
| -*!scoped_ptr<_UNICODE_STRING>::~scoped_ptr<_UNICODE_STRING>
|
| -*!sandbox::GetHandleName
|
| -
|
| -INVALID HEAP ARGUMENT
|
| -name=http://crbug.com/101717 (4)
|
| -*!scoped_ptr<_OBJECT_NAME_INFORMATION>::~scoped_ptr<_OBJECT_NAME_INFORMATION>
|
| -*!sandbox::GetPathFromHandle
|
| -
|
| ############################
|
| # Real issues in Chromium
|
|
|
| -# http://crbug.com/32085
|
| LEAK
|
| +name=http://crbug.com/32085
|
| ...
|
| chrome.dll!NotificationRegistrar::Add
|
|
|
| -# http://crbug.com/32623
|
| LEAK
|
| +name=http://crbug.com/32623
|
| ...
|
| *!ssl3_HandleHandshakeMessage
|
| *!ssl3_HandleHandshake
|
| @@ -823,18 +629,18 @@ LEAK
|
| *!net::SSLServerSocketNSS::DoHandshake
|
| *!net::SSLServerSocketNSS::DoHandshakeLoop
|
|
|
| -# http://crbug.com/57266 (1)
|
| UNINITIALIZED READ
|
| +name=http://crbug.com/57266 (1)
|
| ...
|
| *!remoting::EncoderVp8::Encode
|
|
|
| -# http://crbug.com/57266 (2)
|
| UNINITIALIZED READ
|
| +name=http://crbug.com/57266 (2)
|
| ...
|
| *!vp8_*
|
|
|
| -# http://crbug.com/70062
|
| LEAK
|
| +name=http://crbug.com/70062
|
| *!PR_Calloc
|
| *!PR_NewLock
|
| ...
|
| @@ -850,93 +656,84 @@ LEAK
|
| *!net::SSL*SocketNSS::DoHandshake
|
| *!net::SSL*SocketNSS::DoHandshakeLoop
|
|
|
| -# http://crbug.com/74417
|
| LEAK
|
| +name=http://crbug.com/74417
|
| *!operator new
|
| *!disk_cache::BackendImpl::CreateEntryImpl
|
|
|
| -# http://crbug.com/74425
|
| LEAK
|
| +name=http://crbug.com/74425
|
| *!operator new
|
| *!disk_cache::BackendImpl::NewEntry
|
|
|
| -# http://crbug.com/75247
|
| LEAK
|
| +name=http://crbug.com/75247
|
| ...
|
| *!operator new
|
| *!AutofillDownloadTestHelper::AutofillDownloadTestHelper
|
|
|
| -# http://crbug.com/78784
|
| LEAK
|
| +name=http://crbug.com/78784
|
| *!generic_cpp_alloc
|
| *!operator new
|
| *!TestingProfile::CreateRequestContext
|
| *!*ProfileSyncService*::SetUp
|
|
|
| -# http://crbug.com/78784
|
| LEAK
|
| +name=http://crbug.com/80550 (1)
|
| ...
|
| *!RenderWidgetHost::WasHidden
|
|
|
| LEAK
|
| +name=http://crbug.com/80550 (2)
|
| ...
|
| *!RenderWidgetHost::WasRestored
|
|
|
| -# http://crbug.com/87612
|
| LEAK
|
| +name=http://crbug.com/87612
|
| ...
|
| *!SSL_ConfigSecureServer
|
| *!net::SSLServerSocketNSS::InitializeSSLOptions
|
| *!net::SSLServerSocketNSS::Handshake
|
|
|
| -# http://crbug.com/88213
|
| -UNADDRESSABLE ACCESS
|
| -*!base::win::ObjectWatcher::StopWatching
|
| -*!base::win::ObjectWatcher::WillDestroyCurrentMessageLoop
|
| -*!MessageLoop::~MessageLoop
|
| -
|
| -# http://crbug.com/88640
|
| LEAK
|
| +name=http://crbug.com/88640
|
| *!generic_cpp_alloc
|
| *!operator new
|
| *!ProfileImpl::InitRegisteredProtocolHandlers
|
| *!ProfileImpl::DoFinalInit
|
| *!ProfileImpl::OnPrefsLoaded
|
|
|
| -# http://crbug.com/91465
|
| LEAK
|
| +name=http://crbug.com/91465
|
| *!generic_cpp_alloc
|
| *!operator new
|
| *!browser_sync::internal::WeakHandleCore<browser_sync::JsBackend>::*
|
| *!browser_sync::WeakHandle<browser_sync::JsBackend>::*
|
| *!sync_api::SyncManager::SyncInternal::Init
|
|
|
| -# http://crbug.com/91491
|
| LEAK
|
| +name=http://crbug.com/91491
|
| ...
|
| *!CrxUpdateService::ProcessPendingItems
|
|
|
| -# http://crbug.com/92026
|
| 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
|
|
|
| -# http://crbug.com/92166
|
| LEAK
|
| +name=http://crbug.com/92166
|
| ...
|
| *!operator new
|
| *!views::NativeWidgetWin::OnCreate
|
|
|
| -# http://crbug.com/96010
|
| -UNADDRESSABLE ACCESS
|
| -...
|
| -*!NotificationService::Notify
|
| -
|
| # Empty line at EOF - workaround for
|
| # http://code.google.com/p/drmemory/issues/detail?id=41
|
|
|