| # 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 |
| ffmpegsumo.dll!vp8_decode_mb_row_no_filter |
| |
| ############################ |
| # 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 |
| |
| # 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!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 |
| |
| 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 |
| |
| # Bad GDI teardown sequence. |
| GDI USAGE ERROR |
| name=http://crbug.com/109963 a |
| system call NtGdiDeleteObjectApp |
| # usually one or two GDI32.dll frames here but sometimes in light mode |
| # there are zero. still pretty narrow b/c of frames on either side. |
| ... |
| *!skia::BitmapPlatformDevice::BitmapPlatformDeviceData::~BitmapPlatformDeviceData |
| |
| GDI USAGE ERROR |
| name=http://crbug.com/109963 b |
| system call NtGdiDeleteObjectApp |
| # usually one or two GDI32.dll frames here but sometimes in light mode |
| # there are zero. still pretty narrow b/c of frames on either side. |
| ... |
| *!skia::BitmapPlatformDevice::BitmapPlatformDeviceData::ReleaseBitmapDC |
| |
| 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<content::FontCacheDispatcher* |
| |
| 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<testing::Test,void> |
| |
| WARNING |
| name=Security test (calloc overflow) |
| *!`anonymous namespace'::CallocReturnsNull |
| *!`anonymous namespace'::SecurityTest_CallocOverflow_Test::TestBody |
| *!testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> |
| |
| 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 |