summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authortimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 19:19:18 +0000
committertimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 19:19:18 +0000
commit6f2cf8e46b73367fb5b56832190351870c440730 (patch)
tree6a0c06a51891e2f8617a4ed10bcb69cd8d6ff3f8 /tools
parentdc7343409881f1cf4a9b63319a04abef904f9d7d (diff)
downloadchromium_src-6f2cf8e46b73367fb5b56832190351870c440730.zip
chromium_src-6f2cf8e46b73367fb5b56832190351870c440730.tar.gz
chromium_src-6f2cf8e46b73367fb5b56832190351870c440730.tar.bz2
Add name= fields to sanity suppressions, suppress a couple of new[]/delete mismatches
Also fix the printed suppression count regexp so it works with leaks again BUG=101537,101717 TBR=bruening Review URL: http://codereview.chromium.org/8437089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108514 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r--tools/valgrind/drmemory/suppressions.txt61
-rwxr-xr-xtools/valgrind/drmemory_analyze.py3
2 files changed, 49 insertions, 15 deletions
diff --git a/tools/valgrind/drmemory/suppressions.txt b/tools/valgrind/drmemory/suppressions.txt
index e15811c..e131f5b 100644
--- a/tools/valgrind/drmemory/suppressions.txt
+++ b/tools/valgrind/drmemory/suppressions.txt
@@ -607,66 +607,87 @@ CRYPT32.dll!I_CertSyncStore
############################
# 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!*MakeSomeErrors
+...
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
-UNINITIALIZED READ
-base_unittests.exe!*ReadUninitializedValue
-base_unittests.exe!*MakeSomeErrors
-base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
-
-# Write after free
-UNADDRESSABLE ACCESS
-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!*MakeSomeErrors
+...
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_AccessesToNewMemory_Test::TestBody
+base_unittests.exe!base::ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
-# Write after delete []
-UNADDRESSABLE ACCESS
+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
@@ -748,6 +769,18 @@ 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
+
############################
# Real issues in Chromium
diff --git a/tools/valgrind/drmemory_analyze.py b/tools/valgrind/drmemory_analyze.py
index 657a2e9..5a67223 100755
--- a/tools/valgrind/drmemory_analyze.py
+++ b/tools/valgrind/drmemory_analyze.py
@@ -78,7 +78,8 @@ class DrMemoryAnalyze:
self.ReadLine()
while self.line_.strip() != "":
line = self.line_.strip()
- (count, name) = re.match(" *([0-9]+)x: (.*)", line).groups()
+ (count, name) = re.match(" *([0-9]+)x(?: \(leaked .*\))?: (.*)",
+ line).groups()
self.used_suppressions.append("%7s %s" % (count, name))
self.ReadLine()
break