Commit b5e0537a authored by timurrrr@chromium.org's avatar timurrrr@chromium.org

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
parent 7d5c3cf1
......@@ -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
......
......@@ -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()
......
......@@ -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")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment