diff options
author | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-08 12:58:30 +0000 |
---|---|---|
committer | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-08 12:58:30 +0000 |
commit | b5e0537a77275e408ff7b6f66166abe675e57cf9 (patch) | |
tree | 36ab13267691cf8fc2a6a1b08051e5d23841c21c /tools | |
parent | 7d5c3cf1d401855bbe23d343bf7c078e923ea0e7 (diff) | |
download | chromium_src-b5e0537a77275e408ff7b6f66166abe675e57cf9.zip chromium_src-b5e0537a77275e408ff7b6f66166abe675e57cf9.tar.gz chromium_src-b5e0537a77275e408ff7b6f66166abe675e57cf9.tar.bz2 |
Suppress uninitialized read reports below GetStandardColorSpaceProfile
Also:
* improve readability and completeness of the drmemory_analyze script
* add BROWSER_WRAPPER support to the Dr. Memory runner (for ui_tests, browser_tests, etc)
TBR=bruening
BUG=http://code.google.com/p/drmemory/issues/detail?id=546
Review URL: http://codereview.chromium.org/7491093
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95803 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/valgrind/drmemory/suppressions.txt | 8 | ||||
-rwxr-xr-x | tools/valgrind/drmemory_analyze.py | 9 | ||||
-rwxr-xr-x | tools/valgrind/valgrind_test.py | 11 |
3 files changed, 24 insertions, 4 deletions
diff --git a/tools/valgrind/drmemory/suppressions.txt b/tools/valgrind/drmemory/suppressions.txt index cd34555..b50066c 100644 --- a/tools/valgrind/drmemory/suppressions.txt +++ b/tools/valgrind/drmemory/suppressions.txt @@ -465,6 +465,14 @@ UNINITIALIZED READ ... *!v8* +# http://code.google.com/p/drmemory/issues/detail?id=546 +UNINITIALIZED READ +... +mscms.dll!* +... +GDI32.dll!* +*!IconUtil::Create*HICON* + ############################ # TODO(timurrrr): investigate these UNINITIALIZED READ diff --git a/tools/valgrind/drmemory_analyze.py b/tools/valgrind/drmemory_analyze.py index c2b257c..4780593 100755 --- a/tools/valgrind/drmemory_analyze.py +++ b/tools/valgrind/drmemory_analyze.py @@ -50,7 +50,7 @@ class DrMemoryAnalyze: "chromium\\src\\", "crt_bld\\self_x86\\", ] - CUT_STACK_BELOW = ".*testing.*Test.*Run.*" + CUT_STACK_BELOW = ".*testing.*Test.*Run.*|testing::internal.*" result = [self.line_] self.ReadLine() @@ -70,8 +70,8 @@ class DrMemoryAnalyze: # 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: + # Note: 0x1234-0x5678 overlaps freed memory 0x1000-0x6000 + if tmp_line.startswith("Note: "): result.append(tmp_line) self.ReadLine() continue @@ -87,7 +87,8 @@ class DrMemoryAnalyze: if re.search(CUT_STACK_BELOW, fname): break report_line = (" #%2i %-50s" % (cnt, fname)) - if not re.search("\.exe\+0x", binary): + if (not re.search("\.exe\+0x", binary) and + not re.search("chrome\.dll", binary)): # Print the DLL name report_line += " " + binary src, lineno = match_src_line.groups() diff --git a/tools/valgrind/valgrind_test.py b/tools/valgrind/valgrind_test.py index 17230a5..11ccc72c 100755 --- a/tools/valgrind/valgrind_test.py +++ b/tools/valgrind/valgrind_test.py @@ -712,6 +712,10 @@ class DrMemory(BaseTool): help="Monitor python child processes. If off, neither " "python children nor any children of python children " "will be monitored.") + parser._parser.add_option("", "--indirect", action="store_true", + default=False, + help="set BROWSER_WRAPPER rather than " + "running Dr. Memory directly on the harness") parser.add_option("", "--use_debug", action="store_true", default=False, dest="use_debug", help="Run Dr. Memory debug build") @@ -812,10 +816,17 @@ class DrMemory(BaseTool): # Dr.Memory requires -- to separate tool flags from the executable name. proc += ["--"] + if self._options.indirect: + self.CreateBrowserWrapper(" ".join(proc)) + proc = [] + # Note that self._args begins with the name of the exe to be run. proc += self._args return proc + def CreateBrowserWrapper(self, command): + os.putenv("BROWSER_WRAPPER", command) + def Analyze(self, check_sanity=False): # Glob all the results files in the "testing.tmp" directory filenames = glob.glob(self.log_dir + "/*/results.txt") |