1 # This file contains suppressions for the Dr.Memory tool, see
2 # http://dev.chromium.org/developers/how-tos/using-drmemory
4 # This file contains suppressions for the DrMemory reports happening
5 # in the 'light' mode (a.k.a. drmemory_light) as well as in the 'full' mode.
6 # Please use suppressions_full.txt for all the reports that can happen only
7 # in the full mode (drmemory_full),
9 ############################
10 # Known reports on the third party we have no control over.
12 # Reports from Sophos antivirus
28 ############################
29 # Suppress some false reports due to bugs in Dr.Memory like wrong analysis
30 # assumptions or unhandled syscalls
32 # Please note: the following suppressions were written in the abscense of
33 # private symbols so may need to be updated when we switch to auto-loading PDBs
36 name=http://code.google.com/p/drmemory/issues/detail?id=12 UNADDR
38 SHELL32.dll!SHFileOperation*
41 name=http://code.google.com/p/drmemory/issues/detail?id=40 UNADDR
46 name=http://code.google.com/p/drmemory/issues/detail?id=40 INVALID HEAP
51 name=http://code.google.com/p/drmemory/issues/detail?id=59
53 *!SetEnvironmentVariable*
56 name=http://code.google.com/p/drmemory/issues/detail?id=68 (UNADDR 1)
58 MSWSOCK.dll!WSPStartup
61 name=http://code.google.com/p/drmemory/issues/detail?id=68 (UNADDR 2)
63 ntdll.dll!RtlValidateUnicodeString
65 ############################
66 # TODO(timurrrr): investigate these
68 name=TODO SHParseDisplayName
73 name=TODO GetCanonicalPathInfo
75 *!GetCanonicalPathInfo*
82 # This one looks interesting
86 KERNEL32.dll!ExitProcess
89 name=http://crbug.com/103365 (a)
93 *!base::internal::RunnableAdapter<*>::Run
96 name=http://crbug.com/103365 (b)
100 *!PP_RunCompletionCallback
102 *!base::internal::RunnableAdapter<*>::Run
104 INVALID HEAP ARGUMENT
105 name=http://crbug.com/107567 intentional mismatch in _DebugHeapDelete, no frame
106 *!std::numpunct<*>::_Tidy
107 *!std::numpunct<*>::~numpunct<*>
109 ############################
110 # Intentional errors in Chromium tests (ToolsSanityTests)
112 name=sanity test 01 (memory leak)
113 base_unittests.exe!operator new
114 base_unittests.exe!operator new[]
115 base_unittests.exe!base::ToolsSanityTest_MemoryLeak_Test::TestBody
117 # "..." is needed due to http://code.google.com/p/drmemory/issues/detail?id=666
119 name=sanity test 02 (malloc/read left)
120 base_unittests.exe!*ReadValueOutOfArrayBoundsLeft
122 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
125 name=sanity test 03 (malloc/read right)
126 base_unittests.exe!*ReadValueOutOfArrayBoundsRight
127 base_unittests.exe!*MakeSomeErrors
128 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
131 name=sanity test 04 (malloc/write left)
132 base_unittests.exe!*WriteValueOutOfArrayBoundsLeft
133 base_unittests.exe!*MakeSomeErrors
134 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
137 name=sanity test 05 (malloc/write right)
138 base_unittests.exe!*WriteValueOutOfArrayBoundsRight
139 base_unittests.exe!*MakeSomeErrors
140 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
142 # "..." is needed due to http://code.google.com/p/drmemory/issues/detail?id=666
144 name=sanity test 06 (new/read left)
145 base_unittests.exe!*ReadValueOutOfArrayBoundsLeft
147 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
150 name=sanity test 07 (new/read right)
151 base_unittests.exe!*ReadValueOutOfArrayBoundsRight
152 base_unittests.exe!*MakeSomeErrors
153 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
156 name=sanity test 08 (new/write left)
157 base_unittests.exe!*WriteValueOutOfArrayBoundsLeft
158 base_unittests.exe!*MakeSomeErrors
159 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
162 name=sanity test 09 (new/write right)
163 base_unittests.exe!*WriteValueOutOfArrayBoundsRight
164 base_unittests.exe!*MakeSomeErrors
165 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
168 name=sanity test 10 (write after free)
169 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
172 name=sanity test 11 (write after delete)
173 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
175 INVALID HEAP ARGUMENT
176 name=sanity test 12 (array deleted without [])
177 base_unittests.exe!base::ToolsSanityTest_ArrayDeletedWithoutBraces_Test::TestBody
179 INVALID HEAP ARGUMENT
180 name=sanity test 13 (single element deleted with [])
181 base_unittests.exe!base::ToolsSanityTest_SingleElementDeletedWithBraces_Test::TestBody
184 name=sanity test 14 (malloc/read uninit)
185 base_unittests.exe!*ReadUninitializedValue
186 base_unittests.exe!*MakeSomeErrors
187 base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
190 name=sanity test 15 (new/read uninit)
191 base_unittests.exe!*ReadUninitializedValue
192 base_unittests.exe!*MakeSomeErrors
193 base_unittests.exe!base::ToolsSanityTest_AccessesToNewMemory_Test::TestBody
196 name=AboutHandler::AboutCrash deliberate crash
197 # TODO(bruening): switch to annotation once have support for that
198 chrome.dll!AboutHandler::AboutCrash
201 name=RendererCrashTest.Crash deliberate crash
202 # function is small, little risk for false negative in rest of it
203 # TODO(bruening): switch to annotation once have support for that
204 chrome.dll!HandleRendererErrorTestParameters
207 name=NPAPITesterBase.NoHangIfInitCrashes deliberate crash
208 # function is small, little risk for false negative in rest of it
209 # TODO(bruening): switch to annotation once have support for that
210 npapi_test_plugin.dll!NPAPIClient::PluginClient::Initialize
212 # Deliberate NULL deref to crash the child process
214 name=CrashingChildProcess deliberate crash
215 *!CrashingChildProcess
218 name=::Crasher::Run deliberate crash
219 *!`anonymous namespace'::Crasher::Run
221 ############################
222 # Benign issues in Chromium
225 name=http://crbug.com/72463 - prefetches in generated MemCopy
226 instruction=prefetch*
228 chrome.dll!v8::internal::CopyChars*
231 name=prefetches in NVD3DUM.dll
232 instruction=prefetch*
236 name=prefetches in igdumd32.dll
237 instruction=prefetch*
241 name=http://code.google.com/p/drmemory/issues/detail?id=582 bizarre cl-generated read-beyond-TOS
242 instruction=mov 0xfffffffc(%esp) -> %eax
243 chrome.dll!WebCore::RenderStyle::resetBorder*
245 INVALID HEAP ARGUMENT
246 name=http://crbug.com/101537
247 *!scoped_ptr<_TOKEN_USER>*
249 INVALID HEAP ARGUMENT
250 name=http://crbug.com/101717 (1)
251 *!scoped_ptr<_TOKEN_DEFAULT_DACL>*
253 INVALID HEAP ARGUMENT
254 name=http://crbug.com/101717 (2)
255 *!sandbox::PolicyBase::~PolicyBase
257 INVALID HEAP ARGUMENT
258 name=http://crbug.com/101717 (3)
259 *!scoped_ptr<_UNICODE_STRING>::~scoped_ptr<_UNICODE_STRING>
260 *!sandbox::GetHandleName
262 INVALID HEAP ARGUMENT
263 name=http://crbug.com/101717 (4)
264 *!scoped_ptr<_OBJECT_NAME_INFORMATION>::~scoped_ptr<_OBJECT_NAME_INFORMATION>
265 *!sandbox::GetPathFromHandle
268 name=http://code.google.com/p/drmemory/issues/detail?id=899 deleting bitmap which is probably safe
269 system call NtGdiDeleteObjectApp
270 *!skia::`anonymous namespace'::Bitmap::~Bitmap
271 *!skia::`anonymous namespace'::Bitmap::`scalar deleting destructor'
273 ############################
274 # Real issues in Chromium
277 name=http://crbug.com/88213
278 *!base::win::ObjectWatcher::StopWatching
279 *!base::win::ObjectWatcher::WillDestroyCurrentMessageLoop
280 *!MessageLoop::~MessageLoop
283 name=http://crbug.com/96010
284 *!TestingProfile::FinishInit
285 *!TestingProfile::TestingProfile
286 *!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody
289 name=http://crbug.com/106522
290 npapi_test_plugin.dll!NPAPIClient::PluginTest::id
291 npapi_test_plugin.dll!NPAPIClient::ExecuteGetJavascriptUrlTest::TimerProc
293 # Bad GDI teardown sequence.
295 name=http://crbug.com/109963 a
296 system call NtGdiDeleteObjectApp
297 # usually one or two GDI32.dll frames here but sometimes in light mode
298 # there are zero. still pretty narrow b/c of frames on either side.
300 *!skia::BitmapPlatformDevice::BitmapPlatformDeviceData::~BitmapPlatformDeviceData
303 name=http://crbug.com/109963 b
304 system call NtGdiDeleteObjectApp
305 # usually one or two GDI32.dll frames here but sometimes in light mode
306 # there are zero. still pretty narrow b/c of frames on either side.
308 *!skia::BitmapPlatformDevice::BitmapPlatformDeviceData::ReleaseBitmapDC
310 # GDI usage errors in 3rd-party components
312 name=http://crbug.com/119552 a
313 system call NtGdiDeleteObjectApp
318 name=http://crbug.com/119552 b
324 name=http://crbug.com/119552 c
325 # optional gdi32.dll frame followed by user32.dll
326 # TODO(bruening): once have
327 # http://code.google.com/p/drmemory/issues/detail?id=846
328 # I would do "gdi32.dll!...\nuser32.dll!*"
331 shell32.dll!SHGetFileInfoW
332 *!IconLoader::ReadIcon
335 name=http://crbug.com/119552 d
336 system call NtGdiDeleteObjectApp
337 gdi32.dll!DeleteObject
343 name=http://crbug.com/120157
344 # "ReleaseDC called from different thread than GetDC"
345 system call NtUserCallOneParam.RELEASEDC
346 *!*FontCache::CacheElement::~CacheElement
349 name=http://crbug.com/158090
350 # "DC created by one thread and used by another"
352 content.dll!content::*::FontCache::PreCacheFont
353 content.dll!content::FontCacheDispatcher::OnPreCacheFont
354 content.dll!DispatchToMethod<content::FontCacheDispatcher*
357 name=http://crbug.com/158090 c#4
358 # ReleaseDC for DC called from different thread than the thread that called GetDC
359 system call NtUserCallOneParam.RELEASEDC
360 ui.dll!gfx::ReadColorProfile
361 ui.dll!gfx::GetColorProfile
362 content.dll!content::RenderMessageFilter::OnGetMonitorColorProfile
363 content.dll!DispatchToMethod*
365 INVALID HEAP ARGUMENT
366 name=http://crbug.com/158350
367 # allocated with operator new[], freed with operator delete
388 name=Security test (new oveflow)
389 MSVCR100D.dll!operator new
392 *!`anonymous namespace'::SecurityTest_NewOverflow_Test::TestBody
393 *!testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void>
396 name=Security test (calloc overflow)
397 *!`anonymous namespace'::SecurityTest_CallocOverflow_Test::TestBody
398 *!testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void>
401 name=crbug.com/175512
403 USER32.dll!UnregisterClassA
404 USER32.dll!UnregisterClassA
405 USER32.dll!UnregisterClassA
406 USER32.dll!LoadBitmapW
407 media.dll!media::*::ScreenCapturerWin::CaptureCursor
408 media.dll!media::*::ScreenCapturerWin::CaptureFrame
409 media.dll!media::ScreenCaptureDevice::Core::DoCapture