summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authortimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-27 14:43:56 +0000
committertimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-27 14:43:56 +0000
commitb5442cec207913616828e46f490c9242df8ffb86 (patch)
tree8439fd2402e0b2f899d364f7e63850e5e705aa58 /tools
parent4e5625e38cc2033aa6ad074c3754d47e4f8cd0cc (diff)
downloadchromium_src-b5442cec207913616828e46f490c9242df8ffb86.zip
chromium_src-b5442cec207913616828e46f490c9242df8ffb86.tar.gz
chromium_src-b5442cec207913616828e46f490c9242df8ffb86.tar.bz2
Update Dr. Memory suppressions and analyzer
TBR=glider Review URL: http://codereview.chromium.org/3461030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60644 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r--tools/valgrind/drmemory/suppressions.txt67
-rwxr-xr-xtools/valgrind/drmemory_analyze.py10
2 files changed, 43 insertions, 34 deletions
diff --git a/tools/valgrind/drmemory/suppressions.txt b/tools/valgrind/drmemory/suppressions.txt
index d3c1a7b..3e56e8d 100644
--- a/tools/valgrind/drmemory/suppressions.txt
+++ b/tools/valgrind/drmemory/suppressions.txt
@@ -120,6 +120,10 @@ UNINITIALIZED READ
...
*!*lipboard*
+UNADDRESSABLE ACCESS
+...
+*!*lipboard*
+
UNINITIALIZED READ
KERNEL32.dll!WideCharToMultiByte
KERNEL32.dll!WideCharToMultiByte
@@ -131,39 +135,6 @@ UNINITIALIZED READ
system call NtContinue
*!*SetThreadName
-# http://code.google.com/p/drmemory/issues/detail?id=49
-UNADDRESSABLE ACCESS
-...
-ntdll.dll!RtlInitializeCriticalSection*
-KERNEL32.dll!InitializeCriticalSection*
-
-UNADDRESSABLE ACCESS
-drmemorylib.dll!replace_*
-
-UNADDRESSABLE ACCESS
-ntdll.dll!RtlDeleteCriticalSection
-*!LockImpl::~LockImpl
-
-UNADDRESSABLE ACCESS
-*!file_util::ReadFileToString
-
-UNADDRESSABLE ACCESS
-*!*Zlib*
-
-UNADDRESSABLE ACCESS
-*!Send
-
-UNADDRESSABLE ACCESS
-...
-*!tracked_objects::Tracked::Tracked
-
-UNADDRESSABLE ACCESS
-*!Pickle::Pickle
-
-UNADDRESSABLE ACCESS
-...
-*!IPC::ChannelProxy::Context::On*Message*
-
# http://code.google.com/p/drmemory/issues/detail?id=52
UNINITIALIZED READ
...
@@ -177,6 +148,15 @@ UNINITIALIZED READ
...
msvcrt.dll!_RTDynamicCast
+# http://code.google.com/p/drmemory/issues/detail?id=52
+UNINITIALIZED READ
+ADVAPI32.dll!WmiMofEnumerateResourcesA
+ADVAPI32.dll!WmiMofEnumerateResourcesA
+ADVAPI32.dll!StackTraceW
+
+# http://code.google.com/p/drmemory/issues/detail?id=55
+UNADDRESSABLE ACCESS
+ntdll.dll!Rtl*CriticalSection*
############################
# TODO(timurrrr): investigate these
@@ -264,14 +244,33 @@ base_unittests.exe!WriteValueOutOfArrayBoundsRight
base_unittests.exe!MakeSomeErrors
base_unittests.exe!ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
+UNINITIALIZED READ
+base_unittests.exe!ReadUninitializedValue
+base_unittests.exe!MakeSomeErrors
+base_unittests.exe!ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
+
# Write after free
UNADDRESSABLE ACCESS
base_unittests.exe!ToolsSanityTest_AccessesToMallocMemory_Test::TestBody
-# Write after delete []
UNADDRESSABLE ACCESS
+base_unittests.exe!ReadValueOutOfArrayBoundsLeft
+base_unittests.exe!MakeSomeErrors
+base_unittests.exe!ToolsSanityTest_AccessesToNewMemory_Test::TestBody
+
+UNADDRESSABLE ACCESS
+base_unittests.exe!ReadValueOutOfArrayBoundsRight
+base_unittests.exe!MakeSomeErrors
+base_unittests.exe!ToolsSanityTest_AccessesToNewMemory_Test::TestBody
+
+UNINITIALIZED READ
+base_unittests.exe!ReadUninitializedValue
+base_unittests.exe!MakeSomeErrors
base_unittests.exe!ToolsSanityTest_AccessesToNewMemory_Test::TestBody
+# Write after delete []
+UNADDRESSABLE ACCESS
+base_unittests.exe!ToolsSanityTest_AccessesToNewMemory_Test::TestBody
############################
# Real issues in Chromium
diff --git a/tools/valgrind/drmemory_analyze.py b/tools/valgrind/drmemory_analyze.py
index 05b9bd7..9dfbe6c 100755
--- a/tools/valgrind/drmemory_analyze.py
+++ b/tools/valgrind/drmemory_analyze.py
@@ -65,6 +65,16 @@ class DrMemoryAnalyze:
self.ReadLine()
continue
+ # Dr. Memory sometimes prints adjacent malloc'ed regions next to the
+ # access address in the UNADDRESSABLE ACCESS reports like this:
+ # Note: next higher malloc: <address range>
+ # Note: prev lower malloc: <address range>
+ match_malloc_info = re.search("Note: .* malloc: 0x.*", tmp_line)
+ if match_malloc_info:
+ result.append(tmp_line)
+ self.ReadLine()
+ continue
+
match_binary_fname = re.search("(0x[0-9a-fA-F]+) <.*> (.*)!([^+]*)"
"(?:\+0x[0-9a-fA-F]+)?\n", tmp_line)
self.ReadLine()