From c1a8a8ff67b1953c40a33b7fb5d1a36f2eef3e68 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 24 Apr 2018 12:50:41 +0000 Subject: [PATCH] Remove tools/valgrind. BUG=605605 Change-Id: I22f0c4a6fe06ec3d76359f2559e532e155c53815 Reviewed-on: https://chromium-review.googlesource.com/1014677 Commit-Queue: Nico Weber Reviewed-by: Nico Weber Cr-Commit-Position: refs/heads/master@{#553062} --- WATCHLISTS | 5 - tools/valgrind/.gitignore | 2 - tools/valgrind/common.py | 252 -- tools/valgrind/fixed_suppressions.sh | 15 - tools/valgrind/gdb_helper.py | 87 - tools/valgrind/gtest_exclude/OWNERS | 1 - .../ash_unittests.gtest-memcheck.txt | 12 - .../gtest_exclude/aura_unittests.gtest.txt | 2 - .../gtest_exclude/base_unittests.gtest.txt | 32 - .../base_unittests.gtest_win-8.txt | 2 - .../base_unittests.gtest_win32.txt | 11 - .../blink_platform_unittests.gtest_win32.txt | 4 - .../browser_tests.gtest-memcheck.txt | 57 - .../chromeos_unittests.gtest.txt | 3 - .../components_unittests.gtest.txt | 8 - .../gtest_exclude/content_unittests.gtest.txt | 13 - .../extensions_unittests.gtest-memcheck.txt | 4 - .../interactive_ui_tests.gtest.txt | 34 - .../gtest_exclude/ipc_tests.gtest.txt | 6 - .../gtest_exclude/media_unittests.gtest.txt | 19 - .../message_center_unittests.gtest.txt | 4 - .../net_unittests.gtest-memcheck.txt | 23 - .../gtest_exclude/net_unittests.gtest.txt | 5 - .../net_unittests.gtest_linux.txt | 7 - .../remoting_unittests.gtest_win-8.txt | 2 - .../sandbox_linux_unittests.gtest.txt | 5 - tools/valgrind/gtest_exclude/suppressions.txt | 39 - .../sync_unit_tests.gtest-asan.txt | 2 - .../ui_base_unittests.gtest-memcheck.txt | 8 - .../ui_unittests.gtest-memcheck_linux.txt | 2 - .../unit_tests.gtest-memcheck.txt | 37 - .../gtest_exclude/unit_tests.gtest.txt | 23 - tools/valgrind/memcheck/OWNERS | 1 - tools/valgrind/memcheck/PRESUBMIT.py | 78 - tools/valgrind/memcheck/suppressions.txt | 2867 ----------------- .../valgrind/memcheck/suppressions_linux.txt | 128 - tools/valgrind/memcheck_analyze.py | 640 ---- tools/valgrind/regrind.sh | 139 - tools/valgrind/scan-build.py | 245 -- tools/valgrind/suppressions.py | 940 ------ tools/valgrind/test_suppressions.py | 191 -- tools/valgrind/unused_suppressions.py | 24 - tools/valgrind/waterfall.sh | 244 -- 43 files changed, 6223 deletions(-) delete mode 100644 tools/valgrind/.gitignore delete mode 100644 tools/valgrind/common.py delete mode 100755 tools/valgrind/fixed_suppressions.sh delete mode 100644 tools/valgrind/gdb_helper.py delete mode 100644 tools/valgrind/gtest_exclude/OWNERS delete mode 100644 tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/aura_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/base_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt delete mode 100644 tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt delete mode 100644 tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt delete mode 100644 tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/components_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/content_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/ipc_tests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/media_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/net_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt delete mode 100644 tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt delete mode 100644 tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt delete mode 100644 tools/valgrind/gtest_exclude/suppressions.txt delete mode 100644 tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt delete mode 100644 tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt delete mode 100644 tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt delete mode 100644 tools/valgrind/gtest_exclude/unit_tests.gtest.txt delete mode 100644 tools/valgrind/memcheck/OWNERS delete mode 100644 tools/valgrind/memcheck/PRESUBMIT.py delete mode 100644 tools/valgrind/memcheck/suppressions.txt delete mode 100644 tools/valgrind/memcheck/suppressions_linux.txt delete mode 100755 tools/valgrind/memcheck_analyze.py delete mode 100755 tools/valgrind/regrind.sh delete mode 100755 tools/valgrind/scan-build.py delete mode 100755 tools/valgrind/suppressions.py delete mode 100755 tools/valgrind/test_suppressions.py delete mode 100755 tools/valgrind/unused_suppressions.py delete mode 100755 tools/valgrind/waterfall.sh diff --git a/WATCHLISTS b/WATCHLISTS index 8954417c5ba978..242bc21ea62d79 100644 --- a/WATCHLISTS +++ b/WATCHLISTS @@ -1548,9 +1548,6 @@ 'vaapi': { 'filepath': 'media/gpu/vaapi', }, - 'valgrind': { - 'filepath': 'valgrind', - }, 'version_assembly': { 'filepath': 'chrome/app/version_assembly', }, @@ -2343,8 +2340,6 @@ 'mattreynolds+watch@chromium.org'], 'v4l2': ['hiroh+watch@chromium.org'], 'vaapi': ['vaapi-reviews@chromium.org'], - 'valgrind': ['bruening+watch@chromium.org', - 'glider+watch@chromium.org'], 'version_assembly': ['caitkp+watch@chromium.org', 'gab+watch@chromium.org'], 'video': ['posciak+watch@chromium.org'], diff --git a/tools/valgrind/.gitignore b/tools/valgrind/.gitignore deleted file mode 100644 index a77c2203f107bf..00000000000000 --- a/tools/valgrind/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -buildlogs.tmp -waterfall.tmp diff --git a/tools/valgrind/common.py b/tools/valgrind/common.py deleted file mode 100644 index 7e163e3c602535..00000000000000 --- a/tools/valgrind/common.py +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import logging -import platform -import os -import signal -import subprocess -import sys -import time - - -class NotImplementedError(Exception): - pass - - -class TimeoutError(Exception): - pass - - -def RunSubprocessInBackground(proc): - """Runs a subprocess in the background. Returns a handle to the process.""" - logging.info("running %s in the background" % " ".join(proc)) - return subprocess.Popen(proc) - - -def RunSubprocess(proc, timeout=0): - """ Runs a subprocess, until it finishes or |timeout| is exceeded and the - process is killed with taskkill. A |timeout| <= 0 means no timeout. - - Args: - proc: list of process components (exe + args) - timeout: how long to wait before killing, <= 0 means wait forever - """ - - logging.info("running %s, timeout %d sec" % (" ".join(proc), timeout)) - sys.stdout.flush() - sys.stderr.flush() - - # Manually read and print out stdout and stderr. - # By default, the subprocess is supposed to inherit these from its parent, - # however when run under buildbot, it seems unable to read data from a - # grandchild process, so we have to read the child and print the data as if - # it came from us for buildbot to read it. We're not sure why this is - # necessary. - # TODO(erikkay): should we buffer stderr and stdout separately? - p = subprocess.Popen(proc, universal_newlines=True, - bufsize=0, # unbuffered - stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - - logging.info("started subprocess") - - did_timeout = False - if timeout > 0: - wait_until = time.time() + timeout - while p.poll() is None and not did_timeout: - # Have to use readline rather than readlines() or "for line in p.stdout:", - # otherwise we get buffered even with bufsize=0. - line = p.stdout.readline() - while line and not did_timeout: - sys.stdout.write(line) - sys.stdout.flush() - line = p.stdout.readline() - if timeout > 0: - did_timeout = time.time() > wait_until - - if did_timeout: - logging.info("process timed out") - else: - logging.info("process ended, did not time out") - - if did_timeout: - if IsWindows(): - subprocess.call(["taskkill", "/T", "/F", "/PID", str(p.pid)]) - else: - # Does this kill all children, too? - os.kill(p.pid, signal.SIGINT) - logging.error("KILLED %d" % p.pid) - # Give the process a chance to actually die before continuing - # so that cleanup can happen safely. - time.sleep(1.0) - logging.error("TIMEOUT waiting for %s" % proc[0]) - raise TimeoutError(proc[0]) - else: - for line in p.stdout: - sys.stdout.write(line) - if not IsMac(): # stdout flush fails on Mac - logging.info("flushing stdout") - sys.stdout.flush() - - logging.info("collecting result code") - result = p.poll() - if result: - logging.error("%s exited with non-zero result code %d" % (proc[0], result)) - return result - - -def IsLinux(): - return sys.platform.startswith('linux') - - -def IsMac(): - return sys.platform.startswith('darwin') - - -def IsWindows(): - return sys.platform == 'cygwin' or sys.platform.startswith('win') - - -def WindowsVersionName(): - """Returns the name of the Windows version if it is known, or None. - - Possible return values are: xp, vista, 7, 8, or None - """ - if sys.platform == 'cygwin': - # Windows version number is hiding in system name. Looks like: - # CYGWIN_NT-6.1-WOW64 - try: - version_str = platform.uname()[0].split('-')[1] - except: - return None - elif sys.platform.startswith('win'): - # Normal Windows version string. Mine: 6.1.7601 - version_str = platform.version() - else: - return None - - parts = version_str.split('.') - try: - major = int(parts[0]) - minor = int(parts[1]) - except: - return None # Can't parse, unknown version. - - if major == 5: - return 'xp' - elif major == 6 and minor == 0: - return 'vista' - elif major == 6 and minor == 1: - return '7' - elif major == 6 and minor == 2: - return '8' # Future proof. ;) - return None - - -def PlatformNames(): - """Return an array of string to be used in paths for the platform - (e.g. suppressions, gtest filters, ignore files etc.) - The first element of the array describes the 'main' platform - """ - if IsLinux(): - return ['linux'] - if IsMac(): - return ['mac'] - if IsWindows(): - names = ['win32'] - version_name = WindowsVersionName() - if version_name is not None: - names.append('win-%s' % version_name) - return names - raise NotImplementedError('Unknown platform "%s".' % sys.platform) - - -def PutEnvAndLog(env_name, env_value): - os.putenv(env_name, env_value) - logging.info('export %s=%s', env_name, env_value) - -def BoringCallers(mangled, use_re_wildcards): - """Return a list of 'boring' function names (optinally mangled) - with */? wildcards (optionally .*/.). - Boring = we drop off the bottom of stack traces below such functions. - """ - - need_mangling = [ - # Don't show our testing framework: - ("testing::Test::Run", "_ZN7testing4Test3RunEv"), - ("testing::TestInfo::Run", "_ZN7testing8TestInfo3RunEv"), - ("testing::internal::Handle*ExceptionsInMethodIfSupported*", - "_ZN7testing8internal3?Handle*ExceptionsInMethodIfSupported*"), - - # Depend on scheduling: - ("MessageLoop::Run", "_ZN11MessageLoop3RunEv"), - ("MessageLoop::RunTask", "_ZN11MessageLoop7RunTask*"), - ("RunnableMethod*", "_ZN14RunnableMethod*"), - ("DispatchToMethod*", "_Z*16DispatchToMethod*"), - ("base::internal::Invoker*::DoInvoke*", - "_ZN4base8internal8Invoker*DoInvoke*"), # Invoker{1,2,3} - ("base::internal::RunnableAdapter*::Run*", - "_ZN4base8internal15RunnableAdapter*Run*"), - ] - - ret = [] - for pair in need_mangling: - ret.append(pair[1 if mangled else 0]) - - ret += [ - # Also don't show the internals of libc/pthread. - "start_thread", - "main", - "BaseThreadInitThunk", - ] - - if use_re_wildcards: - for i in range(0, len(ret)): - ret[i] = ret[i].replace('*', '.*').replace('?', '.') - - return ret - -def NormalizeWindowsPath(path): - """If we're using Cygwin Python, turn the path into a Windows path. - - Don't turn forward slashes into backslashes for easier copy-pasting and - escaping. - - TODO(rnk): If we ever want to cut out the subprocess invocation, we can use - _winreg to get the root Cygwin directory from the registry key: - HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup\rootdir. - """ - if sys.platform.startswith("cygwin"): - p = subprocess.Popen(["cygpath", "-m", path], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - (out, err) = p.communicate() - if err: - logging.warning("WARNING: cygpath error: %s", err) - return out.strip() - else: - return path - -############################ -# Common output format code - -def PrintUsedSuppressionsList(suppcounts): - """ Prints out the list of used suppressions in a format common to all the - memory tools. If the list is empty, prints nothing and returns False, - otherwise True. - - suppcounts: a dictionary of used suppression counts, - Key -> name, Value -> count. - """ - if not suppcounts: - return False - - print "-----------------------------------------------------" - print "Suppressions used:" - print " count name" - for (name, count) in sorted(suppcounts.items(), key=lambda (k,v): (v,k)): - print "%7d %s" % (count, name) - print "-----------------------------------------------------" - sys.stdout.flush() - return True diff --git a/tools/valgrind/fixed_suppressions.sh b/tools/valgrind/fixed_suppressions.sh deleted file mode 100755 index d2aae911fd2d4c..00000000000000 --- a/tools/valgrind/fixed_suppressions.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# Copyright 2014 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -bugs=$(egrep -o 'bug_[0-9]+' tools/valgrind/memcheck/suppressions.txt |\ - sed -e 's/bug_//' | sort -n | uniq); -fixed_status='(Fixed|Verified|Duplicate|FixUnreleased|WontFix|Invalid|IceBox)' -fixed_status="${fixed_status}" -for bug in $bugs; do - echo "Checking bug #$bug"; - curl -s "http://code.google.com/p/chromium/issues/detail?id=$bug" |\ - egrep -q $fixed_status; - if [ $? -eq 0 ]; then echo "Bug #$bug seems to be closed (http://crbug.com/$bug)"; fi -done diff --git a/tools/valgrind/gdb_helper.py b/tools/valgrind/gdb_helper.py deleted file mode 100644 index 548ee9474e65e0..00000000000000 --- a/tools/valgrind/gdb_helper.py +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -''' A bunch of helper functions for querying gdb.''' - -import logging -import os -import re -import tempfile - -GDB_LINE_RE = re.compile(r'Line ([0-9]*) of "([^"]*)".*') - -def _GdbOutputToFileLine(output_line): - ''' Parse the gdb output line, return a pair (file, line num) ''' - match = GDB_LINE_RE.match(output_line) - if match: - return match.groups()[1], match.groups()[0] - else: - return None - -def ResolveAddressesWithinABinary(binary_name, load_address, address_list): - ''' For each address, return a pair (file, line num) ''' - commands = tempfile.NamedTemporaryFile() - commands.write('add-symbol-file "%s" %s\n' % (binary_name, load_address)) - for addr in address_list: - commands.write('info line *%s\n' % addr) - commands.write('quit\n') - commands.flush() - gdb_commandline = 'gdb -batch -x %s 2>/dev/null' % commands.name - gdb_pipe = os.popen(gdb_commandline) - result = gdb_pipe.readlines() - - address_count = 0 - ret = {} - for line in result: - if line.startswith('Line'): - ret[address_list[address_count]] = _GdbOutputToFileLine(line) - address_count += 1 - if line.startswith('No line'): - ret[address_list[address_count]] = (None, None) - address_count += 1 - gdb_pipe.close() - commands.close() - return ret - -class AddressTable(object): - ''' Object to do batched line number lookup. ''' - def __init__(self): - self._load_addresses = {} - self._binaries = {} - self._all_resolved = False - - def AddBinaryAt(self, binary, load_address): - ''' Register a new shared library or executable. ''' - self._load_addresses[binary] = load_address - - def Add(self, binary, address): - ''' Register a lookup request. ''' - if binary == '': - logging.warn('adding address %s in empty binary?' % address) - if binary in self._binaries: - self._binaries[binary].append(address) - else: - self._binaries[binary] = [address] - self._all_resolved = False - - def ResolveAll(self): - ''' Carry out all lookup requests. ''' - self._translation = {} - for binary in self._binaries.keys(): - if binary != '' and binary in self._load_addresses: - load_address = self._load_addresses[binary] - addr = ResolveAddressesWithinABinary( - binary, load_address, self._binaries[binary]) - self._translation[binary] = addr - self._all_resolved = True - - def GetFileLine(self, binary, addr): - ''' Get the (filename, linenum) result of a previously-registered lookup - request. - ''' - if self._all_resolved: - if binary in self._translation: - if addr in self._translation[binary]: - return self._translation[binary][addr] - return (None, None) diff --git a/tools/valgrind/gtest_exclude/OWNERS b/tools/valgrind/gtest_exclude/OWNERS deleted file mode 100644 index 72e8ffc0db8aad..00000000000000 --- a/tools/valgrind/gtest_exclude/OWNERS +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt deleted file mode 100644 index 581421a4b3bb78..00000000000000 --- a/tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt +++ /dev/null @@ -1,12 +0,0 @@ -# http://crbug.com/336351 -AutoclickTest.UserInputCancelsAutoclick -# http://crbug.com/337149 -AutoclickTest.SynthesizedMouseMovesIgnored -# http://crbug.com/383384 -SystemGestureEventFilterTest.TwoFingerDragDelayed -# http://crbug.com/421888 -WebNotificationTrayTest.*TouchFeedback* -# http://crbug.com/504071 -MagnificationControllerTest.CenterTextCaretNotInsideViewport -# https://crbug.com/598950 -ToastManagerTest.QueueMessage diff --git a/tools/valgrind/gtest_exclude/aura_unittests.gtest.txt b/tools/valgrind/gtest_exclude/aura_unittests.gtest.txt deleted file mode 100644 index 69ce8dcba52f8e..00000000000000 --- a/tools/valgrind/gtest_exclude/aura_unittests.gtest.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Flaky under Valgrind, see http://crbug.com/348331 -WindowEventDispatcherTest.TouchMovesHeld diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest.txt deleted file mode 100644 index c98265df11cd98..00000000000000 --- a/tools/valgrind/gtest_exclude/base_unittests.gtest.txt +++ /dev/null @@ -1,32 +0,0 @@ -# This test currently times out in valgrind, see http://crbug.com/9194 -WatchdogTest.AlarmTest - -# These tests occassionally hangs under Valgrind on Mac. valgrind-darwin r9573 -# Revisit with better valgrind. -# Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=189661 -TimerTest.RepeatingTimer -TimerTest.RepeatingTimer_Cancel - -# Hangs sometimes on linux, see http://crbug.com/22138 -ClipboardTest.* - -# These tests trigger a CHECK so they will leak memory. They don't test -# anything else, so just disable them on valgrind. Bug 28179. -OutOfMemoryDeathTest.* - -# Flaky under slow tools or just when the VM is under load. -# See http://crbug.com/43972 -ConditionVariableTest.LargeFastTaskTest - -# Flaky under Valgrind, see http://crbug.com/55517 -PlatformFile.TouchGetInfoPlatformFile - -# Crashes under Valgrind, see http://crbug.com/355436 -OutOfMemoryHandledTest.Unchecked* - -# Running under Valgrind breaks TCMalloc tests, see https://crbug.com/567315 -TCMallocTest.* -TCMallocFreeTest.* - -# https://crbug.com/582398#c4 -SecurityTest.NewOverflow diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt deleted file mode 100644 index 1d24cdf8e525b7..00000000000000 --- a/tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Fails natively as well: http://crbug.com/251517 -PEImageTest.EnumeratesPE diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt deleted file mode 100644 index dca1b4228a9eb6..00000000000000 --- a/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Too slow under Valgrind/Wine and TSan/Windows -TimeTicks.WinRollover - -# Very sensitive to slowdown -TimeTicks.Deltas -TimerTest.RepeatingTimer* - -# This Windows-native sampling profiler test does not work under our tools -# because it assumes the original code runs, not the modified version -# with instrumentation. See http://crbug.com/106829 -SamplingProfilerTest.Sample diff --git a/tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt b/tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt deleted file mode 100644 index 8a9c9188ea5cf5..00000000000000 --- a/tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt +++ /dev/null @@ -1,4 +0,0 @@ -# https://crbug.com/480650: fails -HarfBuzzShaperTest.ResolveCandidateRunsLatin -HarfBuzzShaperTest.ResolveCandidateRunsLeadingCommon -HarfBuzzShaperTest.ResolveCandidateRunsUnicodeVariants diff --git a/tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt deleted file mode 100644 index e3bc87ec4a6c48..00000000000000 --- a/tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Don't run FLAKY or FAILS ui tests under Valgrind. -# They tend to generate way too many flaky Valgrind reports. -*FLAKY_* -*FAILS_* - -# NaCl tests fail with Data Execution Prevention error http://crbug.com/104517 -NaClGdbTest.Empty -PPAPINaClGLibcTest.* -PPAPINaClNewlibTest.* -PPAPINaClTest* - -# http://crbug.com/109336 -OutOfProcessPPAPITest.View_PageHideShow - -# TODO(thestig) File bugs for these failing browser tests. -AllUrlsApiTest.WhitelistedExtension -AppBackgroundPageApiTest.NoJsManifestBackgroundPage -BrowserCloseTest.DownloadsCloseCheck_2 -BrowserCloseTest.DownloadsCloseCheck_5 -BrowserEncodingTest.SLOW_TestEncodingAliasMapping -BrowserNavigatorTest.Disposition_Bookmarks_DoNothingIfIncognitoIsForced -BrowserNavigatorTest.Disposition_Incognito -BrowserNavigatorTest.Disposition_SyncPromo_DoNothingIfIncognitoIsForced -BrowserTest.ForwardDisabledOnForward -ClickToPlayPluginTest.Basic -ClickToPlayPluginTest.LoadAllBlockedPlugins -ClickToPlayPluginTest.NoCallbackAtLoad -DevToolsExperimentalExtensionTest.TestDevToolsExperimentalExtensionAPI -DevToolsExtensionTest.TestDevToolsExtensionMessaging -DownloadExtensionTest.DownloadExtensionTest_FileIcon_Active -DownloadExtensionTest.DownloadExtensionTest_FileIcon_History -DownloadExtensionTest.DownloadExtensionTest_SearchPauseResumeCancelGetFileIconIncognito -DownloadExtensionTestIncognito.DownloadExtensionTest_SearchPauseResumeCancelGetFileIconIncognito -ErrorPageTest.DNSError_Basic -ErrorPageTest.DNSError_GoBack1 -ExecuteScriptApiTest.ExecuteScriptPermissions -ExtensionApiTest.FontSettingsIncognito -ExtensionApiTest.PopupBlockingExtension -ExtensionApiTest.PopupBlockingHostedApp -FastShutdown.SlowTermination -IndexedDBLayoutTest.IndexTests -NetInternalsTest.netInternalsPrerenderViewFail -NewTabUIBrowserTest.LoadNTPInExistingProcess -OutOfProcessPPAPITest.NetAddressPrivate_GetAnyAddress -OutOfProcessPPAPITest.NetAddressPrivate_ReplacePort -PPAPITest.ImeInputEvent -PrerenderBrowserTest.* -PrerenderBrowserTestWithNaCl.PrerenderNaClPluginEnabled -PrintPreviewWebUITest.TestPrinterList -PrintPreviewWebUITest.TestPrinterListCloudEmpty -PrintPreviewWebUITest.TestSectionsDisabled -PrintWebViewHelperTest.BlockScriptInitiatedPrinting -SafeBrowsingInterstitialVersions/SafeBrowsingBlockingPageBrowserTest.MalwareDontProceed* -SafeBrowsingInterstitialVersions/SafeBrowsingBlockingPageBrowserTest.ProceedDisabled* -SocketApiTest.SocketTCPExtension -SocketApiTest.SocketUDPExtension -WebViewTest.Shim diff --git a/tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt b/tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt deleted file mode 100644 index ee21d7ec472091..00000000000000 --- a/tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt +++ /dev/null @@ -1,3 +0,0 @@ -# crbug.com/437847 -AutoConnectHandlerTest.ReconnectOnCertPatternResolved -NetworkConnectionHandlerTest.ConnectWithCertificateSuccess diff --git a/tools/valgrind/gtest_exclude/components_unittests.gtest.txt b/tools/valgrind/gtest_exclude/components_unittests.gtest.txt deleted file mode 100644 index ecc05cfbadbe44..00000000000000 --- a/tools/valgrind/gtest_exclude/components_unittests.gtest.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Flaky, see http://crbug.com/420023 -WebDataServiceAutofillTest.ProfileUpdate - -# Fails under valgrind, see http://crbug.com/444516 -AudioDirectiveListTest.* - -# http://crbug.com/523462 -PluginsFieldTrialTest.NoPrefLeftBehind diff --git a/tools/valgrind/gtest_exclude/content_unittests.gtest.txt b/tools/valgrind/gtest_exclude/content_unittests.gtest.txt deleted file mode 100644 index c6b742d62554df..00000000000000 --- a/tools/valgrind/gtest_exclude/content_unittests.gtest.txt +++ /dev/null @@ -1,13 +0,0 @@ -# False positive, according to crbug.com/386080 -WebLayerImplFixedBoundsTest.CompareToWebLayerImplComplex -WebLayerImplFixedBoundsTest.CompareToWebLayerImplSimple - -# http://crbug.com/418258 -DevToolsManagerTest.TestObserver - -# http://crbug.com/430391 -WebDataConsumerHandleImplTest.* - -# Flaky: https://crbug.com/460578 -DesktopCaptureDeviceTest.InvertedFrame -DesktopCaptureDeviceTest.UnpackedFrame diff --git a/tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt deleted file mode 100644 index de74c1f57c48b8..00000000000000 --- a/tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt +++ /dev/null @@ -1,4 +0,0 @@ -# These contain un-analyzed test failures and leaks -# http://crbug.com/402257 -ApiTestBaseTest.* -SerialApiTest.* diff --git a/tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt b/tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt deleted file mode 100644 index 6ae761f0a912dc..00000000000000 --- a/tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt +++ /dev/null @@ -1,34 +0,0 @@ -# These test fail due to mmap Valgrind failures, see http://crbug.com/66677 -CollectedCookiesTest.DoubleDisplay -CollectedCookiesTest.NavigateAway -InfoBarsUITest.TestInfoBarsCloseOnNewTheme -FastShutdown.SlowTermination -MouseLeaveTest.TestOnMouseOut -NotificationsPermissionTest.TestNoUserGestureInfobar -NotificationsPermissionTest.TestUserGestureInfobar - -# These test fail due to timeout or limited buildslave support; -# http://crbug.com/67301 -BrowserFocusTest.InterstitialFocus -BrowserFocusTest.FindFocusTest -BrowserFocusTest.FocusTraversalOnInterstitial - -# Don't run FLAKY or FAILS tests under Valgrind and TSan -# as they tend to generate too many reports, see http://crbug.com/67959 -# NB: Can't use FAILS_/FLAKY_ as it will be turned into *.* by chrome_tests.py! -*.FLAKY* -*.FAILS* - -# Fails under Valgrind, see http://crbug.com/68068 -DevToolsSanityTest.TestPauseWhenScriptIsRunning - -# These tests time out under Valgrind, see http://crbug.com/163880 -BrowserFocusTest.FocusOnReload -CommandsApiTest.Basic -ExtensionApiTest.NotificationsHasPermissionManifest -ExtensionCrashRecoveryTest.ReloadTabsWithBackgroundPage -ExtensionCrashRecoveryTest.TwoExtensionsCrashBothAtOnce -ExtensionCrashRecoveryTest.TwoExtensionsCrashFirst -ExtensionCrashRecoveryTest.TwoExtensionsOneByOne -FullscreenControllerInteractiveTest.TestTabExitsMouseLockOnNavigation -OmniboxViewTest.Escape diff --git a/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt b/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt deleted file mode 100644 index 30a1f89323b678..00000000000000 --- a/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Takes 27-40 seconds to run. -IPCSyncChannelTest.ChattyServer -# Hangs on Linux sometimes. See http://crbug.com/22141 -IPCChannelTest.ChannelTest -# Crashes under Valgrind. See http://crbug.com/46782 -IPCSyncChannelTest.Multiple diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest.txt deleted file mode 100644 index 26504745420865..00000000000000 --- a/tools/valgrind/gtest_exclude/media_unittests.gtest.txt +++ /dev/null @@ -1,19 +0,0 @@ -# This test tries to record fake audio in real-time. -# This appears to be too sensitive to slowdown, see http://crbug.com/49497 -FakeAudioInputTest.BasicCallbacks - -# Flaky under all Valgrind-based tools, see http://crbug.com/298771 -PipelineIntegrationTest.MediaSource_Opus_Seeking_WebM - -# Flaky under valgrind, http://crbug.com/492882 -PipelineIntegrationTest.BasicPlaybackHashed -PipelineIntegrationTest.BasicPlaybackLive - -# crbug.com/409485, cannot revert due to git migration, -# exclude the test now -AudioInputTest.Record -MacAudioInputTest.AUAudioInputStreamVerifyStereoRecording -AUHALStreamTest.CreateOpenStartStopClose - -# Too slow, takes over 10 minutes to run. -PipelineIntegrationTest.HD_VP9_WebM diff --git a/tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt b/tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt deleted file mode 100644 index a98637811662f2..00000000000000 --- a/tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Fails http://crbug.com/256911 -MessageCenterImplTest.PopupTimersControllerResetTimer -MessageCenterImplTest.PopupTimersControllerStartMultipleTimers -MessageCenterImplTest.PopupTimersControllerStartMultipleTimersPause diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt deleted file mode 100644 index c3a1b6a65b37e6..00000000000000 --- a/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt +++ /dev/null @@ -1,23 +0,0 @@ -# These tests leak data intentionally, so are inappropriate for Valgrind tests. -# Similar list in ../purify/net_unittests.exe.gtest.txt -# TODO(dkegel): either merge the two files or keep them in sync, -# see http://code.google.com/p/chromium/issues/detail?id=8951 -DiskCacheBackendTest.AppCacheInvalidEntry -DiskCacheBackendTest.AppCacheInvalidEntryRead -DiskCacheBackendTest.AppCacheInvalidEntryWithLoad -DiskCacheBackendTest.InvalidEntry -DiskCacheBackendTest.InvalidEntryRead -DiskCacheBackendTest.InvalidEntryWithLoad -DiskCacheBackendTest.TrimInvalidEntry -DiskCacheBackendTest.TrimInvalidEntry2 -DiskCacheBackendTest.InvalidEntryEnumeration -DiskCacheBackendTest.NewEvictionInvalidEntry -DiskCacheBackendTest.NewEvictionInvalidEntryRead -DiskCacheBackendTest.NewEvictionInvalidEntryWithLoad -DiskCacheBackendTest.NewEvictionTrimInvalidEntry -DiskCacheBackendTest.NewEvictionTrimInvalidEntry2 -DiskCacheBackendTest.NewEvictionInvalidEntryEnumeration -DiskCacheBackendTest.ShutdownWithPendingCreate_Fast -DiskCacheBackendTest.ShutdownWithPendingFileIO_Fast -DiskCacheBackendTest.ShutdownWithPendingIO_Fast -EndToEndTests/EndToEndTest.* diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest.txt deleted file mode 100644 index e51393df474db6..00000000000000 --- a/tools/valgrind/gtest_exclude/net_unittests.gtest.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Very slow under Valgrind. -CTLogVerifierTest.VerifiesValidConsistencyProofsFromReferenceGenerator - -# Hangs, see http://crbug.com/61908 -DirectoryListerTest.BigDirRecursiveTest diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt deleted file mode 100644 index 691167d7484320..00000000000000 --- a/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt +++ /dev/null @@ -1,7 +0,0 @@ -# Flaky. crbug.com/234776 -DiskCacheEntryTest.SimpleCacheStreamAccess -DiskCacheEntryTest.SimpleCacheGrowData -DiskCacheEntryTest.SimpleCacheSizeChanges - -# Flaky. crbug.com/548006 -Spdy_SpdyNetworkTransactionTest.StartTransactionOnReadCallback_0 diff --git a/tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt b/tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt deleted file mode 100644 index eaf36f8f047c5c..00000000000000 --- a/tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Fails natively as well: http://crbug.com/251517 -RdpClientTest.Basic diff --git a/tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt b/tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt deleted file mode 100644 index ffb28578098f98..00000000000000 --- a/tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt +++ /dev/null @@ -1,5 +0,0 @@ -# This test intentionally crashes with a NULL deref. -UnitTests.SEGVDeathWithMessage -# http://crbug.com/407357 -SandboxBPF.StartSingleThreadedAsMultiThreaded -SandboxBPF.StartMultiThreadedAsSingleThreaded diff --git a/tools/valgrind/gtest_exclude/suppressions.txt b/tools/valgrind/gtest_exclude/suppressions.txt deleted file mode 100644 index e8cc21038a2250..00000000000000 --- a/tools/valgrind/gtest_exclude/suppressions.txt +++ /dev/null @@ -1,39 +0,0 @@ -{ - Test DiskCacheBackendTest.InvalidEntryEnumeration leaks. - Memcheck:Leak - fun:_Znwj - fun:_ZN10disk_cache12StorageBlockINS_12RankingsNodeEE12AllocateDataEv - fun:_ZN10disk_cache12StorageBlockINS_12RankingsNodeEE4LoadEv - fun:_ZN10disk_cache9EntryImpl15LoadNodeAddressEv - fun:_ZN10disk_cache11BackendImpl8NewEntryENS_4AddrEPPNS_9EntryImplEPb - fun:_ZN10disk_cache11BackendImpl10MatchEntryERKSsjb - fun:_ZN10disk_cache11BackendImpl9OpenEntryERKSsPPNS_5EntryE - fun:_ZN49DiskCacheBackendTest_InvalidEntryEnumeration_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv -} -{ - Test DiskCacheBackendTest.InvalidEntryRead leaks. - Memcheck:Leak - fun:_Znwj - fun:_ZN10disk_cache11BackendImpl8NewEntryENS_4AddrEPPNS_9EntryImplEPb - fun:_ZN10disk_cache11BackendImpl10MatchEntryERKSsjb - fun:_ZN10disk_cache11BackendImpl9OpenEntryERKSsPPNS_5EntryE - fun:_ZN42DiskCacheBackendTest_InvalidEntryRead_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv -} -{ - Test DiskCacheBackendTest.InvalidEntryWithLoad leaks. - Memcheck:Leak - fun:_Znwj - fun:_ZN10disk_cache11BackendImpl11CreateEntryERKSsPPNS_5EntryE - fun:_ZN46DiskCacheBackendTest_InvalidEntryWithLoad_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv -} -{ - Test FlipNetworkTransactionTest.WriteError Bug 29004 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_17DelayedSocketDataE - fun:_ZN3net42FlipNetworkTransactionTest_WriteError_Test8TestBodyEv -} diff --git a/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt b/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt deleted file mode 100644 index fc2cc8ec845e0f..00000000000000 --- a/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Flaky, see http://crbug.com/118370 -SyncSchedulerTest.TransientPollFailure diff --git a/tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt deleted file mode 100644 index d739d39dfd059a..00000000000000 --- a/tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt +++ /dev/null @@ -1,8 +0,0 @@ -# http://crbug.com/222606 -RenderTextHarfBuzzTest.DisplayRectShowsCursorLTR - -# http://crbug.com/370168 -TouchExplorationTest.* - -# http://crbug.com/414191 -MenuControllerTest.OpenClose diff --git a/tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt b/tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt deleted file mode 100644 index 282de6b7762407..00000000000000 --- a/tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt +++ /dev/null @@ -1,2 +0,0 @@ -# http://crbug.com/431708 -TouchExplorationTest.TwoFingerTapAndHold diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt deleted file mode 100644 index ee8e10a3f2493f..00000000000000 --- a/tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt +++ /dev/null @@ -1,37 +0,0 @@ -# Timing issues. http://crbug.com/241051 -ExtensionAlarmsTest.* - -# SEGV_MAPERR. http://crbug.com/245797 -ClientSideDetectionHostTest.NavigationCancelsShouldClassifyUrl - -# Flaky. http://crbug.com/308309 -CloudPrintURLFetcherBasicTest.HandleRawData -CloudPrintURLFetcherOverloadTest.Protect - -# Test fail: crbug.com/314216 -ExtensionIconManagerTest.LoadComponentExtensionResource - -# Test fail: crbug.com/476731 -PluginInfoMessageFilterTest.FindEnabledPlugin - -# Test fail: crbug.com/492705 -StatusUploaderTest.NoUploadAfterVideoCapture - -# Flaky test: crbug.com/493187 -DesktopMediaListAshTest.WindowOnly - -# Crashing test: https://crbug.com/515031 -NetErrorTabHelperTest.* - -# Test fail: https://crbug.com/515031 -ChromeBrowserMainExtraPartsMetricsTest.VerifyTouchEventsEnabledIsNotRecordedAfterPostBrowserStart - -# Test fail: https://crbug.com/349778 -# Valgrind bot purple: https://crbug.com/522692 -TranslateManagerRenderViewHostTest.FetchLanguagesFromTranslateServer* - -# Test fail: https://crbug.com/537064 -ExtensionMessageBubbleTest.* -DesktopMediaListAshTest.* -ExtensionTestMessageListenerUnittest.* -SigninErrorNotifierTest.* diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest.txt deleted file mode 100644 index 92fce224a6cbd7..00000000000000 --- a/tools/valgrind/gtest_exclude/unit_tests.gtest.txt +++ /dev/null @@ -1,23 +0,0 @@ -# Hangs sometimes; see http://crbug.com/22146 -VisitedLinkEventsTest.Coalescense -# Hangs (or takes forever?) reliably on bots; see http://crbug.com/23580 -RenderViewTest.ImeComposition -# Hangs sometimes; see http://crbug.com/52844 -PredictorTest.MassiveConcurrentLookupTest - -# Timing out all over the place. Disabling for now. http://crbug.com/149715 -ExtensionWebRequestTest.* -# Timing out all over the place. Disabling for now. http://crbug.com/149882 -NativeMessagingTest.* - -# Failing, see http://crbug.com/408443 -SyncFileSystemServiceTest.SimpleLocalSyncFlow - -# Failing on CrOS, see http://crbug.com/408013 -ProxyConfigServiceImplTest.* - -# Failing gMock expectations on both Valgrind and Dr. Memory. Possibly timeouts? -# https://crbug.com/567866 -ExtensionServiceTestSupervised.UpdateWithPermissionIncreaseApprovalMatchingVersion -ExtensionServiceTestSupervised.UpdateWithPermissionIncreaseApprovalNewVersion -ExtensionServiceTestSupervised.UpdateWithPermissionIncreaseApprovalOldVersion diff --git a/tools/valgrind/memcheck/OWNERS b/tools/valgrind/memcheck/OWNERS deleted file mode 100644 index 72e8ffc0db8aad..00000000000000 --- a/tools/valgrind/memcheck/OWNERS +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/tools/valgrind/memcheck/PRESUBMIT.py b/tools/valgrind/memcheck/PRESUBMIT.py deleted file mode 100644 index 99be83497fd092..00000000000000 --- a/tools/valgrind/memcheck/PRESUBMIT.py +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -""" -See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts -for more details on the presubmit API built into depot_tools. -""" - -import re - -def CheckChange(input_api, output_api): - """Checks the memcheck suppressions files for bad data.""" - sup_regex = re.compile('suppressions.*\.txt$') - suppressions = {} - errors = [] - check_for_memcheck = False - # skip_next_line has 3 possible values: - # - False: don't skip the next line. - # - 'skip_suppression_name': the next line is a suppression name, skip. - # - 'skip_param': the next line is a system call parameter error, skip. - skip_next_line = False - for f in filter(lambda x: sup_regex.search(x.LocalPath()), - input_api.AffectedFiles()): - for line, line_num in zip(f.NewContents(), - xrange(1, len(f.NewContents()) + 1)): - line = line.lstrip() - if line.startswith('#') or not line: - continue - - if skip_next_line: - if skip_next_line == 'skip_suppression_name': - if 'insert_a_suppression_name_here' in line: - errors.append('"insert_a_suppression_name_here" is not a valid ' - 'suppression name') - if suppressions.has_key(line): - if f.LocalPath() == suppressions[line][1]: - errors.append('suppression with name "%s" at %s line %s ' - 'has already been defined at line %s' % - (line, f.LocalPath(), line_num, - suppressions[line][1])) - else: - errors.append('suppression with name "%s" at %s line %s ' - 'has already been defined at %s line %s' % - (line, f.LocalPath(), line_num, - suppressions[line][0], suppressions[line][1])) - else: - suppressions[line] = (f, line_num) - check_for_memcheck = True; - skip_next_line = False - continue - if check_for_memcheck: - if not line.startswith('Memcheck:'): - errors.append('"%s" should be "Memcheck:..." in %s line %s' % - (line, f.LocalPath(), line_num)) - check_for_memcheck = False; - if line == '{': - skip_next_line = 'skip_suppression_name' - continue - if line == "Memcheck:Param": - skip_next_line = 'skip_param' - continue - - if (line.startswith('fun:') or line.startswith('obj:') or - line.startswith('Memcheck:') or line == '}' or - line == '...'): - continue - errors.append('"%s" is probably wrong: %s line %s' % (line, f.LocalPath(), - line_num)) - if errors: - return [output_api.PresubmitError('\n'.join(errors))] - return [] - -def CheckChangeOnUpload(input_api, output_api): - return CheckChange(input_api, output_api) - -def CheckChangeOnCommit(input_api, output_api): - return CheckChange(input_api, output_api) diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt deleted file mode 100644 index 14383d6aa65450..00000000000000 --- a/tools/valgrind/memcheck/suppressions.txt +++ /dev/null @@ -1,2867 +0,0 @@ -# There are four kinds of suppressions in this file. -# 1. third party stuff we have no control over -# -# 2. intentional unit test errors, or stuff that is somehow a false positive -# in our own code, or stuff that is so trivial it's not worth fixing -# -# 3. Suppressions for real chromium bugs that are not yet fixed. -# These should all be in chromium's bug tracking system (but a few aren't yet). -# Periodically we should sweep this file and the bug tracker clean by -# running overnight and removing outdated bugs/suppressions. -#----------------------------------------------------------------------- - -# 1. third party stuff we have no control over -{ - Uninitialized value in deflate (Third Party) - Memcheck:Uninitialized - ... - fun:MOZ_Z_deflate -} -{ - #gtk developers don't like cleaning up one-time leaks. See http://mail.gnome.org/archives/gtk-devel-list/2004-April/msg00230.html - gtk_init_check leak (Third Party) - Memcheck:Leak - ... - fun:gtk_init_check -} -{ - Fontconfig leak? - Memcheck:Leak - ... - fun:XML_ParseBuffer - fun:FcConfigParseAndLoad -} -{ - bug_9245_FcConfigAppFontAddFile_leak - Memcheck:Leak - ... - fun:FcConfigAppFontAddFile -} -{ - pango_font_leak_todo_3 - Memcheck:Leak - ... - fun:FcFontRenderPrepare - ... - fun:pango_itemize_with_base_dir -} -{ - pango_font_leak_todo_4 - Memcheck:Leak - ... - fun:FcFontRenderPrepare - ... - fun:pango_ot_buffer_output -} -{ - pango_font_leak_todo_5 - Memcheck:Leak - ... - fun:FcFontRenderPrepare - ... - fun:pango_context_get_metrics -} -{ - pango_font_leak_todo_6 - Memcheck:Leak - ... - fun:FcDefaultSubstitute - ... - fun:pango_itemize_with_base_dir -} -{ - # Similar to fontconfig_bug_8428 below. Reported in - # https://bugs.freedesktop.org/show_bug.cgi?id=8215 - fontconfig_bug_8215 - Memcheck:Leak - fun:malloc - fun:FcPatternObjectInsertElt - fun:FcPatternObjectAddWithBinding -} -{ - # Fontconfig leak, seen in shard 16 of 20 of ui_tests - # See https://bugs.freedesktop.org/show_bug.cgi?id=8428 - # and http://www.gnome.org/~johan/gtk.suppression - fontconfig_bug_8428 - Memcheck:Leak - ... - fun:realloc - fun:FcPatternObjectInsertElt - fun:FcPatternObjectAddWithBinding -} -{ - bug_18590 (Third Party) - Memcheck:Leak - ... - fun:malloc - fun:FcConfigValues - fun:FcConfigValues - ... - fun:FcConfigValues - fun:FcConfigValues -} -{ - # dlopen leak on error. Chromium issues 268368,273385. See http://sourceware.org/bugzilla/show_bug.cgi?id=12878. - bug_268368_273385a - Memcheck:Leak - fun:calloc - fun:_dlerror_run - fun:dlopen@@GLIBC_2.2.5 -} -{ - bug_268368_273385b - Memcheck:Leak - fun:calloc - fun:_dlerror_run - fun:dlsym -} -{ - bug_58730_libc.so_value8 (Third Party) - Memcheck:Uninitialized - obj:/lib/libc-2.11.1.so -} -# net::SniffXML() clearly tries to read < 8 bytes, but strncasecmp() reads 8. -{ - bug_58730_strncasecmp_uninit (Third Party) - Memcheck:Uninitialized - ... - fun:strncasecmp - fun:_ZN4base11strncasecmpEPKcS1_m - fun:_ZN3netL8SniffXMLEPKcmPbPSs -} -{ - bug_76386a (Third Party) - Memcheck:Leak - fun:_Znw* - fun:_ZNSs4_Rep9_S_createE*RKSaIcE - ... - fun:_ZNSsC1*KS* -} -{ - bug_76386b (Third Party) - Memcheck:Leak - fun:_Znw* - fun:_ZNSs4_Rep9_S_createE*RKSaIcE - fun:_ZNSs4_Rep8_M_cloneERKSaIcE* -} -{ - getpwuid_and_getgrouplist - Memcheck:Leak - fun:malloc - fun:nss_parse_service_list - fun:__nss_database_lookup - obj:* - ... - fun:get* -} - -# XRandRInfo object seems to be leaking inside XRRFindDisplay. This happens the -# first time it is called, no matter who the caller is. We have observed this -# problem with both XRRSelectInput and XRRQueryExtension. -{ - bug_119677 - Memcheck:Leak - fun:malloc - fun:XRRFindDisplay -} -{ - Ubuntu_Precise_Fontconfig_Optimized_Code - Memcheck:Unaddressable - fun:FcConfigFileExists -} -{ - Ubuntu_Precise_Itoa_Optimized_Code - Memcheck:Uninitialized - fun:_itoa_word - fun:vfprintf - fun:__vsnprintf_chk - fun:__snprintf_chk -} -{ - Ubuntu_Precise_Wcscmp_Optimized_Code_In_Tests - Memcheck:Uninitialized - fun:wcscmp - fun:_ZN7testing8internal6String17WideCStringEqualsEPKwS3_ -} -{ - mesa_glsl_compile_shader - Memcheck:Leak - ... - fun:_mesa_glsl_compile_shader - fun:compile_shader - fun:_mesa_CompileShaderARB - fun:shared_dispatch_stub_529 -} -{ - bug_515618 - Memcheck:Unaddressable - fun:do_lookup_x - obj:* - fun:_dl_lookup_symbol_x -} - -#----------------------------------------------------------------------- -# 2. intentional unit test errors, or stuff that is somehow a false positive -# in our own code, or stuff that is so trivial it's not worth fixing - -# See tools/valgrind/memcheck_analyze.py before modifying sanity tests. -{ - Memcheck sanity test 01 (memory leak). - Memcheck:Leak - fun:_Zna* - fun:_ZN4base31ToolsSanityTest_MemoryLeak_Test8TestBodyEv -} -{ - Memcheck sanity test 02 (malloc/read left). - Memcheck:Unaddressable - fun:*ReadValueOutOfArrayBoundsLeft* - ... - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 03 (malloc/read right). - Memcheck:Unaddressable - fun:*ReadValueOutOfArrayBoundsRight* - ... - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 04 (malloc/write left). - Memcheck:Unaddressable - fun:*WriteValueOutOfArrayBoundsLeft* - ... - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 05 (malloc/write right). - Memcheck:Unaddressable - fun:*WriteValueOutOfArrayBoundsRight* - ... - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 06 (new/read left). - Memcheck:Unaddressable - fun:*ReadValueOutOfArrayBoundsLeft* - ... - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 07 (new/read right). - Memcheck:Unaddressable - fun:*ReadValueOutOfArrayBoundsRight* - ... - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 08 (new/write left). - Memcheck:Unaddressable - fun:*WriteValueOutOfArrayBoundsLeft* - ... - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 09 (new/write right). - Memcheck:Unaddressable - fun:*WriteValueOutOfArrayBoundsRight* - ... - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 10 (write after free). - Memcheck:Unaddressable - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 11 (write after delete). - Memcheck:Unaddressable - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 12 (array deleted without []). - Memcheck:Free - ... - fun:_ZN4base46ToolsSanityTest_ArrayDeletedWithoutBraces_Test8TestBodyEv -} -{ - Memcheck sanity test 13 (single element deleted with []). - Memcheck:Free - ... - fun:_ZN4base51ToolsSanityTest_SingleElementDeletedWithBraces_Test8TestBodyEv -} -{ - Memcheck sanity test 14 (malloc/read uninit). - Memcheck:Uninitialized - fun:*ReadUninitializedValue* - ... - fun:_ZN4base43ToolsSanityTest_AccessesToMallocMemory_Test8TestBodyEv -} -{ - Memcheck sanity test 15 (new/read uninit). - Memcheck:Uninitialized - fun:*ReadUninitializedValue* - ... - fun:_ZN4base40ToolsSanityTest_AccessesToNewMemory_Test8TestBodyEv -} -{ - # Non-joinable thread doesn't clean up all state on program exit - # very common in ui tests - bug_16096 (WontFix) - Memcheck:Leak - fun:_Znw* - fun:_ZNSs4_Rep9_S_createE*RKSaIcE - fun:_ZNSs4_Rep8_M_cloneERKSaIcE* - fun:_ZNSs7reserveE* - fun:_ZNSs6appendEPKc* - fun:*StringAppendV* - ... - fun:_ZN4base12StringPrintfEPKcz -} -{ - # According to dglazkov, these are one-time leaks and intentional. - # They may go away if the change to move these off the heap lands. - bug_17996 (Intentional) - Memcheck:Leak - ... - fun:_ZN5blink8SVGNames4initEv -} -{ - # This is an on demand initialization which is done and then intentionally - # kept around (not freed) while the process is running. - intentional_blink_XMLNames_init_leak - Memcheck:Leak - ... - fun:_ZN5blink8XMLNames4initEv -} -{ - # Intentionally leaking NSS to prevent shutdown crashes - bug_61585a (Intentional) - Memcheck:Leak - fun:calloc - ... - fun:error_get_my_stack -} -{ - FileStream::Context can leak through WorkerPool by design - Memcheck:Leak - fun:_Znw* - fun:_ZN3net10FileStreamC1EPNS_6NetLogE -} -{ - # Histograms are used on un-joined threads, and can't be deleted atexit. - Histograms via FactoryGet including Linear Custom Boolean and Basic - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN4base*Histogram10FactoryGet* -} -{ - Intentional leak for SampleMap (stores SparseHistogram counts). - Memcheck:Leak - ... - fun:_ZN4base9SampleMap10AccumulateEii - ... - fun:_ZN4base15SparseHistogram* -} -{ - Intentional leak for PersistentSampleMap (stores SparseHistogram counts). - Memcheck:Leak - ... - fun:_ZN4base19PersistentSampleMap10AccumulateEii - ... - fun:_ZN4base15SparseHistogram* -} -{ - Intentional leak for BucketRanges. - Memcheck:Leak - fun:_Znw* - fun:_ZN4base12_GLOBAL__N_120CreateRangesFromDataEPijm - fun:_ZN4base28PersistentHistogramAllocator15CreateHistogramEPNS0_23PersistentHistogramDataE -} -{ - bug_73299 (Intentional) - Memcheck:Leak - fun:_Znw* - fun:_ZN7content17WorkerProcessHost20CreateMessageFiltersEi - fun:_ZN7content17WorkerProcessHost4InitE* - fun:_ZN7content17WorkerServiceImpl24CreateWorkerFromInstanceENS_17WorkerProcessHost14WorkerInstanceE - fun:_ZN7content17WorkerServiceImpl12CreateWorkerE* - fun:_ZN7content19WorkerMessageFilter14OnCreateWorkerERK31ViewHostMsg_CreateWorker_ParamsPi -} -{ - bug_83345 (Needs_Annotation) - Memcheck:Leak - ... - fun:_ZN4base*23LeakyLazyInstanceTraits*NewEPv - fun:_ZN4base12LazyInstance*LeakyLazyInstanceTraits*PointerEv -} -{ - bug_87500_a (Intentional) - Memcheck:Leak - ... - fun:_ZN10disk_cache9BackendIO23ExecuteBackendOperationEv - fun:_ZN10disk_cache9BackendIO16ExecuteOperationEv -} -{ - bug_79322 (Intentional) - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN4base*StatisticsRecorderTest_*_Test8TestBodyEv -} -{ - # According to dglazkov, UA style sheets are intentionally leaked. - # As such, treat any leaks originating from parseUASheet as intentional. - bug_121729 (Intentional) - Memcheck:Leak - ... - fun:_ZN5blinkL12parseUASheetEPKcj -} -{ - bug_121729_b (Intentional) - Memcheck:Leak - ... - fun:_ZN5blinkL12parseUASheetERKN3WTF6StringE -} -{ - intentional_see_bug_156466 - Memcheck:Leak - fun:_Znw* - fun:_ZN3ash5ShellC1EPNS_13ShellDelegateE - fun:_ZN3ash5Shell14CreateInstanceEPNS_13ShellDelegateE -} - -# According to http://crbug.com/242672, this is a false positive caused by -# BitVector storing the pointer shifted right by 1. Leak checkers aren't smart -# enough to comprehend that. -{ - bug_242672 - Memcheck:Leak - fun:malloc - ... - fun:_ZN3WTF9BitVector13OutOfLineBits6createEm - fun:_ZN3WTF9BitVector15resizeOutOfLineEm - fun:_ZN3WTF9BitVector10ensureSizeEm - fun:_ZN5blink10UseCounterC1Ev - fun:_ZN5blink4PageC1ERNS0_11PageClientsE -} - -# http://crbug.com/269278 causes really widespread, flaky leaks in -# value objects that own some memory. These suppressions will cover -# all such objects, even though it's possible to get real leaks that -# look the same way (e.g. by allocating such an object in an arena). -{ - bug_269278a - Memcheck:Leak - fun:_Znw* - fun:_ZN4base4Bind*Callback*BindState* -} -{ - bug_269278b - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocator*allocate* - fun:_ZNSt12_Vector_base*_M_allocate* -} - -# Externally allocated objects referenced by V8 objects can currently -# be diagnosed as (false) leaks, since memcheck does not know how to -# handle V8 leaks. More detailed discussion in http://crbug.com/328552 -{ - bug_328552 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10StringImpl19createUninitializedEjRPh -} -{ - bug_364821 (WontFix) - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN3WTF10RefCountedIN5blink11ScriptStateEEnwEm - fun:_ZN5blink11ScriptState6createEN2v85LocalINS1_7ContextEEEN3WTF10PassRefPtrINS_15DOMWrapperWorldEEE - ... - fun:_ZN3WTF15FunctionWrapperIMN5blink12WorkerThread* -} -{ - bug_383956 - Memcheck:Leak - fun:calloc - fun:_ZN18hb_object_header_t6createEj - fun:_Z*hb_object_createI9hb_face_tEPT_v - fun:hb_face_create_for_tables - fun:_ZN3gfx12_GLOBAL__N_118CreateHarfBuzzFaceEP10SkTypeface - fun:_ZN3gfx12_GLOBAL__N_118CreateHarfBuzzFontEP10SkTypefacei - fun:_ZN3gfx18RenderTextHarfBuzz8ShapeRunEPNS_8internal15TextRunHarfBuzzE - fun:_ZN3gfx18RenderTextHarfBuzz12EnsureLayoutEv -} - -{ - bug_391510 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base21CancelableTaskTracker16NewTrackedTaskId* - fun:_ZN14HistoryService14ScheduleDBTask* - fun:_ZN7history19URLIndexPrivateData26ScheduleUpdateRecentVisits* -} -{ - bug_399852_a - Memcheck:Uninitialized - fun:_ZN5blink14DateComponents9parseTimeERKN3WTF6StringEjRj - fun:_ZNK5blink13TimeInputType29parseToDateComponentsInternalERKN3WTF6StringEPNS_14DateComponentsE - fun:_ZNK5blink24BaseDateAndTimeInputType21parseToDateComponentsERKN3WTF6StringEPNS_14DateComponentsE -} -{ - bug_399852_b - Memcheck:Uninitialized - fun:_ZN5blink12_GLOBAL__N_117parseJSONInternalIhEEN3WTF10PassRefPtrINS_9JSONValueEEEPKT_j - fun:_ZN5blink9parseJSONERKN3WTF6StringE - fun:_ZN5blink*InspectorBackendDispatcher* - ... - fun:_ZN5blink*WebDevToolsAgent* - fun:_ZN7content*DevToolsAgent* -} -{ - bug_399852_c - Memcheck:Uninitialized - fun:_ZN5blinkL21extractRangeComponentEPN3WTF6StringERKNS0_6RefPtrINS_10JSONObjectEEERKS1_Rj - fun:_ZN5blinkL22jsonRangeToSourceRangeEPN3WTF6StringEPNS_23InspectorStyleSheetBase* - fun:_ZN5blink17InspectorCSSAgent* - fun:_ZThn40_N5blink17InspectorCSSAgent* - fun:_ZN5blink30InspectorBackendDispatcherImpl* - fun:_ZN5blink30InspectorBackendDispatcherImpl8dispatchERKN3WTF6StringE - fun:_ZN5blink19InspectorController27dispatchMessageFromFrontendERKN3WTF6StringE - fun:_ZN5blink20WebDevToolsAgentImpl26dispatchOnInspectorBackendERKNS_9WebStringE - fun:_ZN7content13DevToolsAgent28OnDispatchOnInspectorBackendERKSs -} -{ - bug_399852_d - Memcheck:Uninitialized - fun:_ZN5blink14DateComponents10parseMonthERKN3WTF6StringEjRj - ... - fun:_ZNK5blink24BaseDateAndTimeInputType21parseToDateComponentsERKN3WTF6StringEPNS_14DateComponentsE - fun:_ZNK5blink24BaseDateAndTimeInputType15typeMismatchForERKN3WTF6StringE - fun:_ZNK5blink24BaseDateAndTimeInputType13sanitizeValueERKN3WTF6StringE -} -{ - bug_464462 - Memcheck:Uninitialized - fun:_ZN7content14ManifestParser16ParseIconDensityERKN4base15DictionaryValueE - fun:_ZN7content14ManifestParser10ParseIconsERKN4base15DictionaryValueE - fun:_ZN7content14ManifestParser5ParseEv - fun:_ZN7content18ManifestParserTest21ParseManifestWithURLsERKN4base16BasicStringPieceISsEERK4GURLS8_ - fun:_ZN7content18ManifestParserTest13ParseManifestERKN4base16BasicStringPieceISsEE - fun:_ZN7content45ManifestParserTest_IconDensityParseRules_Test8TestBodyEv -} -{ - bug_415092 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base22PosixDynamicThreadPool7AddTaskEPNS_11PendingTaskE - fun:_ZN4base22PosixDynamicThreadPool8PostTaskERKN15tracked_objects8LocationERKNS_8CallbackIF* - fun:_ZN4base12_GLOBAL__N_114WorkerPoolImpl8PostTaskERKN15tracked_objects8LocationERKNS_8CallbackIF* - fun:_ZN4base10WorkerPool8PostTaskERKN15tracked_objects8LocationERKNS_8CallbackIF* -} - - -#----------------------------------------------------------------------- -# 3. Suppressions for real chromium bugs that are not yet fixed. -# These should all be in chromium's bug tracking system (but a few aren't yet). - -{ - # webkit leak? See http://crbug.com/9503 - bug_9503 - Memcheck:Leak - ... - fun:_ZN19TestWebViewDelegate24UpdateSelectionClipboardEb -} -{ - # very common in ui tests - bug_16091 - Memcheck:Leak - ... - fun:_ZN4base11MessageLoop22AddDestructionObserverEPNS0_19DestructionObserverE - ... - fun:_ZN3IPC11SyncChannel11SyncContext15OnChannelOpenedEv -} -{ - # very common in ui tests - bug_16092 - Memcheck:Leak - fun:* - fun:_ZN4base11MessageLoopC1ENS0_4TypeE - fun:_ZN4base6Thread10ThreadMainEv -} -{ - # very common in ui tests - bug_16092b - Memcheck:Leak - ... - fun:_ZNSt11_Deque_baseIN4base11PendingTaskESaIS1_EE17_M_initialize_mapE* - ... - fun:_ZN4base11MessageLoopC1ENS0_4TypeE -} -{ - # very common in ui tests - bug_16092c - Memcheck:Leak - ... - fun:_ZNSt14priority_queueIN11MessageLoop11PendingTaskESt6vectorIS1_SaIS1_EESt4lessIS1_EEC1ERKS6_RKS4_ - fun:_ZN4base11MessageLoopC1ENS0_4TypeE - fun:_ZN4base6Thread10ThreadMainEv -} -{ - bug_17540_16661 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base19MessagePumpLibevent19WatchFileDescriptor*FileDescriptorWatcherEPNS0_7WatcherE - fun:_ZN4base16MessageLoopForIO19WatchFileDescriptor*MessagePumpLibevent21FileDescriptorWatcherEPNS2_7WatcherE - ... - fun:_ZN3IPC*Channel*ConnectEv - fun:_ZN3IPC12ChannelProxy7Context15OnChannelOpenedEv -} -{ - bug_16661 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base19MessagePumpLibevent3RunEPNS_11MessagePump8DelegateE - fun:_ZN4base11MessageLoop10RunHandlerEv -} -{ - # slight variant of the above - bug_19371a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN4base13WaitableEvent7EnqueueEPNS0_6WaiterE - fun:_ZN4base13WaitableEvent9TimedWaitERKNS_9TimeDeltaE - fun:_ZN4base18MessagePumpDefault3RunEPNS_11MessagePump8DelegateE -} -{ - bug_19775_a - Memcheck:Leak - ... - fun:malloc - fun:sqlite3MemMalloc - fun:mallocWithAlarm - fun:sqlite3Malloc - ... - fun:sqlite3VdbeExec - fun:sqlite3Step - fun:sqlite3_step - fun:sqlite3_exec - fun:_ZN3sql10Connection7Execute* - ... - fun:_ZN7history*Database*Create* -} -{ - bug_19775_c - Memcheck:Leak - ... - fun:openDatabase - fun:sqlite3_open - fun:_ZN3sql10Connection12OpenInternalERKSs -} -{ - bug_19775_g - Memcheck:Leak - fun:malloc - fun:sqlite3MemMalloc - fun:mallocWithAlarm - fun:sqlite3Malloc - fun:sqlite3ParserAlloc - fun:sqlite3RunParser - fun:sqlite3Prepare - fun:sqlite3LockAndPrepare - fun:sqlite3_prepare* -} -{ - bug_19775_h - Memcheck:Leak - ... - fun:malloc - fun:sqlite3MemMalloc - fun:mallocWithAlarm - fun:sqlite3Malloc - ... - fun:yy_reduce -} -{ - bug_32085 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorIN7content21NotificationRegistrar6RecordEE8allocate* - fun:_ZNSt12_Vector_baseIN7content21NotificationRegistrar6RecordESaIS* - fun:_ZNSt6vectorIN7content21NotificationRegistrar6RecordESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S* - fun:_ZNSt6vectorIN7content21NotificationRegistrar6RecordESaIS* - fun:_ZN7content21NotificationRegistrar3Add* -} -{ - bug_32273_a - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC12ChannelProxy4SendEPNS_7MessageE - fun:_ZN3IPC11SyncChannel15SendWithTimeoutEPNS_7MessageEi - fun:_ZN3IPC11SyncChannel4SendEPNS_7MessageE - fun:_ZN11ChildThread4SendEPN3IPC7MessageE - fun:_ZN12RenderThread4SendEPN3IPC7MessageE - fun:_ZN12RenderWidget4SendEPN3IPC7MessageE - fun:_ZN12RenderWidget16DoDeferredUpdateEv - fun:_ZN12RenderWidget20CallDoDeferredUpdateEv -} -{ - bug_32273_b - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN24BrowserRenderProcessHost4SendEPN3IPC7MessageE - fun:_ZN16RenderWidgetHost4SendEPN3IPC7MessageE -} -{ - bug_32624_b - Memcheck:Leak - fun:malloc - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - fun:secmod_ModuleInit -} -{ - bug_32624_c - Memcheck:Leak - ... - fun:malloc - ... - fun:PORT_Alloc_Util - ... - fun:PK11_InitPin -} -{ - bug_32624_f - Memcheck:Leak - ... - fun:CERT_PKIXVerifyCert - fun:_ZN3net12_GLOBAL__N_114PKIXVerifyCertE* -} -{ - bug_32624_g - Memcheck:Leak - ... - fun:CERT_VerifySignedData - fun:cert_VerifyCertChain - fun:CERT_VerifyCertChain - fun:CERT_VerifyCert -} -{ - bug_64887_a - Memcheck:Uninitialized - ... - fun:*vfprintf - ... - fun:_ZN7testing*PrintByteSegmentInObjectTo* - ... - fun:_ZN7testing*PrintBytesInObjectTo* - fun:_ZN7testing9internal220PrintBytesInObjectToEPKh* - fun:_ZN7testing9internal220TypeWithoutFormatter* -} -{ - bug_64887_b - Memcheck:Uninitialized - ... - fun:_ZNSolsEx - fun:_ZN7testing9internal220TypeWithoutFormatterIN5media7PreloadELNS0_8TypeKindE1EE10PrintValueERKS3_PSo - fun:_ZN7testing9internal2lsIcSt11char_traitsIcEN5media7PreloadEEERSt13basic_ostreamIT_T0_ESA_RKT1_ - fun:_ZN16testing_internal26DefaultPrintNonContainerToIN5media7PreloadEEEvRKT_PSo - fun:_ZN7testing8internal14DefaultPrintToIN5media7PreloadEEEvcNS0_13bool_constantILb0EEERKT_PSo - fun:_ZN7testing8internal7PrintToIN5media7PreloadEEEvRKT_PSo - fun:_ZN7testing8internal16UniversalPrinterIN5media7PreloadEE5PrintERKS3_PSo - fun:_ZN7testing8internal18TuplePrefixPrinter* - fun:_ZN7testing8internal12PrintTupleToINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZN7testing8internal7PrintToIN5media7PreloadEEEvRKNSt3tr15tupleIT* - fun:_ZN7testing8internal16UniversalPrinterINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZN7testing8internal14UniversalPrintINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZNK7testing8internal18FunctionMockerBaseIFvN5media7PreloadEEE32UntypedDescribeUninterestingCallEPKvPSo - fun:_ZN7testing8internal25UntypedFunctionMockerBase17UntypedInvokeWithEPKv - fun:_ZN7testing8internal18FunctionMockerBaseIFvN5media7PreloadEEE10InvokeWithERKNSt3tr15tupleIS3* - fun:_ZN7testing8internal14FunctionMockerIFvN5media7PreloadEEE6InvokeES3_ - fun:_ZN5media11MockDemuxer10SetPreloadENS_7PreloadE -} -{ - bug_64887_c - Memcheck:Uninitialized - ... - fun:_ZNSolsEx - fun:_ZN7testing9internal220TypeWithoutFormatterIN5media7PreloadELNS0_8TypeKindE1EE10PrintValueERKS3_PSo - fun:_ZN7testing9internal2lsIcSt11char_traitsIcEN5media7PreloadEEERSt13basic_ostreamIT_T0_ESA_RKT1_ - fun:_ZN16testing_internal26DefaultPrintNonContainerToIN5media7PreloadEEEvRKT_PSo - fun:_ZN7testing8internal14DefaultPrintToIN5media7PreloadEEEvcNS0_13bool_constantILb0EEERKT_PSo - fun:_ZN7testing8internal7PrintToIN5media7PreloadEEEvRKT_PSo - fun:_ZN7testing8internal16UniversalPrinterIN5media7PreloadEE5PrintERKS3_PSo - fun:_ZN7testing8internal18TuplePrefixPrinter* - fun:_ZN7testing8internal12PrintTupleToINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZN7testing8internal7PrintToIN5media7PreloadEEEvRKNSt3tr15tupleIT* - fun:_ZN7testing8internal16UniversalPrinterINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZN7testing8internal14UniversalPrintINSt3tr15tupleIN5media7PreloadENS2* - fun:_ZNK7testing8internal18FunctionMockerBaseIFvN5media7PreloadEEE32UntypedDescribeUninterestingCallEPKvPSo - fun:_ZN7testing8internal25UntypedFunctionMockerBase17UntypedInvokeWithEPKv - fun:_ZN7testing8internal18FunctionMockerBaseIFvN5media7PreloadEEE10InvokeWithERKNSt3tr15tupleIS3* - fun:_ZN7testing8internal14FunctionMockerIFvN5media7PreloadEEE6InvokeES3_ - fun:_ZN5media11MockDemuxer10SetPreloadENS_7PreloadE -} -{ - bug_65940_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3IPC12ChannelProxy7Context13CreateChannelERKNS_13ChannelHandleERKNS_7Channel4ModeE - fun:_ZN3IPC12ChannelProxy4InitERKNS_13ChannelHandleENS_7Channel4ModeEP11MessageLoopb - fun:_ZN3IPC12ChannelProxyC2ERKNS_13ChannelHandleENS_7Channel4ModeEP11MessageLoopPNS0_7ContextEb - fun:_ZN3IPC11SyncChannelC1ERKNS_13ChannelHandleENS_7Channel4ModeEPNS4_8ListenerEP11MessageLoopbPN4base13WaitableEventE -} -{ - bug_65940_b - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3IPC11SyncChannelC1ERKNS_13ChannelHandleENS_7Channel4ModeEPNS_8ListenerEPN4base22SingleThreadTaskRunnerEbPNS8_13WaitableEventE - fun:_ZN7content11ChildThread4InitEv - fun:_ZN7content11ChildThreadC2ERKSs -} -{ - bug_65940_c - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEEE8allocateEmPKv - fun:_ZNSt12_Vector_baseI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEESaIS4_EE11_M_allocateEm - fun:_ZNSt6vectorI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_ - fun:_ZNSt6vectorI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEESaIS4_EE9push_backERKS4_ - fun:_ZN3IPC12ChannelProxy7Context11OnAddFilterEv -} -{ - bug_65940_d - Memcheck:Leak - fun:_Znw* - fun:_ZN7content11ChildThread4InitEv - fun:_ZN7content11ChildThreadC* - ... - fun:_ZN7content21WebRTCAudioDeviceTest5SetUpEv -} -{ - bug_65940_e - Memcheck:Leak - fun:_Znw* - fun:_ZN7content16RenderThreadImpl4InitEv - fun:_ZN7content16RenderThreadImplC* - ... - fun:_ZN7content21WebRTCAudioDeviceTest5SetUpEv -} -{ - bug_66853_a - Memcheck:Leak - fun:_Znw* - fun:_ZN11ProfileImpl14GetHostZoomMapEv - ... - fun:_ZNK17ProfileImplIOData6Handle27GetMainRequestContextGetterEv - fun:_ZN11ProfileImpl17GetRequestContextEv - fun:_ZN19SafeBrowsingService5StartEv - fun:_ZN19SafeBrowsingService10InitializeEv - fun:_ZN22ResourceDispatcherHost10InitializeEv - fun:_ZN18BrowserProcessImpl28CreateResourceDispatcherHostEv - fun:_ZN18BrowserProcessImpl24resource_dispatcher_hostEv - fun:_ZN16ExtensionService4InitEv - fun:_ZN11ProfileImpl14InitExtensionsE* - fun:_ZN14ProfileManager10AddProfileEP7Profileb -} -{ - bug_67142 - Memcheck:Leak - fun:_Znw* - fun:_ZN16ChildProcessHost13CreateChannelEv - fun:_ZN14GpuProcessHost4InitEv -} -{ - bug_67261b - Memcheck:Leak - fun:_Znw* - fun:_ZN3sql10Connection18GetUniqueStatementEPKc - fun:_ZN3sql10Connection18GetCachedStatementERKNS_11StatementIDEPKc - ... - fun:_ZN7storage13QuotaDatabase28IsOriginDatabaseBootstrappedEv -} -{ - bug_67553 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZNSt3mapISs13scoped_refptrIK9ExtensionESt4lessISsESaISt4pairIKSsS3_EEEixERS7_ - fun:_ZN16ExtensionInfoMap12AddExtensionEPK9Extension -} -{ - Bug_69934_b - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC11SyncMessage13GenerateReplyEPKNS_7MessageE - fun:_ZN3IPC17SyncMessageSchema* -} -{ - bug_71728 - Memcheck:Leak - fun:_Znw* - fun:*DownloadFileTest5SetUpEv -} -{ - bug_72698_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN13ProfileIOData20InitializeOnUIThreadEP7Profile -} -{ - bug_73415 - Memcheck:Unaddressable - fun:_ZN23AccessibilityController36shouldDumpAccessibilityNotificationsEv - fun:_ZN11WebViewHost29postAccessibilityNotificationERKN5blink22WebAccessibilityObjectENS0_28WebAccessibilityNotificationE - fun:_ZN5blink16ChromeClientImpl29postAccessibilityNotificationEPN7blink19AccessibilityObjectENS1_13AXObjectCache14AXNotificationE - fun:_ZN5blink13AXObjectCache24postPlatformNotificationEPNS_19AccessibilityObjectENS0_14AXNotificationE -} -{ - bug_75019 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN14GpuDataManagerC1Ev - fun:_ZN22DefaultSingletonTraitsI14GpuDataManagerE3NewEv - fun:_ZN9SingletonI14GpuDataManager22DefaultSingletonTraitsIS0_ES0_E3getEv - fun:_ZN14GpuDataManager11GetInstanceEv - fun:_Z11BrowserMainRK18MainFunctionParams - fun:_ZN20InProcessBrowserTest5SetUpEv -} -{ - bug_76197a - Memcheck:Unaddressable - fun:sqlite3DbFree - fun:releaseMemArray - fun:sqlite3VdbeDelete - fun:sqlite3VdbeFinalize - fun:sqlite3_finalize - fun:_ZN3sql10Connection12StatementRef5CloseEv - fun:_ZN3sql10Connection12StatementRefD2Ev - fun:_ZN3sql10Connection12StatementRefD1Ev - fun:_ZNK4base10RefCountedIN3sql10Connection12StatementRefEE7ReleaseEv - fun:_ZN13scoped_refptrIN3sql10Connection12StatementRefEED2Ev - fun:_ZN13scoped_refptrIN3sql10Connection12StatementRefEED1Ev - fun:_ZNSt4pairIKN3sql11StatementIDE13scoped_refptrINS0_10Connection12StatementRefEEED2Ev - fun:_ZNSt4pairIKN3sql11StatementIDE13scoped_refptrINS0_10Connection12StatementRefEEED1Ev - fun:_ZN9__gnu_cxx13new_allocatorISt4pairIKN3sql11StatementIDE13scoped_refptrINS2_10Connection12StatementRefEEEE7destroyEPS9_ - fun:_ZNSt8_Rb_treeIN3sql11StatementIDESt4pairIKS1_13scoped_refptrINS0_10Connection12StatementRefEEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE12destroy_nodeEPSt13_Rb_tree_nodeIS8_E - fun:_ZNSt8_Rb_treeIN3sql11StatementIDESt4pairIKS1_13scoped_refptrINS0_10Connection12StatementRefEEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E - fun:_ZNSt8_Rb_treeIN3sql11StatementIDESt4pairIKS1_13scoped_refptrINS0_10Connection12StatementRefEEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE5clearEv - fun:_ZNSt3mapIN3sql11StatementIDE13scoped_refptrINS0_10Connection12StatementRefEESt4lessIS1_ESaISt4pairIKS1_S5_EEE5clearEv - fun:_ZN3sql10Connection5CloseEv - fun:_ZN3sql10ConnectionD2Ev - fun:_ZN3sql10ConnectionD1Ev - fun:_ZN7history16InMemoryDatabaseD0Ev -} -{ - bug_76197b - Memcheck:Unaddressable - ... - fun:sqlite3_step - fun:sqlite3_exec - fun:_ZN3sql10Connection7ExecuteEPKc - fun:_ZN7history11URLDatabase31CreateKeywordSearchTermsIndicesEv - fun:_ZN7history16InMemoryDatabase12InitFromDiskE* - fun:_ZN7history22InMemoryHistoryBackend4InitE* -} -{ - bug_79654_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZNSt3setIP16RenderWidgetHostSt4lessIS1_ESaIS1_EE6insertERKS1_ - fun:_ZN*9TabLoader12TabIsLoadingEP24NavigationControllerImpl - fun:_ZN*18SessionRestoreImpl21ProcessSessionWindowsEPSt6vectorIP13SessionWindowSaIS3_EE - fun:_ZN*18SessionRestoreImpl12OnGotSessionEiPSt6vectorIP13SessionWindowSaIS3_EE -} -{ - bug_79654_b - Memcheck:Leak - fun:_Znw* - ... - fun:*RenderWidgetHost* - ... - fun:_ZNSt3setIP16RenderWidgetHostSt4lessIS1_ESaIS1_EE6insertERKS1_ - fun:*TabLoader7ObserveEiRKN7content18NotificationSourceERKNS1_19NotificationDetailsE - fun:_ZN23NotificationServiceImpl* - fun:_ZN15WebContentsImpl12SetIsLoading* - fun:_ZN15WebContentsImpl14RenderViewGone* -} -{ - bug_84265 - Memcheck:Leak - fun:_Znw* - fun:_ZN12LoginHandler6CreateEPN3net17AuthChallengeInfoEPNS0_10URLRequestE - fun:_Z17CreateLoginPromptPN3net17AuthChallengeInfoEPNS_10URLRequestE - fun:_ZN22ResourceDispatcherHost14OnAuthRequiredEPN3net10URLRequestEPNS0_17AuthChallengeInfoE - fun:_ZN3net13URLRequestJob21NotifyHeadersCompleteEv -} -{ - bug_84770_a - Memcheck:Unaddressable - fun:_ZN5blink21LocalFrameClientImpl12allowPluginsEb - fun:_ZN5blink14SubframeLoader12allowPluginsENS_28ReasonForCallingAllowPluginsE -} -{ - bug_84770_b - Memcheck:Unaddressable - fun:_ZN5blink21LocalFrameClientImpl15allowJavaScriptEb - fun:_ZN5blink16ScriptController17canExecuteScriptsENS_33ReasonForCallingCanExecuteScriptsE -} -{ - bug_84770_c - Memcheck:Unaddressable - fun:_ZN5blink21LocalFrameClientImpl20allowScriptExtensionERKN3WTF6StringEi - fun:_ZN5blink16V8DOMWindowShell16createNewContextEN2v86HandleINS1_6ObjectEEEi -} -{ - bug_86481 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocator*FilePath*allocate* - fun:_ZNSt11_Deque_base*FilePath*_M_allocate_map* - fun:_ZNSt11_Deque_base*FilePath*_M_initialize_map* - fun:_ZNSt11_Deque_baseI*FilePath* - fun:_ZNSt5dequeI*FilePath* - fun:_ZNSt5stackI*FilePath*deque* - fun:_ZN9file_util14FileEnumeratorC1E* - fun:_ZN7history20ExpireHistoryBackend25DoExpireHistoryIndexFilesEv -} -{ - bug_90215_c - Memcheck:Leak - ... - fun:_ZN3net13URLRequestJob21NotifyRestartRequiredEv - fun:_ZN8appcache21AppCacheURLRequestJob13BeginDeliveryEv -} -{ - bug_90215_d - Memcheck:Leak - ... - fun:_ZN8appcache19AppCacheStorageImpl23RunOnePendingSimpleTaskEv -} -{ - bug_90215_e - Memcheck:Leak - fun:_Znw* - fun:_ZN8appcache15AppCacheService10InitializeE* - fun:_ZN21ChromeAppCacheService20InitializeOnIOThreadE* -} -{ - bug_90215_f - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN26TransportSecurityPersisterC1EPN3net22TransportSecurityStateERKN4base8FilePathEb - fun:_ZNK13ProfileIOData4InitEPSt3mapISs10linked_ptrIN3net20URLRequestJobFactory15ProtocolHandlerEESt4lessISsESaISt4pairIKSsS5_EEE - fun:_ZN12_GLOBAL__N_114FactoryForMain6CreateEv - fun:_ZN29ChromeURLRequestContextGetter20GetURLRequestContextEv - fun:_ZN7content21ChromeAppCacheService20InitializeOnIOThreadERKN4base8FilePathEPNS_15ResourceContextEPN3net23URLRequestContextGetterE13scoped_refptrIN5quota20SpecialStoragePolicyEE -} -{ - bug_90240 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN2pp5proxy26PPP_Instance_Private_Proxy22OnMsgGetInstanceObjectEiNS0_24SerializedVarReturnValueE -} -{ - bug_93730_a - Memcheck:Leak - fun:_Znw* - fun:_ZN14ServiceProcess10InitializeEP16MessageLoopForUIRK11CommandLineP19ServiceProcessState - fun:_Z18ServiceProcessMainRK18MainFunctionParams - ... - fun:ChromeMain - fun:main -} -{ - bug_93730_b - Memcheck:Leak - fun:_Zna* - fun:_ZN4base13LaunchProcessERKSt6vectorISsSaISsEERKNS_13LaunchOptionsEPi - fun:_ZN4base13LaunchProcessERK11CommandLineRKNS_13LaunchOptionsEPi - fun:_ZN21ServiceProcessControl8Launcher5DoRunEv -} -{ - bug_93730_c - Memcheck:Leak - fun:_Znw* - fun:_Z17NewRunnableMethodIN21ServiceProcessControl8LauncherEMS1_FvvEEP14CancelableTaskPT_T0_ - fun:_ZN21ServiceProcessControl8Launcher5DoRunEv -} -{ - bug_94764 - Memcheck:Leak - fun:_Znw* - fun:_ZN8remoting13ClientSession11UnpressKeysEv - fun:_ZN8remoting34ClientSessionTest_UnpressKeys_Test8TestBodyEv -} -{ - bug_95448 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN4base5ValueEEEE8allocateEjPKv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN4base5ValueEESt10_Select1stIS5_ESt4lessISsESaIS5_EE11_M_get_nodeEv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN4base5ValueEESt10_Select1stIS5_ESt4lessISsESaIS5_EE14_M_create_nodeERKS5_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN4base5ValueEESt10_Select1stIS5_ESt4lessISsESaIS5_EE10_M_insert_EPKSt18_Rb_tree_node_baseSE_RKS5_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN4base5ValueEESt10_Select1stIS5_ESt4lessISsESaIS5_EE17_M_insert_unique_ESt23_Rb_tree_const_iteratorIS5_ERKS5_ - fun:_ZNSt3mapISsPN4base5ValueESt4lessISsESaISt4pairIKSsS2_EEE6insertESt17_Rb_tree_iteratorIS7_ERKS7_ - fun:_ZNSt3mapISsPN4base5ValueESt4lessISsESaISt4pairIKSsS2_EEEixERS6_ - fun:_ZN4base15DictionaryValue23SetWithoutPathExpansionERKSsPNS_5ValueE - fun:_ZN4base15DictionaryValue3SetERKSsPNS_5ValueE - fun:_ZN4base15DictionaryValue9SetStringERKSsRKSbItNS_20string16_char_traitsESaItEE - fun:_ZN11PluginPrefs23CreatePluginFileSummaryERKN6webkit13WebPluginInfoE - fun:_ZN11PluginPrefs19OnUpdatePreferencesESt6vectorIN6webkit13WebPluginInfoESaIS2_EES0_INS1_5npapi11PluginGroupESaIS6_EE -} -{ - bug_98867 - Memcheck:Jump - obj:* - obj:* - obj:* -} -{ - bug_101750 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEj - fun:_ZN3WTF7HashSetIPN7blink16SVGStyledElementENS_7PtrHashIS3_EENS_10HashTraitsIS3_EEEnwEj - fun:_ZN5blink21SVGDocumentExtensions18addPendingResourceERKN3WTF12AtomicStringEPNS_16SVGStyledElementE -} -{ - bug_101781_d - Memcheck:Uninitialized - fun:_ZN7testing8internal11CmpHelperGEIddEENS_15AssertionResultEPKcS4_RKT_RKT0_ - fun:_ZN3gfx31JPEGCodec_EncodeDecodeRGBA_Test8TestBodyEv -} -{ - bug_102327a - Memcheck:Leak - fun:_Znw* - fun:_ZN15tracked_objects10ThreadData10InitializeEv - fun:_ZN15tracked_objects10ThreadData30InitializeAndSetTrackingStatusEb - fun:_ZN15tracked_objects10ThreadData29ShutdownSingleThreadedCleanupEb -} -{ - bug_102327d - Memcheck:Uninitialized - fun:_ZN15tracked_objects9DeathData11RecordDeathEiii - fun:_ZN15tracked_objects10ThreadData11TallyADeathERKNS_6BirthsEii - fun:_ZN15tracked_objects10ThreadData31TallyRunOnNamedThreadIfTrackingERKN4base12TrackingInfoERKNS_11TrackedTimeES7_ -} -{ - Intentional leak of stl map during thread cleanup in profiler - Memcheck:Leak - fun:_Znw* - fun:_ZNK15tracked_objects10ThreadData26OnThreadTerminationCleanupEv -} -{ - bug_102831_a - Memcheck:Leak - ... - fun:_ZN17PluginLoaderPosix19LoadPluginsInternalEv -} -{ - bug_104447 - Memcheck:Leak - ... - fun:HB_OpenTypeShape - fun:arabicSyriacOpenTypeShape - fun:HB_ArabicShape - fun:HB_ShapeItem - fun:_ZN5blink21ComplexTextController11shapeGlyphsEv - fun:_ZN5blink21ComplexTextController13nextScriptRunEv - fun:_ZN5blink21ComplexTextController14widthOfFullRunEv - fun:_ZNK7blink4Font24floatWidthForComplexTextERKNS_7TextRunEPN3WTF7HashSetIPKNS_14SimpleFontDataENS4_7PtrHashIS8_EENS4_10HashTraitsIS8_EEEEPNS_13GlyphOverflowE - fun:_ZNK7blink4Font5widthERKNS_7TextRunERiRN3WTF6StringE - fun:_ZN5blink14SVGTextMetricsC1EPNS_19RenderSVGInlineTextERKNS_7TextRunE - fun:_ZN5blink14SVGTextMetrics21measureCharacterRangeEPNS_19RenderSVGInlineTextEjj - fun:_ZNK7blink30SVGTextLayoutAttributesBuilder25propagateLayoutAttributesEPNS_12RenderObjectERN3WTF6VectorINS_23SVGTextLayoutAttributesELm0EEERjRt -} -{ - bug_104806_a - Memcheck:Leak - fun:_Znw* - ... - fun:*tracked_objects*ThreadData*TallyABirth* -} -{ - bug_104806_b - Memcheck:Leak - fun:_Znw* - ... - fun:*tracked_objects*ThreadData*TallyADeath* -} -{ - bug_105744b - Memcheck:Leak - fun:_Znw* - ... - fun:_ZNSt6vector*9push_back* - fun:_ZN4skia19ConvolutionFilter1D9AddFilterEiPKsi - fun:_ZN4skia12_GLOBAL__N_112ResizeFilter14ComputeFiltersEiiiffPNS_19ConvolutionFilter1DE - fun:_ZN4skia12_GLOBAL__N_112ResizeFilterC1ENS_15ImageOperations12ResizeMethodEiiiiRK7SkIRect - fun:_ZN4skia15ImageOperations11ResizeBasicERK8SkBitmapNS0_12ResizeMethodEiiRK7SkIRect - fun:_ZN4skia15ImageOperations6ResizeERK8SkBitmapNS0_12ResizeMethodEiiRK7SkIRect - fun:_ZN4skia15ImageOperations6ResizeERK8SkBitmapNS0_12ResizeMethodEii - fun:_ZN24ChromeRenderViewObserver21CaptureFrameThumbnailEPN5blink7WebViewEiiP8SkBitmapP14ThumbnailScore - fun:_ZN24ChromeRenderViewObserver16CaptureThumbnailEv - fun:_ZN24ChromeRenderViewObserver15CapturePageInfoEib -} -{ - bug_105907 - Memcheck:Uninitialized - ... - fun:_ZN4skia14BGRAConvolve2DEPKhibRKNS_19ConvolutionFilter1DES4_iPhb - fun:_ZN4skia15ImageOperations11ResizeBasicE* - fun:_ZN4skia15ImageOperations6ResizeE* -} -{ - bug_106912 - Memcheck:Leak - ... - fun:*tracked_objects*ThreadData*InitializeThreadContext* - fun:*base*PlatformThread*SetName* -} -{ - bug_112278 - Memcheck:Uninitialized - fun:fetch_texel_2d_f_rgba8888 - ... - fun:sample_nearest_2d - fun:fetch_texel_lod - fun:fetch_texel - fun:_mesa_execute_program - fun:run_program* - fun:_swrast_exec_fragment_program - fun:shade_texture_span - fun:_swrast_write_rgba_span - fun:general_triangle - ... - fun:_swrast_Triangle - fun:triangle_rgba - ... - fun:run_render - fun:_tnl_run_pipeline - fun:_tnl_draw_prims - fun:_tnl_vbo_draw_prims -} -{ - bug_122717_use_after_free - Memcheck:Unaddressable - fun:__pthread_mutex_unlock_usercnt - fun:_ZN4base8internal8LockImpl6UnlockEv - fun:_ZN4base4Lock7ReleaseEv - fun:_ZN4base8AutoLockD1Ev - fun:_ZN5gdata15GDataFileSystem21RunTaskOnIOThreadPoolERKN4base8CallbackIFvvEEE -} -{ - bug_123307 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN3WTF16fastZeroedMallocEm - ... - fun:_ZN5blink12_GLOBAL__N_111V8ObjectMapIN2v86ObjectEjE3setERKNS2_6HandleIS3_EERKj - fun:_ZN5blink12_GLOBAL__N_110Serializer10greyObjectERKN2v86HandleINS2_6ObjectEEE - fun:_ZN5blink12_GLOBAL__N_110Serializer11doSerializeEN2v86HandleINS2_5ValueEEEPNS1_9StateBaseE - fun:_ZN5blink12_GLOBAL__N_110Serializer9serializeEN2v86HandleINS2_5ValueEEE - fun:_ZN5blink21SerializedScriptValueC1EN2v86HandleINS1_5ValueEEEPN3WTF6VectorINS5_6RefPtrINS_11MessagePortEEELm1EEEPNS6_INS7_INS5_11ArrayBufferEEELm1EEERb - fun:_ZN5blink21SerializedScriptValue6createEN2v86HandleINS1_5ValueEEEPN3WTF6VectorINS5_6RefPtrINS_11MessagePortEEELm1EEEPNS6_INS7_INS5_11ArrayBufferEEELm1EEERb - fun:_ZN5blinkL25handlePostMessageCallbackERKN2v89ArgumentsEb - fun:_ZN5blink11V8DOMWindow19postMessageCallbackERKN2v89ArgumentsE - fun:_ZN2v88internalL19HandleApiCallHelperILb0EEEPNS0_11MaybeObjectENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE - fun:_ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE -} -{ - bug_124488 - Memcheck:Leak - fun:malloc - fun:strdup - ... - fun:_ZN34CopyTextureCHROMIUMResourceManager10InitializeEv - fun:_ZN3gpu5gles216GLES2DecoderImpl10InitializeERK13scoped_refptrIN3gfx9GLSurfaceEERKS2_INS3_9GLContextEERKNS3_4SizeERKNS0_18DisallowedFeaturesEPKcRKSt6vectorIiSaIiEE - fun:_ZN6webkit3gpu18GLInProcessContext10InitializeERKN3gfx4SizeEPS1_PKcPKiNS2_13GpuPreferenceE - fun:_ZN6webkit3gpu18GLInProcessContext22CreateOffscreenContextEPS1_RKN3gfx4SizeES2_PKcPKiNS3_13GpuPreferenceE - fun:_ZN6webkit3gpu46WebGraphicsContext3DInProcessCommandBufferImpl10InitializeEN5blink20WebGraphicsContext3D10AttributesEPS3_ -} -{ - bug_124496 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN8notifier26ProxyResolvingClientSocket23ProcessProxyResolveDoneEi -} -{ - bug_127716 - Memcheck:Leak - fun:_Znw* - fun:_ZN3gfx5ImageC1ERK8SkBitmap - fun:_ZN16BrowserThemePack16LoadRawBitmapsToE* - fun:_ZN16BrowserThemePack18BuildFromExtensionEPK9Extension - fun:_ZN45BrowserThemePackTest_CanBuildAndReadPack_Test8TestBodyEv -} -{ - bug_130362 - Memcheck:Leak - fun:_Znw* - fun:_ZN12invalidation20NewPermanentCallbackINS_22InvalidationClientImplES1_St4pairINS_6StatusESsEEEPN4base8CallbackIFvT1_EEEPT_MT0_FvS7_E - fun:_ZN12invalidation22InvalidationClientImpl34ScheduleStartAfterReadingStateBlobEv - fun:_ZN12invalidation22InvalidationClientImpl5StartEv - fun:_ZN6syncer24SyncInvalidationListener5StartERKSsS2_S2_RKSt3mapIN8syncable9ModelTypeElSt4lessIS5_ESaISt4pairIKS5_lEEERKN12browser_sync10WeakHandleINS_24InvalidationStateTrackerEEEPNS0_8ListenerEPNS_11StateWriterE - fun:_ZN6syncer20InvalidationNotifier17UpdateCredentialsERKSsS2_ - fun:_ZN6syncer31NonBlockingInvalidationNotifier4Core17UpdateCredentialsERKSsS3_ -} -{ - bug_130449 - Memcheck:Leak - fun:_Znw* - fun:_ZN12invalidation20NewPermanentCallbackINS_22InvalidationClientImplES1_St4pairINS_6StatusESsEEEPN4base8CallbackIFvT1_EEEPT_MT0_FvS7_E - fun:_ZN12invalidation22InvalidationClientImpl34ScheduleStartAfterReadingStateBlobEv - fun:_ZN12invalidation22InvalidationClientImpl5StartEv - fun:_ZN6syncer24SyncInvalidationListener5StartERKSsS2_S2_RKSt3mapIN8syncable9ModelTypeElSt4lessIS5_ESaISt4pairIKS5_lEEERKN12browser_sync10WeakHandleINS_24InvalidationStateTrackerEEEPNS0_8ListenerE - fun:_ZN6syncer20InvalidationNotifier17UpdateCredentialsERKSsS2_ - fun:_ZN6syncer31NonBlockingInvalidationNotifier4Core17UpdateCredentialsERKSsS3_ -} -{ - bug_130619 - Memcheck:Leak - fun:_Znw* - fun:_ZN5blink9ClipRects6createERKS0_ - fun:_ZN5blink11RenderLayer15updateClipRectsEPKS0_PNS_12RenderRegionENS_13ClipRectsTypeENS_29OverlayScrollbarSizeRelevancyE - ... - fun:_ZNK7blink11RenderLayer15parentClipRectsEPKS0_PNS_12RenderRegionENS_13ClipRectsTypeERNS_9ClipRectsENS_29OverlayScrollbarSizeRelevancyE - fun:_ZNK7blink11RenderLayer18backgroundClipRectEPKS0_PNS_12RenderRegionENS_13ClipRectsTypeENS_29OverlayScrollbarSizeRelevancyE -} -{ - bug_138233_a - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN3WTF10RefCountedIN7blink17ScriptProfileNodeEEnwEm - fun:_ZN5blink17ScriptProfileNode6createEPKN2v814CpuProfileNodeE - fun:_ZNK7blink13ScriptProfile4headEv - fun:_ZN5blink23ScriptProfileV8InternalL14headAttrGetterEN2v85LocalINS1_6StringEEERKNS1_12AccessorInfoE - fun:_ZN2v88internal8JSObject23GetPropertyWithCallbackEPNS0_6ObjectES3_PNS0_6StringE - fun:_ZN2v88internal6Object11GetPropertyEPS1_PNS0_12LookupResultEPNS0_6StringEP18PropertyAttributes - fun:_ZN2v88internal6LoadIC4LoadENS0_16InlineCacheStateENS0_6HandleINS0_6ObjectEEENS3_INS0_6StringEEE - fun:_ZN2v88internal11LoadIC_MissENS0_9ArgumentsEPNS0_7IsolateE -} -{ - bug_138233_b - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN3WTF10RefCountedIN7blink17ScriptProfileNodeEEnwEm - fun:_ZN5blink17ScriptProfileNode6createEPKN2v814CpuProfileNodeE - fun:_ZNK7blink17ScriptProfileNode8childrenEv - fun:_ZN5blink27ScriptProfileNodeV8InternalL16childrenCallbackERKN2v89ArgumentsE -} -{ - bug_138712 - Memcheck:Uninitialized - fun:_ZN7testing8internal11CmpHelperGEIddEENS_15AssertionResultEPKcS4_RKT_RKT0_ - fun:_ZN3gfx30JPEGCodec_EncodeDecodeRGB_Test8TestBodyEv -} -{ - bug_144118_b - Memcheck:Unaddressable - fun:_ZNK3WTF6OwnPtrIN5blink14ScrollbarGroupEEcvMS3_PS2_Ev - fun:_ZN5blink22WebPluginContainerImpl14reportGeometryEv - fun:_ZN5blink22WebPluginContainerImpl12setFrameRectERKN7blink7IntRectE - ... - fun:_ZN9TestShell4dumpEv -} -{ - bug_144913_b - Memcheck:Leak - fun:_Znw* - fun:_ZN8chromeos17DBusThreadManager10InitializeEv - fun:_ZN8chromeos23KioskModeIdleLogoutTest5SetUpEv -} -{ - bug_144913_c - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN8chromeos21DBusThreadManagerImplC1ENS_28DBusClientImplementationTypeE - fun:_ZN8chromeos17DBusThreadManager10InitializeEv - fun:_ZN8chromeos23KioskModeIdleLogoutTest5SetUpEv -} -{ - bug_144930_b - Memcheck:Leak - fun:_Znw* - fun:_ZL21cachedDeviceLuminancef -} -{ - bug_145650a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN14WebDataService10AddKeywordERK15TemplateURLData - fun:_ZN18TemplateURLService11AddNoNotifyEP11TemplateURLb -} -{ - bug_145650b - Memcheck:Leak - fun:_Znw* - fun:_ZN14WebDataService13RemoveKeywordEl - fun:_ZN18TemplateURLService14RemoveNoNotifyEP11TemplateURL - fun:_ZN18TemplateURLService6RemoveEP11TemplateURL - fun:_ZN9protector71DefaultSearchProviderChangeTest_CurrentSearchProviderRemovedByUser_Test19RunTestOnMainThreadEv -} -{ - bug_145650c - Memcheck:Leak - fun:_Znw* - fun:_ZN14WebDataService13UpdateKeywordERK15TemplateURLData - fun:_ZN18TemplateURLService32SetDefaultSearchProviderNoNotifyEP11TemplateURL -} -{ - bug_125692a - Memcheck:Uninitialized - fun:_ZN2v88internal11StoreBuffer28IteratePointersInStoreBufferEPFvPPNS0_10HeapObjectES3_E - fun:_ZN2v88internal11StoreBuffer25IteratePointersToNewSpaceEPFvPPNS0_10HeapObjectES3_E - fun:_ZN2v88internal20MarkCompactCollector29EvacuateNewSpaceAndCandidatesEv - fun:_ZN2v88internal20MarkCompactCollector11SweepSpacesEv - fun:_ZN2v88internal20MarkCompactCollector14CollectGarbageEv - fun:_ZN2v88internal4Heap11MarkCompactEPNS0_8GCTracerE -} -{ - bug_125692b - Memcheck:Uninitialized - fun:_ZN2v88internal11StoreBuffer7CompactEv - fun:_ZN2v88internal11StoreBuffer19PrepareForIterationEv - fun:_ZN2v88internal11StoreBuffer25IteratePointersToNewSpaceEPFvPPNS0_10HeapObjectES3_E - fun:_ZN2v88internal20MarkCompactCollector29EvacuateNewSpaceAndCandidatesEv - fun:_ZN2v88internal20MarkCompactCollector11SweepSpacesEv - fun:_ZN2v88internal20MarkCompactCollector14CollectGarbageEv - fun:_ZN2v88internal4Heap11MarkCompactEPNS0_8GCTracerE - fun:_ZN2v88internal4Heap24PerformGarbageCollectionENS0_16GarbageCollectorEPNS0_8GCTracerE - fun:_ZN2v88internal4Heap14CollectGarbageENS0_15AllocationSpaceENS0_16GarbageCollectorEPKcS5_ - fun:_ZN2v88internal4Heap14CollectGarbageENS0_15AllocationSpaceEPKc - fun:_ZN2v88internal4Heap17CollectAllGarbageEiPKc - fun:_ZN2v88internal4Heap16IdleNotificationEi - fun:_ZN2v88internal2V816IdleNotificationEi - fun:_ZN2v82V816IdleNotificationEi - fun:_ZN16RenderThreadImpl11IdleHandlerEv -} -{ - bug_145693 - Memcheck:Leak - fun:_Znw* - fun:_ZN10extensions18PermissionsUpdater17RecordOAuth2GrantEPKNS_9ExtensionE - fun:_ZN10extensions18PermissionsUpdater22GrantActivePermissionsEPKNS_9ExtensionEb - fun:_ZN10extensions12CrxInstaller25ReportSuccessFromUIThreadEv -} -{ - bug_145695 - Memcheck:Leak - fun:malloc - fun:NaClDescImcBoundDescAcceptConn - fun:RevRpcHandlerBase - fun:NaClThreadInterfaceStart -} -{ - bug_162825 - Memcheck:Uninitialized - fun:bcmp - fun:_ZNK3gpu5gles221ShaderTranslatorCache26ShaderTranslatorInitParamsltERKS2_ - fun:_ZNKSt4lessIN3gpu5gles221ShaderTranslatorCache26ShaderTranslatorInitParams* - ... - fun:*ShaderTranslatorInitParams* - ... - fun:_ZN3gpu5gles216GLES2DecoderImpl26InitializeShaderTranslatorEv -} -{ - bug_163924 - Memcheck:Leak - fun:_Znw* - fun:_ZN28JSONAsynchronousUnpackerImpl22StartProcessOnIOThreadEN7content13BrowserThread2IDERKSs -} -{ - bug_164176 - Memcheck:Leak - fun:_Znw* - fun:_ZN18BrowserProcessImpl21PreMainMessageLoopRunEv - fun:_ZN22ChromeBrowserMainParts25PreMainMessageLoopRunImplEv - fun:_ZN22ChromeBrowserMainParts21PreMainMessageLoopRunEv - fun:_ZN7content15BrowserMainLoop13CreateThreadsEv - fun:_ZN7content21BrowserMainRunnerImpl10InitializeERKNS_18MainFunctionParamsE - fun:_ZN7content11BrowserMainERKNS_18MainFunctionParamsE - fun:_ZN7content23RunNamedProcessTypeMainERKSsRKNS_18MainFunctionParamsEPNS_19ContentMainDelegateE - fun:_ZN7content21ContentMainRunnerImpl3RunEv - fun:_ZN7content11ContentMainEiPPKcPNS_19ContentMainDelegateE - fun:ChromeMain -} -{ - bug_164179 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3net10URLFetcher6CreateERK4GURLNS0_11RequestTypeEPNS_18URLFetcherDelegateE - fun:_ZN18WebResourceService10StartFetchEv -} -{ - bug_166819 - Memcheck:Leak - fun:_Znw* - fun:_ZNK3sql10Connection21GetUntrackedStatementEPKc - fun:_ZNK3sql10Connection21DoesTableOrIndexExistEPKcS2_ - fun:_ZNK3sql10Connection14DoesTableExistEPKc - fun:_ZN3sql9MetaTable14DoesTableExistEPNS_10ConnectionE - ... - fun:_ZN7history16TopSitesDatabase4InitE* - fun:_ZN7history15TopSitesBackend16InitDBOnDBThreadE* -} -{ - bug_166819b - Memcheck:Leak - fun:_Znw* - fun:_ZNK3sql10Connection21GetUntrackedStatementEPKc - fun:_ZNK3sql10Connection21DoesTableOrIndexExistEPKcS2_ - fun:_ZNK3sql10Connection14DoesTableExistEPKc - fun:_ZN7history17ShortcutsDatabase11EnsureTableEv - fun:_ZN7history17ShortcutsDatabase4InitEv - fun:_ZN7history16ShortcutsBackend12InitInternalEv -} -{ - bug_167175a - Memcheck:Leak - ... - fun:g_* - ... - fun:_ZN16BrowserWindowGtk11InitWidgetsEv - fun:_ZN16BrowserWindowGtk4InitEv - fun:_ZN13BrowserWindow19CreateBrowserWindowEP7Browser -} -{ - bug_167175b - Memcheck:Leak - fun:malloc - obj:/lib/libpng12.so.0.42.0 - fun:png_create_read_struct_2 - ... - fun:_ZN15ReloadButtonGtkC1EP18LocationBarViewGtkP7Browser - fun:_ZN17BrowserToolbarGtk4InitEP10_GtkWindow - fun:_ZN16BrowserWindowGtk11InitWidgetsEv - fun:_ZN16BrowserWindowGtk4InitEv - fun:_ZN13BrowserWindow19CreateBrowserWindowEP7Browser -} -{ - bug_167175d - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorISbItN4base20string16_char_traitsESaItEEE8allocateEmPKv - fun:_ZNSt12_Vector_baseISbItN4base20string16_char_traitsESaItEESaIS3_EE11_M_allocateEm - ... - fun:_ZN15WrenchMenuModel5BuildEbb - fun:_ZN15WrenchMenuModelC1EPN2ui19AcceleratorProviderEP7Browserbb - fun:_ZN17BrowserToolbarGtkC1EP7BrowserP16BrowserWindowGtk - fun:_ZN16BrowserWindowGtk11InitWidgetsEv - fun:_ZN16BrowserWindowGtk4InitEv - fun:_ZN13BrowserWindow19CreateBrowserWindowEP7Browser -} -{ - bug_172005 - Memcheck:Leak - fun:_Znw* - fun:_ZN7leveldb10VersionSet11LogAndApplyEPNS_11VersionEditEPNS_4port5MutexE - fun:_ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_ - fun:_ZN11dom_storage22SessionStorageDatabase9TryToOpenEPPN7leveldb2DBE - fun:_ZN11dom_storage22SessionStorageDatabase8LazyOpenEb - fun:_ZN11dom_storage22SessionStorageDatabase24ReadNamespacesAndOriginsEPSt3mapISsSt6vectorI4GURLSaIS3_EESt4lessISsESaISt4pairIKSsS5_EEE - fun:_ZN11dom_storage17DomStorageContext36FindUnusedNamespacesInCommitSequenceERKSt3setISsSt4lessISsESaISsEES7_ -} -{ - bug_172005b - Memcheck:Leak - fun:_Znw* - fun:_ZN7leveldb6DBImplC1ERKNS_7OptionsERKSs - fun:_ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_ - fun:_ZN11dom_storage22SessionStorageDatabase9TryToOpenEPPN7leveldb2DBE - fun:_ZN11dom_storage22SessionStorageDatabase8LazyOpenEb - fun:_ZN11dom_storage22SessionStorageDatabase24ReadNamespacesAndOriginsEPSt3mapISsSt6vectorI4GURLSaIS3_EESt4lessISsESaISt4pairIKSsS5_EEE - fun:_ZN11dom_storage17DomStorageContext36FindUnusedNamespacesInCommitSequenceERKSt3setISsSt4lessISsESaISsEES7_ -} -{ - bug_175823 - Memcheck:Leak - ... - fun:_ZN18ValueStoreFrontend* -} -{ - bug_176619_a - Memcheck:Uninitialized - fun:_ZN3WTF6StringC1EPKt - fun:_ZN5blink12WebVTTParser22constructTreeFromTokenEPNS_8DocumentE - fun:_ZN5blink12WebVTTParser33createDocumentFragmentFromCueTextERKN3WTF6StringE - fun:_ZN5blink12TextTrackCue20createWebVTTNodeTreeEv - fun:_ZN5blink12TextTrackCue22createCueRenderingTreeEv - fun:_ZN5blink12TextTrackCue17updateDisplayTreeEf -} -{ - bug_176619_b - Memcheck:Uninitialized - fun:_ZN5blink12WebVTTParser13collectDigitsERKN3WTF6StringEPj - fun:_ZN5blink12WebVTTParser16collectTimeStampERKN3WTF6StringEPj - fun:_ZN5blink12WebVTTParser22constructTreeFromTokenEPNS_8DocumentE - fun:_ZN5blink12WebVTTParser33createDocumentFragmentFromCueTextERKN3WTF6StringE - fun:_ZN5blink12TextTrackCue20createWebVTTNodeTreeEv - fun:_ZN5blink12TextTrackCue22createCueRenderingTreeEv - fun:_ZN5blink12TextTrackCue17updateDisplayTreeEf -} -{ - bug_176891a - Memcheck:Leak - fun:calloc - fun:nss_ZAlloc - fun:nssCryptokiObject_Create - fun:create_objects_from_handles - fun:find_objects - fun:find_objects_by_template - fun:nssToken_FindCertificateByEncodedCertificate - fun:PK11_FindCertFromDERCertItem - fun:_ZN24mozilla_security_manager12_GLOBAL__N_125nsPKCS12Blob_ImportHelper* -} -{ - bug_176891b - Memcheck:Leak - ... - fun:nssPKIObject_Create - fun:nssTrustDomain_FindTrustForCertificate - fun:STAN_DeleteCertTrustMatchingSlot - fun:SEC_DeletePermCertificate -} -{ - bug_252241_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN7content19BlinkTestController20PrepareForLayoutTestERK4GURLRKN4base8FilePathEbRKSs - fun:_Z16ShellBrowserMainRKN7content18MainFunctionParams* - fun:_ZN7content17ShellMainDelegate10RunProcessERKSsRKNS_18MainFunctionParamsE - fun:_ZN7content23RunNamedProcessTypeMainERKSsRKNS_18MainFunctionParamsEPNS_19ContentMainDelegateE - fun:_ZN7content21ContentMainRunnerImpl3RunEv - fun:_ZN7content11ContentMainEiPPKcPNS_19ContentMainDelegateE -} -{ - bug_252241_b - Memcheck:Leak - fun:_Znw* - fun:_ZN7content19ContentMainDelegate26CreateContentUtilityClientEv - fun:_ZN7content24ContentClientInitializer3SetERKSsPNS_19ContentMainDelegateE - fun:_ZN7content21ContentMainRunnerImpl10InitializeEiPPKcPNS_19ContentMainDelegateE - fun:_ZN7content11ContentMainEiPPKcPNS_19ContentMainDelegateE -} -{ - bug_252641_a - Memcheck:Uninitialized - fun:pthread_rwlock_init$UNIX2003 - fun:_ZN3re25MutexC2Ev - fun:_ZN3re25MutexC1Ev - ... - fun:_ZN11leveldb_env19ParseMethodAndErrorEPKcPNS_8MethodIDEPi -} -{ - bug_252641_b - Memcheck:Uninitialized - fun:pthread_rwlock_init$UNIX2003 - fun:_ZN3re25MutexC2Ev - fun:_ZN3re25MutexC1Ev - ... - fun:_ZN3gpu12_GLOBAL__N_114StringMismatchERKSsS2_ -} -{ - bug_258132a - Memcheck:Leak - fun:_Znw* - fun:_ZN5ppapi5proxy15PPP_Class_Proxy19CreateProxiedObjectEPK18PPB_Var_DeprecatedPNS0_10DispatcherEill - fun:_ZN5ppapi5proxy24PPB_Var_Deprecated_Proxy27OnMsgCreateObjectDeprecatedEillNS0_24SerializedVarReturnValueE -} -{ - bug_258132b - Memcheck:Leak - fun:_Znw* - fun:_ZN5ppapi5proxy26PluginProxyMultiThreadTest7RunTestEv - fun:_ZN5ppapi*ThreadAwareCallback*Test_* -} -{ - bug_259357d - Memcheck:Uninitialized - ... - fun:_ZN3gpu5gles239ShaderTranslatorTest_OptionsString_Test8TestBodyEv -} -{ - bug_259357f - Memcheck:Uninitialized - fun:_ZNK3gpu12AsyncAPIMock6IsArgsclEPKv - fun:_ZNK7testing8internal12TrulyMatcherIN3gpu12AsyncAPIMock6IsArgsEE15MatchAndExplainIPKvEEbRT_PNS_19MatchResultListenerE - fun:_ZNK7testing18PolymorphicMatcherINS_8internal12TrulyMatcherIN3gpu12AsyncAPIMock6IsArgsEEEE15MonomorphicImplIPKvE15MatchAndExplainESA_PNS_19MatchResultListenerE - fun:_ZNK7testing8internal11MatcherBaseIPKvE15MatchAndExplainES3_PNS_19MatchResultListenerE - fun:_ZNK7testing8internal11MatcherBaseIPKvE7MatchesES3_ - fun:_ZN7testing8internal11TuplePrefixILm3EE7MatchesINSt3tr15tupleIINS_7MatcherIjEES7_NS6_IPKvEEEEENS5_IIjjS9_EEEEEbRKT_RKT0_ - fun:_ZN7testing8internal12TupleMatchesINSt3tr15tupleIINS_7MatcherIjEES5_NS4_IPKvEEEEENS3_IIjjS7_EEEEEbRKT_RKT0_ - fun:_ZNK7testing8internal16TypedExpectationIFN3gpu5error5ErrorEjjPKvEE7MatchesERKNSt3tr15tupleIIjjS6_EEE - fun:_ZNK7testing8internal16TypedExpectationIFN3gpu5error5ErrorEjjPKvEE21ShouldHandleArgumentsERKNSt3tr15tupleIIjjS6_EEE - fun:_ZNK7testing8internal18FunctionMockerBaseIFN3gpu5error5ErrorEjjPKvEE29FindMatchingExpectationLockedERKNSt3tr15tupleIIjjS6_EEE - fun:_ZN7testing8internal18FunctionMockerBaseIFN3gpu5error5ErrorEjjPKvEE30UntypedFindMatchingExpectationES6_PS6_PbPSoSB_ - fun:_ZN7testing8internal25UntypedFunctionMockerBase17UntypedInvokeWithEPKv - fun:_ZN7testing8internal18FunctionMockerBaseIFN3gpu5error5ErrorEjjPKvEE10InvokeWithERKNSt3tr15tupleIIjjS6_EEE - fun:_ZN7testing8internal14FunctionMockerIFN3gpu5error5ErrorEjjPKvEE6InvokeEjjS6_ - fun:_ZN3gpu12AsyncAPIMock9DoCommandEjjPKv - fun:_ZN3gpu13CommandParser14ProcessCommandEv - fun:_ZN3gpu12CommandExecutor10PutChangedEv -} -{ - bug_259789b - Memcheck:Uninitialized - fun:_ZN5blink12_GLOBAL__N_116adjustAttributesERKNS_17GraphicsContext3D10AttributesEPNS_8SettingsE - fun:_ZN5blink21WebGLRenderingContext6createEPNS_17HTMLCanvasElementEPNS_22WebGLContextAttributesE - fun:_ZN5blink17HTMLCanvasElement10getContextERKN3WTF6StringEPNS_23CanvasContextAttributesE -} -{ - bug_273398 - Memcheck:Leak - ... - fun:_ZN6Pickle6ResizeEm - fun:_ZN6PickleC1Ev - fun:_ZN7content14ZygoteHostImpl20GetTerminationStatusEibPi - fun:_ZN7content20ChildProcessLauncher25GetChildTerminationStatusEbPi -} -{ - bug_290407 - Memcheck:Leak - fun:calloc - fun:_swrast_new_soft_renderbuffer - fun:_mesa_BindRenderbufferEXT - fun:shared_dispatch_stub_939 - fun:_ZN3gfx9GLApiBase23glBindRenderbufferEXTFnEjj - fun:_ZN3gpu5gles216GLES2DecoderImpl18DoBindRenderbufferEjj -} -{ - bug_293024_b - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN3WTF24ThreadSafeRefCountedBasenwEm - fun:_ZN5blink12_GLOBAL__N_131AllowFileSystemMainThreadBridge6createEPN7blink17WorkerGlobalScopeEPNS_13WebWorkerBaseERKN3WTF6StringE - fun:_ZN5blink22WorkerFileSystemClient15allowFileSystem* - ... - fun:_ZN2v88internal25FunctionCallbackArguments4CallEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEE -} -{ - bug_298788 - Memcheck:Leak - fun:_Znw* - fun:_ZN10extensions19TestExtensionSystem22CreateExtensionServiceEPKN4base11CommandLineERKNS1_8FilePathEb - fun:_ZN10extensions12_GLOBAL__N_130ExtensionActionIconFactoryTest5SetUpEv -} -{ - bug_299804 - Memcheck:Uninitialized - fun:_ZN24GrConfigConversionEffect30TestForPreservingPMConversionsEP9GrContextPNS_12PMConversionES3_ - fun:_ZN12_GLOBAL__N_119test_pm_conversionsEP9GrContextPiS2_ - fun:_ZN9GrContext19createPMToUPMEffectEP9GrTexturebRK8SkMatrix - fun:_ZN9GrContext22readRenderTargetPixelsEP14GrRenderTargetiiii13GrPixelConfigPvmj - fun:_ZN11SkGpuDevice12onReadPixelsE* - fun:_ZN12SkBaseDevice10readPixelsE* - fun:_ZN8SkCanvas10readPixelsE* - fun:_ZN*DeferredDevice12onReadPixelsE* - fun:_ZN12SkBaseDevice10readPixelsE* - fun:_ZN8SkCanvas10readPixelsE* - fun:_ZN5blink15GraphicsContext10readPixelsE* - ... - fun:_ZN*blink24CanvasRenderingContext2D12getImageDataE* - ... - fun:_ZN5blink34CanvasRenderingContext2DV8InternalL18getImageDataMethodERKN2v820FunctionCallbackInfoINS1_5ValueEEE - fun:_ZN5blink34CanvasRenderingContext2DV8InternalL26getImageDataMethodCallbackERKN2v820FunctionCallbackInfoINS1_5ValueEEE -} -{ - bug_317166 - Memcheck:Leak - fun:malloc - fun:_dl_close_worker - fun:_dl_close - fun:_dl_catch_error - fun:_dlerror_run - fun:dlclose - obj:/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_searchva_hooks - obj:/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 - fun:snd_config_search_definition - obj:/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 - fun:_ZN5media11AlsaWrapper7PcmOpenEPP8_snd_pcmPKc15_snd_pcm_streami - fun:_ZN9alsa_utilL10OpenDeviceEPN5media11AlsaWrapperEPKc15_snd_pcm_streamii15_snd_pcm_formati - fun:_ZN9alsa_util18OpenPlaybackDeviceEPN5media11AlsaWrapperEPKcii15_snd_pcm_formati - fun:_ZN5media19AlsaPcmOutputStream16AutoSelectDeviceEj - fun:_ZN5media19AlsaPcmOutputStream4OpenEv - fun:_ZN5media25AudioOutputDispatcherImpl19CreateAndOpenStreamEv - fun:_ZN5media25AudioOutputDispatcherImpl10OpenStreamEv - fun:_ZN5media20AudioOutputResampler10OpenStreamEv - fun:_ZN5media16AudioOutputProxy4OpenEv - fun:_ZN5media18AudioStreamHandler20AudioStreamContainer4PlayEv -} -{ - bug_318221 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base23EnsureProcessTerminatedEi -} -{ - bug_321976 - Memcheck:Leak - ... - fun:nssList_Create - fun:nssTrustDomain_UpdateCachedTokenCerts -} -{ - bug_331925 - Memcheck:Leak - ... - fun:_ZN3net27TestURLRequestContextGetter20GetURLRequestContextEv - fun:_ZN3net14URLFetcherCore30StartURLRequestWhenAppropriateEv - fun:_ZN3net14URLFetcherCore19DidInitializeWriterEi - fun:_ZN3net14URLFetcherCore15StartOnIOThreadEv -} -{ - bug_332330 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN5blink8ResourcenwEm - fun:_ZN5blinkL14createResourceENS_8Resource4TypeERKNS_15ResourceRequestERKN3WTF6StringE - fun:_ZN5blink15ResourceFetcher12loadResourceENS_8Resource4TypeERNS_12FetchRequestERKN3WTF6StringE - fun:_ZN5blink15ResourceFetcher15requestResourceENS_8Resource4TypeERNS_12FetchRequestE - fun:_ZN5blink15ResourceFetcher16fetchRawResourceERNS_12FetchRequestE - fun:_ZN5blink24DocumentThreadableLoader11loadRequestERKNS_15ResourceRequestENS_19SecurityCheckPolicyE -} -{ - bug_340752 - Memcheck:Uninitialized - ... - fun:_ZN5blink10ThreadHeap19checkAndMarkPointerEPNS_7VisitorEPh - fun:_ZN5blink11ThreadState10visitStackEPNS_7VisitorE - ... - fun:_ZN5blink10ThreadHeap14collectGarbageENS_7BlinkGC10StackState* -} -{ - bug_342591 - Memcheck:Param - write(buf) - obj:*libpthread* - fun:_ZN3IPC7Channel11ChannelImpl23ProcessOutgoingMessagesEv - fun:_ZN3IPC7Channel11ChannelImpl4SendEPNS_7MessageE - fun:_ZN3IPC7Channel4SendEPNS_7MessageE - fun:_ZN3IPC12ChannelProxy7Context13OnSendMessageE10scoped_ptrINS_7MessageEN4base14DefaultDeleterIS3_EEE -} -{ - bug_345432 - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC11SyncChannel23CreateSyncMessageFilterEv - fun:_ZN7content14GpuChannelHost7ConnectERKN3IPC13ChannelHandleEPN4base13WaitableEventE - fun:_ZN7content14GpuChannelHost6CreateEPNS_21GpuChannelHostFactoryEiRKN3gpu7GPUInfoERKN3IPC13ChannelHandleEPN4base13WaitableEventEPNS3_22GpuMemoryBufferManagerE - fun:_ZN7content28BrowserGpuChannelHostFactory21GpuChannelEstablishedEv - fun:_ZN7content28BrowserGpuChannelHostFactory16EstablishRequest12FinishOnMainEv -} -{ - bug_346336_a - Memcheck:Leak - fun:_Znw* - fun:_ZN7content16SiteInstanceImpl10GetProcessEv - fun:_ZN7content22RenderFrameHostManager21CreateRenderFrameHostEPNS_12SiteInstanceEiibb - fun:_ZN7content22RenderFrameHostManager4InitEPNS_14BrowserContextEPNS_12SiteInstanceEii - fun:_ZN7content15WebContentsImpl4InitERKNS_11WebContents12CreateParamsE - fun:_ZN7content15WebContentsImpl16CreateWithOpenerERKNS_11WebContents12CreateParamsEPS0_ - fun:_ZN7content11WebContents6CreateERKNS0_12CreateParamsE - fun:_ZN7content5Shell15CreateNewWindowEPNS_14BrowserContextERK4GURLPNS_12SiteInstanceEiRKN3gfx4SizeE - fun:_ZN7content19BlinkTestController20PrepareForLayoutTestERK4GURLRKN4base8FilePathEbRKSs - fun:_ZN12_GLOBAL__N_110RunOneTestERKSsPbRK10scoped_ptrIN7content17BrowserMainRunnerEN4base14DefaultDeleterIS5_EEE - fun:_Z16ShellBrowserMainRKN7content18MainFunctionParamsERK10scoped_ptrINS_17BrowserMainRunnerEN4base14DefaultDeleterIS4_EEE - fun:_ZN7content17ShellMainDelegate10RunProcessERKSsRKNS_18MainFunctionParamsE - fun:_ZN7content23RunNamedProcessTypeMainERKSsRKNS_18MainFunctionParamsEPNS_19ContentMainDelegateE - fun:_ZN7content21ContentMainRunnerImpl3RunEv - fun:_ZN7content11ContentMainEiPPKcPNS_19ContentMainDelegateE -} -{ - bug_347683 - Memcheck:Leak - fun:_Znw* - fun:_ZNK13LoginDatabase9GetLoginsERKN8autofill12PasswordFormEPSt6vectorIPS1_SaIS5_EE - fun:_ZN50LoginDatabaseTest_UpdateIncompleteCredentials_Test8TestBodyEv -} -{ - bug_347967 - Memcheck:Uninitialized - fun:unpack_RGB*888 - fun:_mesa_unpack_rgba_row - fun:slow_read_rgba_pixels - fun:read_rgba_pixels - fun:_mesa_readpixels - ... - fun:shared_dispatch_stub_* - ... - fun:*gpu*gles*GLES2DecoderImpl*DoCommand* - fun:*gpu*CommandParser*ProcessCommand* - fun:*gpu*CommandExecutor*PutChanged* -} -{ - bug_348863 - Memcheck:Unaddressable - fun:_ZNK7blink32PlatformSpeechSynthesisUtterance6clientEv - fun:_ZN5blink15SpeechSynthesis17didFinishSpeakingEN3WTF10PassRefPtrINS_32PlatformSpeechSynthesisUtteranceEEE - fun:_ZN5blink29PlatformSpeechSynthesizerMock16speakingFinishedEPNS_5TimerIS0_EE - fun:_ZN5blink5TimerINS_29PlatformSpeechSynthesizerMockEE5firedEv - fun:_ZN5blink12ThreadTimers24sharedTimerFiredInternalEv - fun:_ZN5blink12ThreadTimers16sharedTimerFiredEv - fun:_ZN7content17BlinkPlatformImpl9DoTimeoutEv -} -{ - bug_361594 - Memcheck:Uninitialized - ... - fun:*SkA8_Shader_Blitter*blitH* - ... - fun:*content*ScreenshotData*EncodeOnWorker* -} -{ - bug_364274 - Memcheck:Uninitialized - fun:_ZN5blink21RenderLayerCompositor14updateIfNeededEv -} -{ - bug_364724 - Memcheck:Param - write(buf) - obj:/lib/x86_64-linux-gnu/libpthread-2.15.so - fun:_ZN3IPC12ChannelPosix23ProcessOutgoingMessagesEv - fun:_ZN3IPC12ChannelPosix29OnFileCanWriteWithoutBlockingEi - ... - fun:_ZN4base19MessagePumpLibevent21FileDescriptorWatcher29OnFileCanWriteWithoutBlockingEiPS0_ - ... - fun:event_process_active - fun:event_base_loop -} -{ - bug_364724b - Memcheck:Uninitialized - fun:_ZN4base17MD5DigestToBase16ERKNS_9MD5DigestE - fun:_ZN7content15BlinkTestRunner17CaptureDumpPixelsERK8SkBitmap -} -{ - bug_364724c - Memcheck:Param - write(buf) - obj:/lib/x86_64-linux-gnu/libpthread-2.15.so - fun:_ZN3IPC12ChannelPosix23ProcessOutgoingMessagesEv - fun:_ZN3IPC12ChannelPosix4SendEPNS_7MessageE - fun:_ZN3IPC12ChannelProxy7Context13OnSendMessageE10scoped_ptrINS_7MessageEN4base14DefaultDeleterIS3_EEE -} -{ - bug_365258 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10fastMallocEm - fun:_ZN5blink8ResourcenwEm - fun:_ZN5blinkL14createResourceENS_8Resource4TypeERKNS_15ResourceRequestERKN3WTF6StringE - fun:_ZN5blink15ResourceFetcher18revalidateResourceERKNS_12FetchRequestEPNS_8ResourceE - fun:_ZN5blink15ResourceFetcher15requestResourceENS_8Resource4TypeERNS_12FetchRequestE - fun:_ZN5blink15ResourceFetcher11fetchScriptERNS_12FetchRequestE - fun:_ZN5blink12ScriptLoader11fetchScriptERKN3WTF6StringE - fun:_ZN5blink12ScriptLoader13prepareScriptERKN3WTF12TextPositionENS0_17LegacyTypeSupportE - fun:_ZN5blink16HTMLScriptRunner9runScriptEPNS_7ElementERKN3WTF12TextPositionE - fun:_ZN5blink16HTMLScriptRunner7executeEN3WTF10PassRefPtrINS_7ElementEEERKNS1_12TextPositionE - fun:_ZN5blink18HTMLDocumentParser30runScriptsForPausedTreeBuilderEv - fun:_ZN5blink18HTMLDocumentParser38processParsedChunkFromBackgroundParserEN3WTF10PassOwnPtrINS0_11ParsedChunkEEE - fun:_ZN5blink18HTMLDocumentParser23pumpPendingSpeculationsEv - fun:_ZN5blink18HTMLDocumentParser41didReceiveParsedChunkFromBackgroundParserEN3WTF10PassOwnPtrINS0_11ParsedChunkEEE - fun:_ZN3WTF15FunctionWrapperIMN7blink18HTMLDocumentParserEFvNS_10PassOwnPtrINS2_11ParsedChunkEEEEEclERKNS_7WeakPtrIS2_EES5_ - fun:_ZN3WTF17BoundFunctionImplINS_15FunctionWrapperIMN7blink18HTMLDocumentParserEFvNS_10PassOwnPtrINS3_11ParsedChunkEEEEEEFvNS_7WeakPtrIS3_EES6_EEclEv - fun:_ZNK3WTF8FunctionIFvvEEclEv - fun:_ZN3WTFL18callFunctionObjectEPv -} -{ - bug_367809_d - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN7content21RenderProcessHostImpl4InitEv - ... - fun:_ZN7content5Shell7LoadURLERK4GURL - fun:_ZN7content19BlinkTestController20PrepareForLayoutTestERK4GURLRKN4base8FilePathEbRKSs - fun:_ZN12_GLOBAL__N_110RunOneTestERKSsPbRK10scoped_ptrIN7content17BrowserMainRunnerEN4base14DefaultDeleterIS5_EEE -} -{ - bug_369843 - Memcheck:Leak - fun:_Znw* - fun:_ZN7content27ServiceWorkerContextWrapper12InitInternalE* -} -{ - bug_371844 - Memcheck:Uninitialized - fun:bcmp - fun:_ZNK7content15GamepadProvider8PadState5MatchERKN5blink10WebGamepadE - fun:_ZN7content15GamepadProvider6DoPollEv -} -{ - bug_371860 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN8feedback16FeedbackDataTestC1Ev - fun:_ZN8feedback*FeedbackDataTest* - fun:_ZN7testing8internal15TestFactoryImplIN8feedback* -} -{ - bug_379943 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN7content20StoragePartitionImpl6CreateEPNS_14BrowserContextEbRKN4base8FilePathE - fun:_ZN7content23StoragePartitionImplMap3GetERKSsS2_b - fun:_ZN7content12_GLOBAL__N_129GetStoragePartitionFromConfigEPNS_14BrowserContext* - fun:_ZN7content14BrowserContext19GetStoragePartitionEPS0_PNS_12SiteInstanceE - fun:_ZN7content14BrowserContext26GetDefaultStoragePartitionEPS0_ - ... - fun:_ZN7content21ShellBrowserMainParts21PreMainMessageLoopRunEv - fun:_ZN7content15BrowserMainLoop21PreMainMessageLoopRunEv -} -{ - bug_380575 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN3net20URLRequestJobFactory15ProtocolHandlerEEEE8allocateEmPKv - ... - fun:_ZNSt3mapISsPN3net20URLRequestJobFactory15ProtocolHandlerESt4lessISsESaISt4pairIKSsS3_EEEixERS7_ - fun:_ZN3net24URLRequestJobFactoryImpl18SetProtocolHandlerERKSsPNS_20URLRequestJobFactory15ProtocolHandlerE - ... - fun:_ZN7content28ShellURLRequestContextGetter20GetURLRequestContextEv -} -{ - bug_385381 - Memcheck:Unaddressable - fun:_ZN5blink23FrameLoaderStateMachine9advanceToENS0_5StateE - fun:_ZN5blink11FrameLoader4initEv - fun:_ZN5blink10LocalFrame4initEv - fun:_ZN5blink17WebLocalFrameImpl22initializeAsChildFrameEPN7blink9FrameHostEPNS1_10FrameOwnerERKN3WTF12AtomicStringES9_ - fun:_ZN5blink17WebLocalFrameImpl16createChildFrameERKN7blink16FrameLoadRequestEPNS1_21HTMLFrameOwnerElementE -} -{ - bug_385396e - Memcheck:Uninitialized - fun:_ZN5blink15roundedIntPointERKNS_11LayoutPointE - fun:_ZNK5blink15HitTestLocation12roundedPointEv - fun:_ZN5blink10RenderView7hitTestERKNS_14HitTestRequestERKNS_15HitTestLocationERNS_13HitTestResultE - fun:_ZN5blink10RenderView7hitTestERKNS_14HitTestRequestERNS_13HitTestResultE - fun:_ZN5blink12EventHandler20hitTestResultAtPointERKNS_11LayoutPointEjRKNS_10LayoutSizeE - fun:_ZN5blink12EventHandler18targetGestureEventERKNS_20PlatformGestureEventEb -} -{ - bug_387435 - Memcheck:Leak - fun:_Znw* - fun:_ZN7content16WebURLLoaderImplC1Ev - fun:_ZN7content17BlinkPlatformImpl15createURLLoaderEv - fun:_ZN5blink10PingLoaderC1EPNS_10LocalFrameERNS_15ResourceRequestERKNS_18FetchInitiatorInfoENS_17StoredCredentialsE - fun:_ZN5blink10PingLoader5startEPNS_10LocalFrameERNS_15ResourceRequestERKNS_18FetchInitiatorInfoENS_17StoredCredentialsE - fun:_ZN5blink10PingLoader9loadImageEPNS_10LocalFrameERKNS_4KURLE - fun:_ZN5blink15ResourceFetcher10fetchImageERNS_12FetchRequestE - fun:_ZN5blink11ImageLoader19doUpdateFromElementEb - fun:_ZN5blink11ImageLoader4Task3runEv -} -{ - bug_388668 - Memcheck:Leak - fun:_Znw* - fun:_ZN20data_reduction_proxy69DataReductionProxyBypassStatsTest_isDataReductionProxyUnreachable_Test8TestBodyEv -} -{ - bug_392912 - Memcheck:Uninitialized - fun:_ZNK8SkStroke10strokePathERK6SkPathPS0_ - fun:_ZNK11SkStrokeRec11applyToPathEP6SkPathRKS0_ - fun:_ZNK7SkPaint11getFillPathERK6SkPathPS0_PK6SkRectf -} -{ - bug_394558 - Memcheck:Leak - fun:_Znw* - fun:_ZN32ProfileSyncComponentsFactoryMockC1Ev -} -{ - bug_394624 - Memcheck:Leak - ... - fun:_ZN3net24URLRequestJobFactoryImpl18SetProtocolHandlerERKSsPNS_20URLRequestJobFactory15ProtocolHandlerE - ... - fun:_ZN7content28ShellURLRequestContextGetter20GetURLRequestContextEv - fun:_ZN7content21ChromeAppCacheService20InitializeOnIOThreadERKN4base8FilePathEPNS_15ResourceContextEPN3net23URLRequestContextGetterE13scoped_refptrIN5quota20SpecialStoragePolicyEE -} -{ - bug_396658 - Memcheck:Uninitialized - ... - fun:wk_png_write_find_filter - fun:wk_png_write_row -} -{ - bug_397066_a - Memcheck:Uninitialized - ... - fun:_ZN5blink13InlineFlowBox9addToLineEPNS_9InlineBoxE - ... - fun:_ZN5blink15RenderBlockFlow13constructLineERNS_11BidiRunListINS_7BidiRunEEERKNS_8LineInfoE - fun:_ZN5blink15RenderBlockFlow27createLineBoxesFromBidiRunsEjRNS_11BidiRunListINS_7BidiRunEEERKNS_14InlineIteratorERNS_8LineInfoERNS_21VerticalPositionCacheEPS2_RN3WTF6VectorINS_15WordMeasurementELm64ENSD_16DefaultAllocatorEEE - fun:_ZN5blink15RenderBlockFlow26layoutRunsAndFloatsInRangeERNS_15LineLayoutStateERNS_12BidiResolverINS_14InlineIteratorENS_7BidiRunEEERKS4_RKNS_10BidiStatusE - fun:_ZN5blink15RenderBlockFlow19layoutRunsAndFloatsERNS_15LineLayoutStateE - fun:_ZN5blink15RenderBlockFlow20layoutInlineChildrenEbRNS_10LayoutUnitES2_S1_ - ... - fun:_ZN5blink15RenderBlockFlow11layoutBlockEb -} -{ - bug_397066_b - Memcheck:Uninitialized - ... - fun:_ZN5blink13InlineFlowBox24computeLogicalBoxHeightsEPNS_13RootInlineBoxERNS_10LayoutUnitES4_RiS5_RbS6_bRN3WTF7HashMapIPKNS_13InlineTextBoxESt4pairINS7_6VectorIPKNS_14SimpleFontDataELm0ENS7_16DefaultAllocatorEEENS_13GlyphOverflowEENS7_7PtrHashISB_EENS7_10HashTraitsISB_EENSN_ISK_EESH_EENS_12FontBaselineERNS_21VerticalPositionCacheE - fun:_ZN5blink13RootInlineBox26alignBoxesInBlockDirectionENS_10LayoutUnitERN3WTF7HashMapIPKNS_13InlineTextBoxESt4pairINS2_6VectorIPKNS_14SimpleFontDataELm0ENS2_16DefaultAllocatorEEENS_13GlyphOverflowEENS2_7PtrHashIS6_EENS2_10HashTraitsIS6_EENSI_ISF_EESC_EERNS_21VerticalPositionCacheE - ... - fun:_ZN5blink15RenderBlockFlow19layoutRunsAndFloatsERNS_15LineLayoutStateE - fun:_ZN5blink15RenderBlockFlow20layoutInlineChildrenEbRNS_10LayoutUnitES2_S1_ - fun:_ZN5blink15RenderBlockFlow15layoutBlockFlowEbRNS_10LayoutUnitERNS_18SubtreeLayoutScopeE - fun:_ZN5blink15RenderBlockFlow11layoutBlockEb -} -{ - bug_397066_c - Memcheck:Uninitialized - ... - fun:_ZN5blink13InlineFlowBox26placeBoxesInBlockDirectionENS_10LayoutUnitES1_ibRS1_S2_S2_RbS2_S2_S3_S3_NS_12FontBaselineE - fun:_ZN5blink13RootInlineBox26alignBoxesInBlockDirectionENS_10LayoutUnitERN3WTF7HashMapIPKNS_13InlineTextBoxESt4pairINS2_6VectorIPKNS_14SimpleFontDataELm0ENS2_16DefaultAllocatorEEENS_13GlyphOverflowEENS2_7PtrHashIS6_EENS2_10HashTraitsIS6_EENSI_ISF_EESC_EERNS_21VerticalPositionCacheE - ... - fun:_ZN5blink15RenderBlockFlow19layoutRunsAndFloatsERNS_15LineLayoutStateE - fun:_ZN5blink15RenderBlockFlow20layoutInlineChildrenEbRNS_10LayoutUnitES2_S1_ - fun:_ZN5blink15RenderBlockFlow15layoutBlockFlowEbRNS_10LayoutUnitERNS_18SubtreeLayoutScopeE - fun:_ZN5blink15RenderBlockFlow11layoutBlockEb -} -{ - bug_397066_d - Memcheck:Uninitialized - fun:_ZN5blink13InlineFlowBox45clearDescendantsHaveSameLineHeightAndBaselineEv - fun:_ZN5blink13InlineFlowBox9addToLineEPNS_9InlineBoxE - ... - fun:_ZN5blink15RenderBlockFlow13constructLineERNS_11BidiRunListINS_7BidiRunEEERKNS_8LineInfoE - fun:_ZN5blink15RenderBlockFlow27createLineBoxesFromBidiRuns* -} -{ - bug_397066_e - Memcheck:Uninitialized - fun:_ZN5blink13InlineFlowBox9addToLineEPNS_9InlineBox* - fun:_ZN5blink15RenderBlockFlow* - ... - fun:_ZN5blink15RenderBlockFlow27createLineBoxesFromBidiRunsEjRNS* - fun:_ZN5blink15RenderBlockFlow26layoutRunsAndFloatsInRangeERNS_15LineLayoutStateERNS_12BidiResolver* - fun:_ZN5blink15RenderBlockFlow19layoutRunsAndFloatsERNS_15LineLayoutState* -} -{ - bug_397066_f - Memcheck:Uninitialized - fun:_ZNK5blink13InlineFlowBox35constrainToLineTopAndBottomIfNeededERNS_10LayoutRectE - fun:_ZN5blink13InlineFlowBox28paintBoxDecorationBackgroundERNS_9PaintInfoERKNS_11LayoutPointE - fun:_ZN5blink13InlineFlowBox5paintERNS_9PaintInfoERKNS_11LayoutPointENS_10LayoutUnitES6_ - fun:_ZN5blink13InlineFlowBox5paintERNS_9PaintInfoERKNS_11LayoutPointENS_10LayoutUnitES6_ - fun:_ZN5blink13RootInlineBox5paintERNS_9PaintInfoERKNS_11LayoutPointENS_10LayoutUnitES6_ - fun:_ZNK5blink17RenderLineBoxList5paintEPNS_20RenderBoxModelObjectERNS_9PaintInfoERKNS_11LayoutPointE -} -{ - bug_397075_a - Memcheck:Uninitialized - fun:_ZN2v88internal6Object11SetPropertyEPNS0_14LookupIteratorENS0_6HandleIS1_EENS0_10StrictModeENS1_14StoreFromKeyedE - fun:_ZN2v88internal6Object11SetPropertyENS0_6HandleIS1_EENS2_INS0_4NameEEES3_NS0_10StrictModeENS1_14StoreFromKeyedE - fun:_ZN2v88internal7Runtime17SetObjectPropertyEPNS0_7IsolateENS0_6HandleINS0_6ObjectEEES6_S6_NS0_10StrictModeE - fun:_ZN2v86Object3SetENS_6HandleINS_5ValueEEES3_ - fun:_ZN18WebCoreTestSupport21injectInternalsObjectEN2v85LocalINS0_7ContextEEE - fun:_ZN5blink17WebTestingSupport21injectInternalsObjectEPNS_13WebLocalFrameE - fun:_ZN7content15BlinkTestRunner20DidClearWindowObjectEPN5blink13WebLocalFrameE - fun:_ZN7content14RenderViewImpl20didClearWindowObjectEPN5blink13WebLocalFrameE - fun:_ZN7content15RenderFrameImpl20didClearWindowObjectEPN5blink13WebLocalFrameE - fun:_ZThn16_N7content15RenderFrameImpl20didClearWindowObjectEPN5blink13WebLocalFrameE - fun:_ZN5blink21LocalFrameClientImpl39dispatchDidClearWindowObjectInMainWorldEv - fun:_ZN5blink11FrameLoader39dispatchDidClearWindowObjectInMainWorldEv - fun:_ZN5blink16ScriptController11windowShellERNS_15DOMWrapperWorldE - fun:_ZN5blink11toV8ContextEPNS_10LocalFrameERNS_15DOMWrapperWorldE - fun:_ZNK5blink17WebLocalFrameImpl22mainWorldScriptContextEv - fun:_ZN5blink17WebTestingSupport20resetInternalsObjectEPNS_13WebLocalFrameE - fun:_ZN7content15BlinkTestRunner5ResetEv - fun:_ZN7content26ShellContentRendererClient17RenderViewCreatedEPNS_10RenderViewE - fun:_ZN7content14RenderViewImpl10InitializeEPNS_20RenderViewImplParamsE - fun:_ZN7content14RenderViewImpl6CreateEibRKNS_19RendererPreferencesERKNS_14WebPreferencesEiiilRKSbItN4base20string16_char_traitsESaItEEbbibbiRKN5blink13WebScreenInfoE17AccessibilityMode - fun:_ZN7content16RenderThreadImpl15OnCreateNewViewERK18ViewMsg_New_Params -} -{ - bug_397075_b - Memcheck:Uninitialized - fun:_ZN2v88internal6Object11SetPropertyEPNS0_14LookupIteratorENS0_6HandleIS1_EENS0_10StrictModeENS1_14StoreFromKeyedE - fun:_ZN2v88internal6Object11SetPropertyENS0_6HandleIS1_EENS2_INS0_4NameEEES3_NS0_10StrictModeENS1_14StoreFromKeyedE - ... - fun:_ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_ - fun:_ZN2v88internal9Execution4CallEPNS0_7IsolateENS0_6HandleINS0_6ObjectEEES6_iPS6_b -} -{ - bug_398349_a - Memcheck:Uninitialized - fun:_ZN2v88internal19JSObjectWalkVisitorINS0_29AllocationSiteCreationContextEE13StructureWalkENS0_6HandleINS0_8JSObjectEEE - fun:_ZN2v88internal8JSObject8DeepWalkENS0_6HandleIS1_EEPNS0_29AllocationSiteCreationContextE - fun:_ZN2v88internal27Runtime_CreateObjectLiteralEiPPNS0_6ObjectEPNS0_7IsolateE -} -{ - bug_398349_b - Memcheck:Uninitialized - fun:_ZN2v88internal19JSObjectWalkVisitorINS0_26AllocationSiteUsageContextEE13StructureWalkENS0_6HandleINS0_8JSObjectEEE - fun:_ZN2v88internal8JSObject8DeepCopyENS0_6HandleIS1_EEPNS0_26AllocationSiteUsageContextENS1_13DeepCopyHintsE - fun:_ZN2v88internal27Runtime_CreateObjectLiteralEiPPNS0_6ObjectEPNS0_7IsolateE -} -{ - bug_417119 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN7storage27TaskRunnerBoundObserverListINS_18FileUpdateObserverEPS1_EaSERKS3_ - fun:_ZN7storage26FileSystemOperationContext20set_update_observersERKNS_27TaskRunnerBoundObserverListINS_18FileUpdateObserverEPS2_EE - fun:_ZNK7storage32SandboxFileSystemBackendDelegate32CreateFileSystemOperationContextERKNS_13FileSystemURLEPNS_17FileSystemContextEPN4base4File5ErrorE - fun:_ZNK7storage24SandboxFileSystemBackend25CreateFileSystemOperationERKNS_13FileSystemURLEPNS_17FileSystemContextEPN4base4File5ErrorE - fun:_ZN7storage17FileSystemContext25CreateFileSystemOperationERKNS_13FileSystemURLEPN4base4File5ErrorE -} -{ - bug_417526 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN16sync_file_system13drive_backend14SyncEngineTest5SetUpEv -} -{ - bug_431209a - Memcheck:Leak - fun:_Znw* - fun:_ZN8remoting13ClipboardAuraC1E13scoped_refptrIN4base22SingleThreadTaskRunnerEE - fun:_ZN8remoting17ClipboardAuraTest5SetUpEv -} -{ - bug_431209b - Memcheck:Leak - fun:_Znw* - fun:_ZN2ui9Clipboard6CreateEv - fun:_ZN2ui9Clipboard19GetForCurrentThreadEv - fun:_ZN2ui21ScopedClipboardWriterD1Ev - fun:_ZN8remoting13ClipboardAura4Core20InjectClipboardEventERKNS_8protocol14ClipboardEventE -} -{ - bug_431213_a - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*LocalINS6_16FunctionTemplateEEEPNS6_7IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsIMN*CreateTemplateEPN2v87IsolateES6_ - fun:_ZN3gin21ObjectTemplateBuilder9SetMethodIMN*0_RKN4base16BasicStringPieceISsEERKT_ - fun:_ZN*24GetObjectTemplateBuilderEPN2v87IsolateE -} -{ - bug_431213_b - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsIF* - fun:_ZN3gin21ObjectTemplateBuilder9SetMethod*RKN4base16BasicStringPieceISsEERKT_ - fun:_ZN4mojo2js*GetModuleEPN2v87IsolateE -} -{ - bug_431213_c - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsI* - fun:_ZN3gin21ObjectTemplateBuilder9SetMethod*RKN4base16BasicStringPieceISsEERKT_ - fun:_ZN10extensions19TestServiceProvider24GetObjectTemplateBuilderEPN2v87IsolateE -} -{ - bug_431213_d - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsI* - fun:_ZN3gin21ObjectTemplateBuilder9SetMethod*RKN4base16BasicStringPieceISsEERKT_ - fun:_ZN10extensions12_GLOBAL__N_111TestNatives24GetObjectTemplateBuilderEPN2v87IsolateE -} -{ - bug_431213_e - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsIF* - fun:_ZN3gin21ObjectTemplateBuilder9SetMethodIF* - fun:_ZN4mojo3edk2js4Core9GetModuleEPN2v87IsolateE - fun:_ZN10extensions18ApiTestEnvironment15RegisterModulesEv - fun:_ZN10extensions18ApiTestEnvironmentC1EPNS_27ModuleSystemTestEnvironmentE - fun:_ZN10extensions11ApiTestBase5SetUpEv -} -{ - bug_431213_f - Memcheck:Leak - fun:_Znw* - fun:_ZN3gin22CreateFunctionTemplateIF*IsolateEN4base8CallbackIT* - fun:_ZN3gin12_GLOBAL__N_114CallbackTraitsIF* - fun:_ZN3gin21ObjectTemplateBuilder9SetMethodIF* - fun:_ZN4mojo3edk2js7Support9GetModuleEPN2v87IsolateE - fun:_ZN10extensions18ApiTestEnvironment15RegisterModulesEv - fun:_ZN10extensions18ApiTestEnvironmentC1EPNS_27ModuleSystemTestEnvironmentE - fun:_ZN10extensions11ApiTestBase5SetUpEv -} -{ - bug_436172 - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC11SyncChannelC1EPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPNS4_13WaitableEventE - ... - fun:_ZN7content28BrowserGpuChannelHostFactory16EstablishRequest12FinishOnMainEv -} -{ - bug_436172_b - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC7Channel6CreateERKNS_13ChannelHandleENS0_4ModeEPNS_8ListenerE* - fun:_ZN3IPC12_GLOBAL__N_122PlatformChannelFactory12BuildChannelEPNS_8ListenerE - fun:_ZN3IPC12ChannelProxy7Context13CreateChannelE10scoped_ptrINS_14ChannelFactoryEN4base14DefaultDeleterIS3_EEE - ... - fun:_ZN7content28BrowserGpuChannelHostFactory16EstablishRequest12FinishOnMainEv -} -{ - bug_436172_c - Memcheck:Leak - fun:_Znw* - fun:_ZN3IPC12ChannelProxy7ContextC1EPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEE - fun:_ZN3IPC11SyncChannel11SyncContextC1EPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPNS5_13WaitableEventE - fun:_ZN3IPC11SyncChannelC1EPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPNS4_13WaitableEventE - fun:_ZN3IPC11SyncChannel6CreateEPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPNS4_13WaitableEventE - ... - fun:_ZN7content28BrowserGpuChannelHostFactory16EstablishRequest12FinishOnMainEv -} -{ - bug_436172_d - Memcheck:Leak - fun:_Znw* - fun:_ZN7content14GpuChannelHost7ConnectERKN3IPC13ChannelHandleEPN4base13WaitableEventE - fun:_ZN7content14GpuChannelHost6CreateEPNS_21GpuChannelHostFactoryERKN3gpu7GPUInfoERKN3IPC13ChannelHandleEPN4base13WaitableEventEPNS3_22GpuMemoryBufferManagerE - fun:_ZN7content28BrowserGpuChannelHostFactory21GpuChannelEstablishedEv - fun:_ZN7content28BrowserGpuChannelHostFactory16EstablishRequest12FinishOnMainEv -} -{ - Expected_leak_due_to_gpu_thread_leaked_by_lazy_instance - Memcheck:Leak - fun:calloc - fun:pthread_setspecific - ... - fun:_ZN3gpu22InProcessCommandBuffer21InitializeOnGpuThreadERKNS0_27InitializeOnGpuThreadParamsE -} -{ - bug_441333 - Memcheck:Uninitialized - fun:av_packet_unpack_dictionary - fun:add_metadata_from_side_data -} -{ - bug_448700_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN10extensions11ApiTestBase15RegisterModulesEv - fun:_ZN10extensions11ApiTestBase5SetUpEv -} -{ - bug_449156_a - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_ - fun:_ZN7storage21SandboxOriginDatabase4InitENS0_10InitOptionENS0_14RecoveryOptionE - fun:_ZN7storage21SandboxOriginDatabase16GetPathForOriginERKSsPN4base8FilePathE - fun:_ZN7storage32SandboxPrioritizedOriginDatabase16GetPathForOriginERKSsPN4base8FilePathE - fun:_ZN7storage18ObfuscatedFileUtil21GetDirectoryForOriginERK4GURLbPN4base4File5ErrorE - fun:_ZN7storage18ObfuscatedFileUtil28GetDirectoryForOriginAndTypeERK4GURLRKSsbPN4base4File5ErrorE - fun:_ZN7storage12_GLOBAL__N_130OpenFileSystemOnFileTaskRunnerEPNS_18ObfuscatedFileUtilERK4GURLNS_14FileSystemTypeENS_18OpenFileSystemModeEPN4base4File5ErrorE -} -{ - bug_449156_b - Memcheck:Leak - fun:_Znw* - fun:_ZN7storage18ObfuscatedFileUtil8MarkUsedEv - fun:_ZN7storage18ObfuscatedFileUtil20GetDirectoryDatabaseERKNS_13FileSystemURLEb -} -{ - bug_449175_b - Memcheck:Leak - fun:calloc - fun:pthread_setspecific - fun:_ZN4base8internal19ThreadLocalPlatform14SetValueInSlotEjPv - fun:_ZN4base18ThreadLocalPointerIN4mojo6common15MessagePumpMojoEE3SetEPS3_ - fun:_ZN4mojo6common15MessagePumpMojoC1Ev - fun:_ZN4mojo6common15MessagePumpMojo6CreateEv -} -{ - bug_476940 - Memcheck:Leak - fun:malloc - fun:_ZN3WTF9BitVector13OutOfLineBits6createEm - fun:_ZN3WTF9BitVector15resizeOutOfLineEm - fun:_ZN3WTF9BitVector10ensureSizeEm - fun:_ZN3WTF9BitVectorC2Em - fun:_ZN5blink10UseCounter9CountBitsC2Ev - fun:_ZN5blink10UseCounterC1Ev - fun:_ZN5blink4PageC1ERNS0_11PageClientsE -} -{ - bug_484456 - Memcheck:Leak - fun:_Znw* - fun:_ZN7content26GpuProcessTransportFactory23CreatePerCompositorDataEPN2ui10CompositorE - fun:_ZN7content26GpuProcessTransportFactory19CreateCompositorFrameSinkEN4base7WeakPtrIN2ui10CompositorEEE - fun:_ZN2ui10Compositor23RequestNewCompositorFrameSinkEv - fun:_ZN2cc13LayerTreeHost23RequestNewCompositorFrameSinkEv - fun:_ZN2cc17SingleThreadProxy23RequestNewCompositorFrameSinkEv -} -{ - bug_484459 - Memcheck:Leak - fun:_Znw* - fun:_ZN7content17ResourceScheduler15OnClientCreatedEiibb - fun:_ZN7content26ResourceDispatcherHostImpl23OnRenderViewHostCreatedEiibb -} -{ - bug_514434 - Memcheck:Leak - fun:malloc - fun:__netlink_request - fun:getifaddrs_internal - fun:getifaddrs - fun:_ZN3net25HaveOnlyLoopbackAddressesEv - fun:_ZN3net16HostResolverImpl16LoopbackProbeJob7DoProbeEv -} -{ - bug_514443 - Memcheck:Leak - fun:_Znw* - fun:_ZNSs4_Rep9_S_createEmmRKSaIcE - fun:_ZNSs9_M_mutateEmmm - fun:_ZNSs15_M_replace_safeEmmPKcm - fun:_ZN4base8internal13CopyToStringTISsEEvRKNS_16BasicStringPieceIT_EEPS3_ - fun:_ZN4base8internal12CopyToStringERKNS_16BasicStringPieceISsEEPSs - fun:_ZNK4base16BasicStringPieceISsE12CopyToStringEPSs - fun:_ZN4base8FilePathC1ENS_16BasicStringPieceISsEE -} -{ - bug_514868 - Memcheck:Leak - fun:_Znw* - fun:_ZN4base12_GLOBAL__N_112CreateThreadEmbPNS_14PlatformThread8DelegateEPNS_20PlatformThreadHandleENS_14ThreadPriorityE - fun:_ZN4base14PlatformThread18CreateWithPriorityEmPNS0_8DelegateEPNS_20PlatformThreadHandleENS_14ThreadPriorityE - fun:_ZN4base6Thread16StartWithOptionsERKNS0_7OptionsE - fun:_ZN7content17BrowserThreadImpl16StartWithOptionsERKN4base6Thread7OptionsE - fun:_ZN7content17TestBrowserThread13StartIOThreadEv - fun:_ZN22BrowserProcessImplTest21StartSecondaryThreadsEv - fun:_ZN37BrowserProcessImplTest_LifeCycle_Test8TestBodyEv -} -{ - bug_515263 - Memcheck:Uninitialized - fun:_ZNK5blink6MemberINS_15ResourceFetcherEE3getEv - fun:_ZN5blink13VisitorHelperINS_27InlinedGlobalMarkingVisitorEE5traceINS_15ResourceFetcherEEEvRKNS_6MemberIT_EE - fun:_ZN5blink14ResourceLoader9traceImplINS_27InlinedGlobalMarkingVisitorEEEvT_ - fun:_ZN5blink14ResourceLoader5traceENS_27InlinedGlobalMarkingVisitorE - fun:_ZN5blink10TraceTraitINS_14ResourceLoaderEE5traceEPNS_7VisitorEPv - fun:_ZN5blink13CallbackStack4Item4callEPNS_7VisitorE -} -{ - bug_515266 - Memcheck:Uninitialized - fun:_ZN3WTF16VectorBufferBaseIN5blink6MemberINS1_11MessagePortEEELb1ENS1_13HeapAllocatorEE6bufferEv - fun:_ZN3WTF6VectorIN5blink6MemberINS1_11MessagePortEEELm1ENS1_13HeapAllocatorEE5traceINS1_27InlinedGlobalMarkingVisitorEEEvT_ - fun:_ZN5blink10TraceTraitIN3WTF6VectorINS_6MemberINS_11MessagePortEEELm1ENS_13HeapAllocatorEEEE5traceEPNS_7VisitorEPv - fun:_ZN5blink13CallbackStack4Item4callEPNS_7VisitorE - fun:_ZN5blink4Heap25popAndInvokeTraceCallbackEPNS_7VisitorE - fun:_ZN5blink4Heap19processMarkingStackEPNS_7VisitorE -} -{ - bug_515330 - Memcheck:Leak - fun:malloc - ... - fun:_ZN3net13CTLogVerifier4InitERKN4base16BasicStringPieceISsEE - fun:_ZN3net13CTLogVerifier6CreateERKN4base16BasicStringPieceISsEES5_S5_ - fun:_ZN3net2ct30CreateLogVerifiersForKnownLogsEv -} -{ - bug_522049 - Memcheck:Unaddressable - ... - fun:_ZNKSt8_Rb_treeISsSt4pairIKSsN2ui13TextInputModeEESt10_Select1stIS4_ESt4lessISsESaIS4_EE4findERS1_ - fun:_ZNKSt3mapISsN2ui13TextInputModeESt4lessISsESaISt4pairIKSsS1_EEE4findERS5_ - fun:_ZN12_GLOBAL__N_116ConvertInputModeERKN5blink9WebStringE - fun:_ZN7content12RenderWidget20UpdateTextInputStateENS0_7ShowImeENS0_12ChangeSourceE - fun:_ZN7content12RenderWidget24WillBeginCompositorFrameEv - fun:_ZN7content22RenderWidgetCompositor18WillBeginMainFrameEv - fun:_ZThn8_N7content22RenderWidgetCompositor18WillBeginMainFrameEv - fun:_ZN2cc13LayerTreeHost18WillBeginMainFrameEv - fun:_ZN2cc17SingleThreadProxy16DoBeginMainFrameERKNS_14BeginFrameArgsE - fun:_ZN2cc17SingleThreadProxy20CompositeImmediatelyEN4base9TimeTicksE - fun:_ZN2cc13LayerTreeHost9CompositeEN4base9TimeTicksE - fun:_ZN7content12_GLOBAL__N_135RenderWidgetCompositorCompositorFrameSink20SynchronousCompositeEv -} -{ - bug_525328 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN3net20URLRequestJobFactory15ProtocolHandlerEEEE8allocateEmPKv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN3net20URLRequestJobFactory15ProtocolHandlerEESt10_Select1stIS6_ESt4lessISsESaIS6_EE11_M_get_nodeEv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN3net20URLRequestJobFactory15ProtocolHandlerEESt10_Select1stIS6_ESt4lessISsESaIS6_EE14_M_create_nodeIJS6_EEEPSt13_Rb_tree_nodeIS6_EDpOT_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPN3net20URLRequestJobFactory15ProtocolHandlerEESt10_Select1stIS6_ESt4lessISsESaIS6_EE10_M_insert_IS6_EESt17_Rb_tree_iteratorIS6_EPKSt18_Rb_tree_node_baseSI_OT_ -} -{ - bug_536907_a - Memcheck:Leak - fun:_Znw* - fun:_ZN7content26PushMessagingMessageFilterC1EiPNS_27ServiceWorkerContextWrapperE - fun:_ZN7content21RenderProcessHostImpl20CreateMessageFiltersEv - fun:_ZN7content21RenderProcessHostImpl4InitEv - fun:_ZN7content22RenderFrameHostManager14InitRenderViewEPNS_18RenderViewHostImplEi - fun:_ZN7content22RenderFrameHostManager8NavigateERK4GURLRKNS_20FrameNavigationEntryERKNS_19NavigationEntryImplE - fun:_ZN7content13NavigatorImpl15NavigateToEntryEPNS_13FrameTreeNodeERKNS_20FrameNavigationEntryERKNS_19NavigationEntryImplENS_20NavigationController10ReloadTypeEb - fun:_ZN7content13NavigatorImpl22NavigateToPendingEntryEPNS_13FrameTreeNodeERKNS_20FrameNavigationEntryENS_20NavigationController10ReloadTypeEb - fun:_ZN7content24NavigationControllerImpl30NavigateToPendingEntryInternalENS_20NavigationController10ReloadTypeE - fun:_ZN7content24NavigationControllerImpl22NavigateToPendingEntryENS_20NavigationController10ReloadTypeE - fun:_ZN7content24NavigationControllerImpl9LoadEntryE10scoped_ptrINS_19NavigationEntryImplEN4base14DefaultDeleterIS2_EEE - fun:_ZN7content24NavigationControllerImpl17LoadURLWithParamsERKNS_20NavigationController13LoadURLParamsE - fun:_ZN7content5Shell15LoadURLForFrameERK4GURLRKSs -} -{ - bug_542543 - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN8IOThread4InitEv - fun:_ZN7content17BrowserThreadImpl4InitEv - fun:_ZN7content21TestBrowserThreadImpl4InitEv - fun:_ZN4base6Thread10ThreadMainEv - fun:_ZN4base12_GLOBAL__N_110ThreadFuncEPv -} -{ - bug_545259a - Memcheck:Leak - fun:_Znw* - fun:_ZN7content21RenderProcessHostImpl4InitEv - fun:_ZN7content22RenderFrameHostManager14InitRenderViewEPNS_18RenderViewHostImplEPNS_20RenderFrameProxyHostE -} -{ - bug_545259b - Memcheck:Leak - fun:_Znw* - fun:_ZN7content26PushMessagingMessageFilterC1EiPNS_27ServiceWorkerContextWrapperE - fun:_ZN7content21RenderProcessHostImpl20CreateMessageFiltersEv - fun:_ZN7content21RenderProcessHostImpl4InitEv - fun:_ZN7content22RenderFrameHostManager14InitRenderViewEPNS_18RenderViewHostImplEPNS_20RenderFrameProxyHostE -} -{ - bug_557778 - Memcheck:Uninitialized - fun:vp9_pick_inter_mode - fun:nonrd_pick_sb_modes -} -{ - bug_558179 - Memcheck:Leak - fun:_Znw* - fun:_ZN7content27ServiceWorkerContextWrapperC1EPNS_14BrowserContextE - fun:_ZN7content20StoragePartitionImpl6CreateEPNS_14BrowserContextEbRKN4base8FilePathE - fun:_ZN7content23StoragePartitionImplMap3GetERKSsS2_b - fun:_ZN7content12_GLOBAL__N_129GetStoragePartitionFromConfigEPNS_14BrowserContextERKSsS4_b - fun:_ZN7content14BrowserContext26GetStoragePartitionForSiteEPS0_RK4GURL -} -{ - bug_562703 - Memcheck:Leak - fun:_Znw* - fun:_ZN7storage12QuotaManager14LazyInitializeEv - fun:_ZN7storage12QuotaManager26GetUsageAndQuotaForWebAppsERK4GURLNS_11StorageTypeERKN4base8CallbackIFvNS_15QuotaStatusCodeEllELNS5_8internal8CopyModeE1EEE -} -{ - bug_562718a - Memcheck:Uninitialized - fun:_ZN5blink10PaintLayer24removeFilterInfoIfNeededEv - fun:_ZN5blink10PaintLayerD1Ev - fun:_ZN5blink10PaintLayerD0Ev - fun:_ZN3WTF15OwnedPtrDeleterIN5blink10PaintLayerEE9deletePtrEPS2_ - fun:_ZN3WTF6OwnPtrIN5blink10PaintLayerEE5clearEv - fun:_ZN3WTF6OwnPtrIN5blink10PaintLayerEEaSEDn -} -{ - bug_562718b - Memcheck:Uninitialized - fun:_ZN5blink10PaintLayer31setNeedsCompositingInputsUpdateEv -} -{ - bug_562718c - Memcheck:Uninitialized - fun:_ZN5blink10PaintLayer30updateDescendantDependentFlagsEv -} -{ - bug_562718d - Memcheck:Uninitialized - fun:_ZN7GrGLGpu18createCopyProgramsEv - fun:_ZN7GrGLGpuC1EP11GrGLContextP9GrContext - fun:_ZN7GrGLGpu6CreateElRK16GrContextOptionsP9GrContext - fun:_ZN5GrGpu6CreateE9GrBackendlRK16GrContextOptionsP9GrContext - fun:_ZN9GrContext4initE9GrBackendlRK16GrContextOptions -} -{ - bug_562718e - Memcheck:Uninitialized - fun:_ZN8GrGLCaps8initGLSLERK15GrGLContextInfo - fun:_ZN8GrGLCaps4initERK16GrContextOptionsRK15GrGLContextInfoPK13GrGLInterface - fun:_ZN8GrGLCapsC1ERK16GrContextOptionsRK15GrGLContextInfoPK13GrGLInterface - fun:_ZN15GrGLContextInfoC1ERKNS_15ConstructorArgsE - fun:_ZN11GrGLContextC2ERKN15GrGLContextInfo15ConstructorArgsE -} -{ - bug_562718f - Memcheck:Uninitialized - ... - fun:_ZN5blink17PaintLayerPainter13paintChildrenEjRNS_15GraphicsContextERKNS_22PaintLayerPaintingInfoEj - fun:_ZN5blink17PaintLayerPainter18paintLayerContentsERNS_15GraphicsContextERKNS_22PaintLayerPaintingInfoEjNS0_14FragmentPolicyE -} -{ - bug_562718g - Memcheck:Uninitialized - ... - fun:_ZN5blink20PaintLayerCompositor14updateIfNeededEv - fun:_ZN5blink20PaintLayerCompositor23updateIfNeededRecursiveEv - ... - fun:_ZN5blink9FrameView29updateLifecyclePhasesInternalENS0_21LifeCycleUpdateOptionE -} -{ - bug_562718h - Memcheck:Uninitialized - fun:_ZN5blink10PaintLayer35update3DTransformedDescendantStatusEv - fun:_ZN5blink10PaintLayer12hitTestLayerEPS0_S1_RNS_13HitTestResultERKNS_10LayoutRectERKNS_15HitTestLocationEbPKNS_24HitTestingTransformStateEPd - fun:_ZN5blink10PaintLayer7hitTestERNS_13HitTestResultE - fun:_ZN5blink10LayoutView24hitTestNoLifecycleUpdateERNS_13HitTestResultE -} -{ - bug_562718i - Memcheck:Uninitialized - ... - fun:_ZNK5blink10PaintLayer37containingLayerForOutOfFlowPositionedEPKS0_Pb - fun:_ZN5blink10PaintLayer19updateLayerPositionEv - ... - fun:_ZN5blink10PaintLayer28updateLayerPositionRecursiveEv - fun:_ZN5blink10PaintLayer31updateLayerPositionsAfterLayoutEv - fun:_ZN5blink9FrameView6layoutEv -} -{ - bug_571543 - Memcheck:Leak - ... - fun:_ZN4base11MessageLoopC1ENS0_4TypeENS_8Callback* - fun:_ZN4base11MessageLoop13CreateUnboundENS0_4TypeENS_8Callback* - fun:_ZN4base6Thread16StartWithOptionsERKNS0_7OptionsE - fun:_ZN4base6Thread5StartEv - fun:_ZN4base6Thread22StartAndWaitForTestingEv - fun:_ZN12browser_sync12_GLOBAL__N_124SyncBackendRegistrarTest5SetUpEv -} -{ - bug_576259_a - Memcheck:Uninitialized - fun:_ZN7GrGLGpu11bindTextureEiRK15GrTextureParamsbP11GrGLTexture - ... - fun:_ZN7GrGLGpu12flushGLStateERK10GrPipelineRK20GrPrimitiveProcessor - fun:_ZN7GrGLGpu6onDrawERK10GrPipelineRK20GrPrimitiveProcessorPK6GrMeshi - fun:_ZN5GrGpu4drawERK10GrPipelineRK20GrPrimitiveProcessorPK6GrMeshi - fun:_ZN13GrVertexBatch6onDrawEP17GrBatchFlushState -} -{ - bug_576259_b - Memcheck:Uninitialized - ... - fun:_ZN8GrGLCaps4initERK16GrContextOptionsRK15GrGLContextInfoPK13GrGLInterface - fun:_ZN8GrGLCapsC1ERK16GrContextOptionsRK15GrGLContextInfoPK13GrGLInterface - fun:_ZN15GrGLContextInfoC1ERKNS_15ConstructorArgsE - fun:_ZN11GrGLContextC2ERKN15GrGLContextInfo15ConstructorArgsE - ... - fun:_ZN7GrGLGpu6CreateElRK16GrContextOptionsP9GrContext - fun:_ZN5GrGpu6CreateE9GrBackendlRK16GrContextOptionsP9GrContext - fun:_ZN9GrContext4initE9GrBackendlRK16GrContextOptions - fun:_ZN9GrContext6CreateE9GrBackendlRK16GrContextOptions - fun:_ZN9GrContext6CreateE9GrBackendl - ... - fun:_ZN2cc10GLRenderer18DrawRenderPassQuadEPNS_14DirectRenderer12DrawingFrameEPKNS_18RenderPassDrawQuadEPKN3gfx5QuadFE - fun:_ZN2cc10GLRenderer10DoDrawQuadEPNS_14DirectRenderer12DrawingFrameEPKNS_8DrawQuadEPKN3gfx5QuadFE -} -{ - bug_562431_a - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10Partitions10fastMallocEmPKc - fun:_ZN5blink14PersistentBaseINS_15StyleFilterDataELNS_31WeaknessPersistentConfigurationE0ELNS_38CrossThreadnessPersistentConfigurationE0EEnwEm - fun:_ZN5blink26RefCountedGarbageCollectedINS_15StyleFilterDataEE13makeKeepAliveEv - fun:_ZN5blink26RefCountedGarbageCollectedINS_15StyleFilterDataEE3refEv - fun:_ZN5blink7DataRefINS_15StyleFilterDataEE4initEv - fun:_ZN5blink13ComputedStyle18createInitialStyleEv - fun:_ZN5blink13ComputedStyle19mutableInitialStyleEv - fun:_ZN5blink13ComputedStyle12initialStyleEv - fun:_ZN5blink13ComputedStyle6createEv - fun:_ZN5blink13StyleResolver16styleForDocumentERNS_8DocumentE - ... - fun:_ZN5blink14DocumentLoader15finishedLoadingEd - fun:_ZN5blink14DocumentLoader14maybeLoadEmptyEv - fun:_ZN5blink14DocumentLoader24startLoadingMainResourceEv - fun:_ZN5blink11FrameLoader4initEv - fun:_ZN5blink10LocalFrame4initEv -} -{ - bug_562431_b - Memcheck:Leak - fun:malloc - fun:_ZN3WTF10Partitions10fastMallocEmPKc - ... - fun:_ZN5blink15ContextFeatures13defaultSwitchEv - fun:_ZN5blink8DocumentC2ERKNS_12DocumentInitEh - fun:_ZN5blink12HTMLDocumentC1ERKNS_12DocumentInitEh - fun:_ZN5blink12HTMLDocument6createERKNS_12DocumentInitE - ... - fun:_ZN5blink14DocumentLoader15finishedLoadingEd - fun:_ZN5blink14DocumentLoader14maybeLoadEmptyEv - fun:_ZN5blink14DocumentLoader24startLoadingMainResourceEv - fun:_ZN5blink11FrameLoader4initEv - fun:_ZN5blink10LocalFrame4initEv -} -{ - bug_581092_a - Memcheck:Leak - ... - fun:_ZN5blink15ContextFeatures13defaultSwitchEv - fun:_ZN5blink8DocumentC2ERKNS_12DocumentInitEh - fun:_ZN5blink12HTMLDocumentC1ERKNS_12DocumentInitEh - fun:_ZN5blink12HTMLDocument6createERKNS_12DocumentInitE - fun:_ZN5blink17DOMImplementation14createDocumentERKN3WTF6StringERKNS_12DocumentInitEb - fun:_ZN5blink14LocalDOMWindow14createDocumentERKN3WTF6StringERKNS_12DocumentInitEb - fun:_ZN5blink14LocalDOMWindow18installNewDocumentERKN3WTF6StringERKNS_12DocumentInitEb - fun:_ZN5blink14DocumentLoader15createWriterForEPKNS_* -} -{ - bug_581092_b - Memcheck:Leak - fun:_Znw* - fun:_ZN5blink26RefCountedGarbageCollectedINS_15StyleFilterDataEE13makeKeepAliveEv - fun:_ZN5blink26RefCountedGarbageCollectedINS_15StyleFilterDataEE3refEv - ... - fun:_ZN5blink7DataRefINS_15StyleFilterDataEE4initEv - ... - fun:_ZN5blink13ComputedStyle6createEv - fun:_ZN5blink13StyleResolver16styleForDocumentERNS_8DocumentE - fun:_ZN5blink8Document6attachERKNS_4Node13AttachContextE - fun:_ZN5blink14LocalDOMWindow18installNewDocumentERKN3WTF6StringERKNS_12DocumentInitEb - fun:_ZN5blink14DocumentLoader15createWriterForEPKNS_* -} -{ - bug_581959 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorIPN10disk_cache20SimpleEntryOperationEE8allocateEmPKv - fun:_ZNSt11_Deque_baseIN10disk_cache20SimpleEntryOperationESaIS1_EE15_M_allocate_mapEm - fun:_ZNSt11_Deque_baseIN10disk_cache20SimpleEntryOperationESaIS1_EE17_M_initialize_mapEm - fun:_ZNSt11_Deque_baseIN10disk_cache20SimpleEntryOperationESaIS1_EEC2Ev - fun:_ZNSt5dequeIN10disk_cache20SimpleEntryOperationESaIS1_EEC2Ev - fun:_ZN10disk_cache15SimpleEntryImplC1EN3net9CacheTypeERKN4base8FilePathEmNS0_14OperationsModeEPNS_17SimpleBackendImplEPNS1_6NetLogE - fun:_ZN10disk_cache17SimpleBackendImpl23CreateOrFindActiveEntryEmRKSs - fun:_ZN10disk_cache17SimpleBackendImpl11CreateEntryERKSsPPNS_5EntryERKN4base8CallbackIFviEEE -} -{ - bug_586203 - Memcheck:Unaddressable - fun:XInternAtoms - fun:_ZN2ui12X11AtomCacheC1EP9_XDisplayPPKc - fun:_ZN2ui20DeviceDataManagerX11C1Ev - fun:_ZN2ui20DeviceDataManagerX1114CreateInstanceEv - fun:_ZN2ui14X11EventSourceC1EPNS_22X11EventSourceDelegateEP9_XDisplay - fun:_ZN2ui18X11EventSourceGlibC1EP9_XDisplay -} -{ - bug_586206 - Memcheck:Leak - fun:calloc - fun:_XConnectXCB - fun:XOpenDisplay -} -{ - bug_587270 - Memcheck:Uninitialized - ... - fun:_ZN5blink21LayoutObjectChildList15removeChildNodeEPNS_12LayoutObjectES2_b - fun:_ZN5blink12LayoutObject11removeChildEPS0_ - ... - fun:_ZN5blink12LayoutObject6removeEv - fun:_ZN5blink12LayoutObject15willBeDestroyedEv - ... - fun:_ZN5blink12LayoutObject34destroyAndCleanupAnonymousWrappersEv - fun:_ZN5blink4Node6detachERKNS0_13AttachContextE -} -{ - bug_587283 - Memcheck:Uninitialized - fun:_ZNK5blink12LayoutObject29invalidatePaintUsingContainerERKNS_20LayoutBoxModelObjectERKNS_10LayoutRectENS_23PaintInvalidationReasonE -} -{ - bug_587283_b - Memcheck:Uninitialized - ... - fun:_ZN5blink15LayoutBlockFlow11layoutBlockEb - fun:_ZN5blink11LayoutBlock6layoutEv -} -{ - bug_587544 - Memcheck:Leak - ... - fun:_ZN7content28ShellURLRequestContextGetter20GetURLRequestContextEv - fun:_ZN7content21ChromeAppCacheService20InitializeOnIOThreadERKN4base8FilePathEPNS_15ResourceContextEPN3net23URLRequestContextGetterE13scoped_refptrIN7storage20SpecialStoragePolicyEE -} -{ - bug_587544_b - Memcheck:Leak - ... - fun:_ZN4base4BindIMN7content21ChromeAppCacheServiceEFvRKNS_8FilePathEPNS1_15ResourceContextEPN3net23URLRequestContextGetterE13scoped_refptrIN7storage20SpecialStoragePolicyEEEJPS2_S3_S7_SB_IS9_ESE_EEENS_8CallbackINS_8internal22MakeUnboundRunTypeImplIT_JDpT0_EE4TypeEEESM_DpOSN_ -} diff --git a/tools/valgrind/memcheck/suppressions_linux.txt b/tools/valgrind/memcheck/suppressions_linux.txt deleted file mode 100644 index 7474efa0b63fd5..00000000000000 --- a/tools/valgrind/memcheck/suppressions_linux.txt +++ /dev/null @@ -1,128 +0,0 @@ -# There are three kinds of suppressions in this file: -# 1. Third party stuff we have no control over. -# -# 2. Intentional unit test errors, stuff that is somehow a false positive -# in our own code, or stuff that is so trivial it's not worth fixing. -# -# 3. Suppressions for real chromium bugs that are not yet fixed. -# These should all be in chromium's bug tracking system. -# Periodically we should sweep this file and the bug tracker clean by -# running overnight and removing outdated bugs/suppressions. -# -# TODO(rnk): Should we move all of the Linux-only system library suppressions -# over from suppressions.txt? We'd avoid wasting time parsing and matching -# suppressions on non-Linux, which is basically just Mac. -# -#----------------------------------------------------------------------- - -# 1. Third party stuff we have no control over. - -# 2. Intentional unit test errors, stuff that is somehow a false positive -# in our own code, or stuff that is so trivial it's not worth fixing. - -# 3. Suppressions for real chromium bugs that are not yet fixed. -{ - bug_436253 - Memcheck:Overlap - fun:memcpy@@GLIBC_2.14 - fun:_ZN7content14WebPreferencesaSERKS0_ - fun:_ZN7content14RenderViewImpl22OnUpdateWebPreferencesERKNS_14WebPreferencesE - fun:_ZN7content14RenderViewImpl20SetWebkitPreferencesERKNS_14WebPreferencesE - fun:_ZThn*_N7content14RenderViewImpl20SetWebkitPreferencesERKNS_14WebPreferencesE - fun:_ZN7content15BlinkTestRunner5ResetEv -} -{ - bug_436292 - Memcheck:Param - sendmsg(msg.msg_iov[0]) - ... - fun:MojoWriteMessage - fun:_ZN3IPC8internal13MessageReader4SendE10scoped_ptrINS_7MessageEN4base14DefaultDeleterIS3_EEE - fun:_ZN3IPC11ChannelMojo4SendEPNS_7MessageE - fun:_ZN7content20BrowserMessageFilter4SendEPN3IPC7MessageE - fun:_ZN7content17AudioRendererHost18DoCompleteCreationEi -} -{ - bug_436292_b - Memcheck:Param - sendmsg(msg.msg_iov[0]) - ... - fun:MojoWriteMessage - fun:_ZN3IPC8internal13MessageReader4SendE10scoped_ptrINS_7MessageEN4base14DefaultDeleterIS3_EEE - fun:_ZN3IPC11ChannelMojo17InitMessageReaderEN4mojo16ScopedHandleBaseINS1_17MessagePipeHandleEEEi - fun:_ZN3IPC12_GLOBAL__N_117ServerChannelMojo27ClientChannelWasInitializedEi -} -{ - bug_452002 - Memcheck:Leak - fun:_Znw* - fun:_ZN11leveldb_env11ChromiumEnv11StartThreadEPFvPvES1_ - fun:_ZN11leveldb_env11ChromiumEnv8ScheduleEPFvPvES1_ - fun:_ZN7leveldb6DBImpl23MaybeScheduleCompactionEv - fun:_ZN7leveldb6DBImpl16MakeRoomForWriteEb - fun:_ZN7leveldb6DBImpl5WriteERKNS_12WriteOptionsEPNS_10WriteBatchE - fun:_ZN17LeveldbValueStore9WriteToDbEPN7leveldb10WriteBatchE - fun:_ZN17LeveldbValueStore3SetEiRKSsRKN4base5ValueE - fun:_ZN10extensions28SettingsStorageQuotaEnforcer3SetEiRKSsRKN4base5ValueE - fun:_ZN10extensions28WeakUnlimitedSettingsStorage3SetEiRKSsRKN4base5ValueE - fun:_ZN10extensions12_GLOBAL__N_1L33UnlimitedLocalStorageTestCallbackEP10ValueStore -} -{ - bug_512204 - Memcheck:Leak - fun:malloc - fun:CRYPTO_set_thread_local - fun:err_get_state - fun:ERR_clear_error - fun:_ZN6crypto20ClearOpenSSLERRStackERKN15tracked_objects8LocationE - fun:_ZN6crypto21OpenSSLErrStackTracerD2Ev -} -{ - bug_512204_b - Memcheck:Leak - fun:_Znw* - fun:_ZN3net13CTLogVerifier6CreateERKN4base16BasicStringPieceISsEES5_S5_ - fun:_ZN3net2ct30CreateLogVerifiersForKnownLogsEv - fun:_ZN8IOThread4InitEv - fun:_ZN7content17BrowserThreadImpl4InitEv - fun:_ZN7content21TestBrowserThreadImpl4InitEv - fun:_ZN4base6Thread10ThreadMainEv - fun:_ZN4base12_GLOBAL__N_110ThreadFuncEPv -} -{ - bug_555798_a - Memcheck:Leak - fun:malloc - fun:strdup - obj:* - ... - fun:*LoadNativeLibrary* - fun:*ExternalClearKeyTestHelper* -} -{ - bug_555798_b - Memcheck:Leak - fun:_Znw* - obj:* - ... - fun:_dl_init - fun:dl_open_worker -} -{ - bug_569736 - Memcheck:Leak - fun:_Znw* - obj:* - ... - fun:_ZN5media14CdmWrapperImplIN3cdm25ContentDecryptionModule_8EE7DecryptERKNS1_11InputBufferEPNS1_14DecryptedBlockE -} -{ - bug_588788 - Memcheck:Unaddressable - ... - fun:_ZN5views14AXAuraObjCache14GetFocusedViewEv - fun:_ZN5views14AXAuraObjCache8GetFocusEv - fun:_ZNK16AXTreeSourceAura11GetTreeDataEv - fun:_ZN2ui16AXTreeSerializerIPN5views16AXAuraObjWrapperENS_10AXNodeDataENS_10AXTreeDataEE16SerializeChangesES3_PNS_16AXTreeUpdateBaseIS4_S5_EE - fun:_ZN35AXTreeSourceAuraTest_Serialize_Test8TestBodyEv -} diff --git a/tools/valgrind/memcheck_analyze.py b/tools/valgrind/memcheck_analyze.py deleted file mode 100755 index a5c78c144dec1f..00000000000000 --- a/tools/valgrind/memcheck_analyze.py +++ /dev/null @@ -1,640 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# memcheck_analyze.py - -''' Given a valgrind XML file, parses errors and uniques them.''' - -import gdb_helper - -from collections import defaultdict -import hashlib -import logging -import optparse -import os -import re -import subprocess -import sys -import time -from xml.dom.minidom import parse -from xml.parsers.expat import ExpatError - -import common - -# Global symbol table (yuck) -TheAddressTable = None - -# These are regexps that define functions (using C++ mangled names) -# we don't want to see in stack traces while pretty printing -# or generating suppressions. -# Just stop printing the stack/suppression frames when the current one -# matches any of these. -_BORING_CALLERS = common.BoringCallers(mangled=True, use_re_wildcards=True) - -def getTextOf(top_node, name): - ''' Returns all text in all DOM nodes with a certain |name| that are children - of |top_node|. - ''' - - text = "" - for nodes_named in top_node.getElementsByTagName(name): - text += "".join([node.data for node in nodes_named.childNodes - if node.nodeType == node.TEXT_NODE]) - return text - -def getCDATAOf(top_node, name): - ''' Returns all CDATA in all DOM nodes with a certain |name| that are children - of |top_node|. - ''' - - text = "" - for nodes_named in top_node.getElementsByTagName(name): - text += "".join([node.data for node in nodes_named.childNodes - if node.nodeType == node.CDATA_SECTION_NODE]) - if (text == ""): - return None - return text - -def shortenFilePath(source_dir, directory): - '''Returns a string with the string prefix |source_dir| removed from - |directory|.''' - prefixes_to_cut = ["build/src/", "valgrind/coregrind/", "out/Release/../../"] - - if source_dir: - prefixes_to_cut.append(source_dir) - - for p in prefixes_to_cut: - index = directory.rfind(p) - if index != -1: - directory = directory[index + len(p):] - - return directory - -# Constants that give real names to the abbreviations in valgrind XML output. -INSTRUCTION_POINTER = "ip" -OBJECT_FILE = "obj" -FUNCTION_NAME = "fn" -SRC_FILE_DIR = "dir" -SRC_FILE_NAME = "file" -SRC_LINE = "line" - -def gatherFrames(node, source_dir): - frames = [] - for frame in node.getElementsByTagName("frame"): - frame_dict = { - INSTRUCTION_POINTER : getTextOf(frame, INSTRUCTION_POINTER), - OBJECT_FILE : getTextOf(frame, OBJECT_FILE), - FUNCTION_NAME : getTextOf(frame, FUNCTION_NAME), - SRC_FILE_DIR : shortenFilePath( - source_dir, getTextOf(frame, SRC_FILE_DIR)), - SRC_FILE_NAME : getTextOf(frame, SRC_FILE_NAME), - SRC_LINE : getTextOf(frame, SRC_LINE) - } - - # Ignore this frame and all the following if it's a "boring" function. - enough_frames = False - for regexp in _BORING_CALLERS: - if re.match("^%s$" % regexp, frame_dict[FUNCTION_NAME]): - enough_frames = True - break - if enough_frames: - break - - frames += [frame_dict] - - global TheAddressTable - if TheAddressTable != None and frame_dict[SRC_LINE] == "": - # Try using gdb - TheAddressTable.Add(frame_dict[OBJECT_FILE], - frame_dict[INSTRUCTION_POINTER]) - return frames - -class ValgrindError: - ''' Takes a node and reads all the data from it. A - ValgrindError is immutable and is hashed on its pretty printed output. - ''' - - def __init__(self, source_dir, error_node, commandline, testcase): - ''' Copies all the relevant information out of the DOM and into object - properties. - - Args: - error_node: The DOM node we're extracting from. - source_dir: Prefix that should be stripped from the node. - commandline: The command that was run under valgrind - testcase: The test case name, if known. - ''' - - # Valgrind errors contain one pair, plus an optional - # pair, plus an optional , - # plus (since 3.5.0) a pair. - # (Origin is nicely enclosed; too bad the other two aren't.) - # The most common way to see all three in one report is - # a syscall with a parameter that points to uninitialized memory, e.g. - # Format: - # - # 0x6d - # 1 - # SyscallParam - # Syscall param write(buf) points to uninitialised byte(s) - # - # - # ... - # - # - # Address 0x5c9af4f is 7 bytes inside a block of ... - # - # - # ... - # - # - # - # Uninitialised value was created by a heap allocation - # - # - # ... - # - # - # - # - # insert_a_suppression_name_here - # Memcheck:Param - # write(buf) - # __write_nocancel - # ... - # main - # - # - # Memcheck:Param - # write(buf) - # fun:__write_nocancel - # ... - # fun:main - # } - # ]]> - # - # - # - # - # Each frame looks like this: - # - # 0x83751BC - # /data/dkegel/chrome-build/src/out/Release/base_unittests - # _ZN7testing8internal12TestInfoImpl7RunTestEPNS_8TestInfoE - # /data/dkegel/chrome-build/src/testing/gtest/src - # gtest-internal-inl.h - # 655 - # - # although the dir, file, and line elements are missing if there is - # no debug info. - - self._kind = getTextOf(error_node, "kind") - self._backtraces = [] - self._suppression = None - self._commandline = commandline - self._testcase = testcase - self._additional = [] - - # Iterate through the nodes, parsing pairs. - description = None - for node in error_node.childNodes: - if node.localName == "what" or node.localName == "auxwhat": - description = "".join([n.data for n in node.childNodes - if n.nodeType == n.TEXT_NODE]) - elif node.localName == "xwhat": - description = getTextOf(node, "text") - elif node.localName == "stack": - assert description - self._backtraces.append([description, gatherFrames(node, source_dir)]) - description = None - elif node.localName == "origin": - description = getTextOf(node, "what") - stack = node.getElementsByTagName("stack")[0] - frames = gatherFrames(stack, source_dir) - self._backtraces.append([description, frames]) - description = None - stack = None - frames = None - elif description and node.localName != None: - # The lastest description has no stack, e.g. "Address 0x28 is unknown" - self._additional.append(description) - description = None - - if node.localName == "suppression": - self._suppression = getCDATAOf(node, "rawtext"); - - def __str__(self): - ''' Pretty print the type and backtrace(s) of this specific error, - including suppression (which is just a mangled backtrace).''' - output = "" - output += "\n" # Make sure the ### is at the beginning of line. - output += "### BEGIN MEMORY TOOL REPORT (error hash=#%016X#)\n" % \ - self.ErrorHash() - if (self._commandline): - output += self._commandline + "\n" - - output += self._kind + "\n" - for backtrace in self._backtraces: - output += backtrace[0] + "\n" - filter = subprocess.Popen("c++filt -n", stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - shell=True, - close_fds=True) - buf = "" - for frame in backtrace[1]: - buf += (frame[FUNCTION_NAME] or frame[INSTRUCTION_POINTER]) + "\n" - (stdoutbuf, stderrbuf) = filter.communicate(buf.encode('latin-1')) - demangled_names = stdoutbuf.split("\n") - - i = 0 - for frame in backtrace[1]: - output += (" " + demangled_names[i]) - i = i + 1 - - global TheAddressTable - if TheAddressTable != None and frame[SRC_FILE_DIR] == "": - # Try using gdb - foo = TheAddressTable.GetFileLine(frame[OBJECT_FILE], - frame[INSTRUCTION_POINTER]) - if foo[0] != None: - output += (" (" + foo[0] + ":" + foo[1] + ")") - elif frame[SRC_FILE_DIR] != "": - output += (" (" + frame[SRC_FILE_DIR] + "/" + frame[SRC_FILE_NAME] + - ":" + frame[SRC_LINE] + ")") - else: - output += " (" + frame[OBJECT_FILE] + ")" - output += "\n" - - for additional in self._additional: - output += additional + "\n" - - assert self._suppression != None, "Your Valgrind doesn't generate " \ - "suppressions - is it too old?" - - if self._testcase: - output += "The report came from the `%s` test.\n" % self._testcase - output += "Suppression (error hash=#%016X#):\n" % self.ErrorHash() - output += (" For more info on using suppressions see " - "http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports") - - # Widen suppression slightly to make portable between mac and linux - # TODO(timurrrr): Oops, these transformations should happen - # BEFORE calculating the hash! - supp = self._suppression; - supp = supp.replace("fun:_Znwj", "fun:_Znw*") - supp = supp.replace("fun:_Znwm", "fun:_Znw*") - supp = supp.replace("fun:_Znaj", "fun:_Zna*") - supp = supp.replace("fun:_Znam", "fun:_Zna*") - - # Make suppressions even less platform-dependent. - for sz in [1, 2, 4, 8]: - supp = supp.replace("Memcheck:Addr%d" % sz, "Memcheck:Unaddressable") - supp = supp.replace("Memcheck:Value%d" % sz, "Memcheck:Uninitialized") - supp = supp.replace("Memcheck:Cond", "Memcheck:Uninitialized") - - # Split into lines so we can enforce length limits - supplines = supp.split("\n") - supp = None # to avoid re-use - - # Truncate at line 26 (VG_MAX_SUPP_CALLERS plus 2 for name and type) - # or at the first 'boring' caller. - # (https://bugs.kde.org/show_bug.cgi?id=199468 proposes raising - # VG_MAX_SUPP_CALLERS, but we're probably fine with it as is.) - newlen = min(26, len(supplines)); - - # Drop boring frames and all the following. - enough_frames = False - for frameno in range(newlen): - for boring_caller in _BORING_CALLERS: - if re.match("^ +fun:%s$" % boring_caller, supplines[frameno]): - newlen = frameno - enough_frames = True - break - if enough_frames: - break - if (len(supplines) > newlen): - supplines = supplines[0:newlen] - supplines.append("}") - - for frame in range(len(supplines)): - # Replace the always-changing anonymous namespace prefix with "*". - m = re.match("( +fun:)_ZN.*_GLOBAL__N_.*\.cc_" + - "[0-9a-fA-F]{8}_[0-9a-fA-F]{8}(.*)", - supplines[frame]) - if m: - supplines[frame] = "*".join(m.groups()) - - output += "\n".join(supplines) + "\n" - output += "### END MEMORY TOOL REPORT (error hash=#%016X#)\n" % \ - self.ErrorHash() - - return output - - def UniqueString(self): - ''' String to use for object identity. Don't print this, use str(obj) - instead.''' - rep = self._kind + " " - for backtrace in self._backtraces: - for frame in backtrace[1]: - rep += frame[FUNCTION_NAME] - - if frame[SRC_FILE_DIR] != "": - rep += frame[SRC_FILE_DIR] + "/" + frame[SRC_FILE_NAME] - else: - rep += frame[OBJECT_FILE] - - return rep - - # This is a device-independent hash identifying the suppression. - # By printing out this hash we can find duplicate reports between tests and - # different shards running on multiple buildbots - def ErrorHash(self): - return int(hashlib.md5(self.UniqueString()).hexdigest()[:16], 16) - - def __hash__(self): - return hash(self.UniqueString()) - def __eq__(self, rhs): - return self.UniqueString() == rhs - -def log_is_finished(f, force_finish): - f.seek(0) - prev_line = "" - while True: - line = f.readline() - if line == "": - if not force_finish: - return False - # Okay, the log is not finished but we can make it up to be parseable: - if prev_line.strip() in ["", "", ""]: - f.write("\n") - return True - return False - if '' in line: - # Valgrind often has garbage after upon crash. - f.truncate() - return True - prev_line = line - -class MemcheckAnalyzer: - ''' Given a set of Valgrind XML files, parse all the errors out of them, - unique them and output the results.''' - - SANITY_TEST_SUPPRESSIONS = { - "Memcheck sanity test 01 (memory leak).": 1, - "Memcheck sanity test 02 (malloc/read left).": 1, - "Memcheck sanity test 03 (malloc/read right).": 1, - "Memcheck sanity test 04 (malloc/write left).": 1, - "Memcheck sanity test 05 (malloc/write right).": 1, - "Memcheck sanity test 06 (new/read left).": 1, - "Memcheck sanity test 07 (new/read right).": 1, - "Memcheck sanity test 08 (new/write left).": 1, - "Memcheck sanity test 09 (new/write right).": 1, - "Memcheck sanity test 10 (write after free).": 1, - "Memcheck sanity test 11 (write after delete).": 1, - "Memcheck sanity test 12 (array deleted without []).": 1, - "Memcheck sanity test 13 (single element deleted with []).": 1, - "Memcheck sanity test 14 (malloc/read uninit).": 1, - "Memcheck sanity test 15 (new/read uninit).": 1, - } - - # Max time to wait for memcheck logs to complete. - LOG_COMPLETION_TIMEOUT = 180.0 - - def __init__(self, source_dir, show_all_leaks=False, use_gdb=False): - '''Create a parser for Memcheck logs. - - Args: - source_dir: Path to top of source tree for this build - show_all_leaks: Whether to show even less important leaks - use_gdb: Whether to use gdb to resolve source filenames and line numbers - in the report stacktraces - ''' - self._source_dir = source_dir - self._show_all_leaks = show_all_leaks - self._use_gdb = use_gdb - - # Contains the set of unique errors - self._errors = set() - - # Contains the time when the we started analyzing the first log file. - # This variable is used to skip incomplete logs after some timeout. - self._analyze_start_time = None - - - def Report(self, files, testcase, check_sanity=False): - '''Reads in a set of files and prints Memcheck report. - - Args: - files: A list of filenames. - check_sanity: if true, search for SANITY_TEST_SUPPRESSIONS - ''' - # Beyond the detailed errors parsed by ValgrindError above, - # the xml file contain records describing suppressions that were used: - # - # - # 28 - # pango_font_leak_todo - # - # - # 378 - # bug_13243 - # - # /usr/lib/libgcc_s.1.dylib0x27000 - # giving the filename and load address of each binary that was mapped - # into the process. - - global TheAddressTable - if self._use_gdb: - TheAddressTable = gdb_helper.AddressTable() - else: - TheAddressTable = None - cur_report_errors = set() - suppcounts = defaultdict(int) - badfiles = set() - - if self._analyze_start_time == None: - self._analyze_start_time = time.time() - start_time = self._analyze_start_time - - parse_failed = False - for file in files: - # Wait up to three minutes for valgrind to finish writing all files, - # but after that, just skip incomplete files and warn. - f = open(file, "r+") - pid = re.match(".*\.([0-9]+)$", file) - if pid: - pid = pid.groups()[0] - found = False - running = True - firstrun = True - skip = False - origsize = os.path.getsize(file) - while (running and not found and not skip and - (firstrun or - ((time.time() - start_time) < self.LOG_COMPLETION_TIMEOUT))): - firstrun = False - f.seek(0) - if pid: - # Make sure the process is still running so we don't wait for - # 3 minutes if it was killed. See http://crbug.com/17453 - ps_out = subprocess.Popen("ps p %s" % pid, shell=True, - stdout=subprocess.PIPE).stdout - if len(ps_out.readlines()) < 2: - running = False - else: - skip = True - running = False - found = log_is_finished(f, False) - if not running and not found: - logging.warn("Valgrind process PID = %s is not running but its " - "XML log has not been finished correctly.\n" - "Make it up by adding some closing tags manually." % pid) - found = log_is_finished(f, not running) - if running and not found: - time.sleep(1) - f.close() - if not found: - badfiles.add(file) - else: - newsize = os.path.getsize(file) - if origsize > newsize+1: - logging.warn(str(origsize - newsize) + - " bytes of junk were after in %s!" % - file) - try: - parsed_file = parse(file); - except ExpatError, e: - parse_failed = True - logging.warn("could not parse %s: %s" % (file, e)) - lineno = e.lineno - 1 - context_lines = 5 - context_start = max(0, lineno - context_lines) - context_end = lineno + context_lines + 1 - context_file = open(file, "r") - for i in range(0, context_start): - context_file.readline() - for i in range(context_start, context_end): - context_data = context_file.readline().rstrip() - if i != lineno: - logging.warn(" %s" % context_data) - else: - logging.warn("> %s" % context_data) - context_file.close() - continue - if TheAddressTable != None: - load_objs = parsed_file.getElementsByTagName("load_obj") - for load_obj in load_objs: - obj = getTextOf(load_obj, "obj") - ip = getTextOf(load_obj, "ip") - TheAddressTable.AddBinaryAt(obj, ip) - - commandline = None - preamble = parsed_file.getElementsByTagName("preamble")[0]; - for node in preamble.getElementsByTagName("line"): - if node.localName == "line": - for x in node.childNodes: - if x.nodeType == node.TEXT_NODE and "Command" in x.data: - commandline = x.data - break - - raw_errors = parsed_file.getElementsByTagName("error") - for raw_error in raw_errors: - # Ignore "possible" leaks for now by default. - if (self._show_all_leaks or - getTextOf(raw_error, "kind") != "Leak_PossiblyLost"): - error = ValgrindError(self._source_dir, - raw_error, commandline, testcase) - if error not in cur_report_errors: - # We haven't seen such errors doing this report yet... - if error in self._errors: - # ... but we saw it in earlier reports, e.g. previous UI test - cur_report_errors.add("This error was already printed in " - "some other test, see 'hash=#%016X#'" % \ - error.ErrorHash()) - else: - # ... and we haven't seen it in other tests as well - self._errors.add(error) - cur_report_errors.add(error) - - suppcountlist = parsed_file.getElementsByTagName("suppcounts") - if len(suppcountlist) > 0: - suppcountlist = suppcountlist[0] - for node in suppcountlist.getElementsByTagName("pair"): - count = getTextOf(node, "count"); - name = getTextOf(node, "name"); - suppcounts[name] += int(count) - - if len(badfiles) > 0: - logging.warn("valgrind didn't finish writing %d files?!" % len(badfiles)) - for file in badfiles: - logging.warn("Last 20 lines of %s :" % file) - os.system("tail -n 20 '%s' 1>&2" % file) - - if parse_failed: - logging.error("FAIL! Couldn't parse Valgrind output file") - return -2 - - common.PrintUsedSuppressionsList(suppcounts) - - retcode = 0 - if cur_report_errors: - logging.error("FAIL! There were %s errors: " % len(cur_report_errors)) - - if TheAddressTable != None: - TheAddressTable.ResolveAll() - - for error in cur_report_errors: - logging.error(error) - - retcode = -1 - - # Report tool's insanity even if there were errors. - if check_sanity: - remaining_sanity_supp = MemcheckAnalyzer.SANITY_TEST_SUPPRESSIONS - for (name, count) in suppcounts.iteritems(): - # Workaround for http://crbug.com/334074 - if (name in remaining_sanity_supp and - remaining_sanity_supp[name] <= count): - del remaining_sanity_supp[name] - if remaining_sanity_supp: - logging.error("FAIL! Sanity check failed!") - logging.info("The following test errors were not handled: ") - for (name, count) in remaining_sanity_supp.iteritems(): - logging.info(" * %dx %s" % (count, name)) - retcode = -3 - - if retcode != 0: - return retcode - - logging.info("PASS! No errors found!") - return 0 - - -def _main(): - '''For testing only. The MemcheckAnalyzer class should be imported instead.''' - parser = optparse.OptionParser("usage: %prog [options] ") - parser.add_option("", "--source-dir", - help="path to top of source tree for this build" - "(used to normalize source paths in baseline)") - - (options, args) = parser.parse_args() - if len(args) == 0: - parser.error("no filename specified") - filenames = args - - analyzer = MemcheckAnalyzer(options.source_dir, use_gdb=True) - return analyzer.Report(filenames, None) - - -if __name__ == "__main__": - sys.exit(_main()) diff --git a/tools/valgrind/regrind.sh b/tools/valgrind/regrind.sh deleted file mode 100755 index cb408c48699d16..00000000000000 --- a/tools/valgrind/regrind.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# Scape errors from the valgrind bots, reproduce them locally, -# save logs as regrind-TESTNAME.log, and display any errors found. -# Also save files regrind-failed.txt listing failed tests, -# and regrind-failed-map.txt showing which bot URLs have which failed tests -# (handy when filing bugs). -# -# Only scrapes linux layout bot at the moment. -# TODO: handle layout tests that don't have obvious path to test file -# TODO: extend script to handle more kinds of errors and more tests - -# where the valgrind layout bot results live -LAYOUT_URL="http://build.chromium.org/p/chromium.memory.full/builders/Webkit%20Linux%20(valgrind%20layout)" -# how many builds back to check -LAYOUT_COUNT=250 - -# regexp to match valgrind errors -PATTERN="are definitely|uninitialised|Unhandled exception|\ -Invalid read|Invalid write|Invalid free|Source and desti|Mismatched free|\ -unaddressable byte|vex x86|the 'impossible' happened|\ -valgrind:.*: Assertion.*failed|VALGRIND INTERNAL ERROR" - -usage() { - echo "Usage: regrind.sh [--noscrape][--norepro][--keep]" - echo "--noscrape: don't scrape bots, just use old regrind-failed.txt" - echo "--norepro: don't reproduce locally" - echo "--keep: keep temp files" - exit 1 -} - -# Given a log on stdin, list all the tests that failed in that log. -layout_list_failed_tests() { - grep "Command:.*LayoutTests" | - sed 's/<.*>//' | - sed 's/.*LayoutTests/LayoutTests/' | - sort -u | - tr -d '\015' -} - -# Generate a list of failed tests in regrind-failed.txt by scraping bot. -# Scrape most recent first, so if user interrupts, they are left with fresh-ish -# data. -scrape_layout() { - rm -f regrind-*.tmp* regrind-failed.txt regrind-failed-map.txt - touch regrind-failed.txt - - # First, grab the number of the latest complete build. - wget -q -O regrind-builds.html "$LAYOUT_URL" - latest=`grep "
  • regrind-$i.tmp.failed - if test -s regrind-$i.tmp.failed - then - # Yes. Log them to stdout, - echo "$url" - cat regrind-$i.tmp.failed - # to the table regrind-failed-map.txt, - cat regrind-$i.tmp.failed | sed "s,^,$url ," >> regrind-failed-map.txt - # and, if not already there, to regrind-failed.txt. - for test in `cat regrind-$i.tmp.failed` - do - fgrep "$test" regrind-failed.txt > /dev/null 2>&1 || echo "$test" >> regrind-failed.txt - done - else - rm regrind-$i.tmp.failed - fi - # Sleep 1/3 sec per fetch - case $i in - *[036]) sleep 1;; - esac - i=`expr $i - 1` - done - - # Finally, munge the logs to identify tests that probably failed. - sh c.sh -l regrind-*.tmp > regrind-errfiles.txt - cat `cat regrind-errfiles.txt` | layout_list_failed_tests > regrind-failed.txt -} - -# Run the tests identified in regrind-failed.txt locally under valgrind. -# Save logs in regrind-$TESTNAME.log. -repro_layout() { - echo Running `wc -l < regrind-failed.txt` layout tests. - for test in `cat regrind-failed.txt` - do - logname="`echo $test | tr / _`" - echo "sh tools/valgrind/valgrind_webkit_tests.sh $test" - sh tools/valgrind/valgrind_webkit_tests.sh "$test" > regrind-"$logname".log 2>&1 - egrep "$PATTERN" < regrind-"$logname".log | sed 's/==.*==//' - done -} - -do_repro=1 -do_scrape=1 -do_cleanup=1 -while test ! -z "$1" -do - case "$1" in - --noscrape) do_scrape=0;; - --norepro) do_repro=0;; - --keep) do_cleanup=0;; - *) usage;; - esac - shift -done - -echo "WARNING: This script is not supported and may be out of date" - -if test $do_scrape = 0 && test $do_repro = 0 -then - usage -fi - -if test $do_scrape = 1 -then - scrape_layout -fi - -if test $do_repro = 1 -then - repro_layout -fi - -if test $do_cleanup = 1 -then - rm -f regrind-errfiles.txt regrind-*.tmp* -fi diff --git a/tools/valgrind/scan-build.py b/tools/valgrind/scan-build.py deleted file mode 100755 index 379416e57b3918..00000000000000 --- a/tools/valgrind/scan-build.py +++ /dev/null @@ -1,245 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2013 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import argparse -import errno -import json -import os -import re -import sys -import urllib -import urllib2 - -# Where all the data lives. -ROOT_URL = "http://build.chromium.org/p/chromium.memory.full/builders" - -# TODO(groby) - support multi-line search from the command line. Useful when -# scanning for classes of failures, see below. -SEARCH_STRING = """

    -Failed memory test: content -

    """ - -# Location of the log cache. -CACHE_DIR = "buildlogs.tmp" - -# If we don't find anything after searching |CUTOFF| logs, we're probably done. -CUTOFF = 200 - -def EnsurePath(path): - """Makes sure |path| does exist, tries to create it if it doesn't.""" - try: - os.makedirs(path) - except OSError as exception: - if exception.errno != errno.EEXIST: - raise - - -class Cache(object): - def __init__(self, root_dir): - self._root_dir = os.path.abspath(root_dir) - - def _LocalName(self, name): - """If name is a relative path, treat it as relative to cache root. - If it is absolute and under cache root, pass it through. - Otherwise, raise error. - """ - if os.path.isabs(name): - assert os.path.commonprefix([name, self._root_dir]) == self._root_dir - else: - name = os.path.join(self._root_dir, name) - return name - - def _FetchLocal(self, local_name): - local_name = self._LocalName(local_name) - EnsurePath(os.path.dirname(local_name)) - if os.path.exists(local_name): - f = open(local_name, 'r') - return f.readlines(); - return None - - def _FetchRemote(self, remote_name): - try: - response = urllib2.urlopen(remote_name) - except: - print "Could not fetch", remote_name - raise - return response.read() - - def Update(self, local_name, remote_name): - local_name = self._LocalName(local_name) - EnsurePath(os.path.dirname(local_name)) - blob = self._FetchRemote(remote_name) - f = open(local_name, "w") - f.write(blob) - return blob.splitlines() - - def FetchData(self, local_name, remote_name): - result = self._FetchLocal(local_name) - if result: - return result - # If we get here, the local cache does not exist yet. Fetch, and store. - return self.Update(local_name, remote_name) - - -class Builder(object): - def __init__(self, waterfall, name): - self._name = name - self._waterfall = waterfall - - def Name(self): - return self._name - - def LatestBuild(self): - return self._waterfall.GetLatestBuild(self._name) - - def GetBuildPath(self, build_num): - return "%s/%s/builds/%d" % ( - self._waterfall._root_url, urllib.quote(self._name), build_num) - - def _FetchBuildLog(self, build_num): - local_build_path = "builds/%s" % self._name - local_build_file = os.path.join(local_build_path, "%d.log" % build_num) - return self._waterfall._cache.FetchData(local_build_file, - self.GetBuildPath(build_num)) - - def _CheckLog(self, build_num, tester): - log_lines = self._FetchBuildLog(build_num) - return any(tester(line) for line in log_lines) - - def ScanLogs(self, tester): - occurrences = [] - build = self.LatestBuild() - no_results = 0 - while build != 0 and no_results < CUTOFF: - if self._CheckLog(build, tester): - occurrences.append(build) - else: - no_results = no_results + 1 - build = build - 1 - return occurrences - - -class Waterfall(object): - def __init__(self, root_url, cache_dir): - self._root_url = root_url - self._builders = {} - self._top_revision = {} - self._cache = Cache(cache_dir) - - def Builders(self): - return self._builders.values() - - def Update(self): - self._cache.Update("builders", self._root_url) - self.FetchInfo() - - def FetchInfo(self): - if self._top_revision: - return - - html = self._cache.FetchData("builders", self._root_url) - - """ Search for both builders and latest build number in HTML - identifies a builder - is the latest build. - """ - box_matcher = re.compile('.*a href[^>]*>([^<]*)\<') - build_matcher = re.compile('.*a href=\"builders/(.*)/builds/([0-9]+)\".*') - last_builder = "" - for line in html: - if 'a href="builders/' in line: - if 'td class="box"' in line: - last_builder = box_matcher.match(line).group(1) - self._builders[last_builder] = Builder(self, last_builder) - else: - result = build_matcher.match(line) - builder = result.group(1) - assert builder == urllib.quote(last_builder) - self._top_revision[last_builder] = int(result.group(2)) - - def GetLatestBuild(self, name): - self.FetchInfo() - assert self._top_revision - return self._top_revision[name] - - -class MultiLineChange(object): - def __init__(self, lines): - self._tracked_lines = lines - self._current = 0 - - def __call__(self, line): - """ Test a single line against multi-line change. - - If it matches the currently active line, advance one line. - If the current line is the last line, report a match. - """ - if self._tracked_lines[self._current] in line: - self._current = self._current + 1 - if self._current == len(self._tracked_lines): - self._current = 0 - return True - else: - self._current = 0 - return False - - -def main(argv): - # Create argument parser. - parser = argparse.ArgumentParser() - commands = parser.add_mutually_exclusive_group(required=True) - commands.add_argument("--update", action='store_true') - commands.add_argument("--find", metavar='search term') - parser.add_argument("--json", action='store_true', - help="Output in JSON format") - args = parser.parse_args() - - path = os.path.abspath(os.path.dirname(argv[0])) - cache_path = os.path.join(path, CACHE_DIR) - - full = Waterfall(ROOT_URL, cache_path) - - if args.update: - full.Update() - for builder in full.Builders(): - print "Updating", builder.Name() - builder.ScanLogs(lambda x:False) - - if args.find: - result = [] - tester = MultiLineChange(args.find.splitlines()) - full.FetchInfo() - - if not args.json: - print "SCANNING FOR ", args.find - for builder in full.Builders(): - if not args.json: - print "Scanning", builder.Name() - occurrences = builder.ScanLogs(tester) - if occurrences: - min_build = min(occurrences) - path = builder.GetBuildPath(min_build) - if args.json: - data = {} - data['builder'] = builder.Name() - data['first_affected'] = min_build - data['last_affected'] = max(occurrences) - data['last_build'] = builder.LatestBuild() - data['frequency'] = ((int(builder.LatestBuild()) - int(min_build)) / - len(occurrences)) - data['total'] = len(occurrences) - data['first_url'] = path - result.append(data) - else: - print "Earliest occurrence in build %d" % min_build - print "Latest occurrence in build %d" % max(occurrences) - print "Latest build: %d" % builder.LatestBuild() - print path - print "%d total" % len(occurrences) - if args.json: - json.dump(result, sys.stdout, indent=2, sort_keys=True) - -if __name__ == "__main__": - sys.exit(main(sys.argv)) diff --git a/tools/valgrind/suppressions.py b/tools/valgrind/suppressions.py deleted file mode 100755 index 2653753f8174e7..00000000000000 --- a/tools/valgrind/suppressions.py +++ /dev/null @@ -1,940 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# suppressions.py - -"""Post-process Valgrind suppression matcher. - -Suppressions are defined as follows: - -# optional one-line comments anywhere in the suppressions file. -{ - - Toolname:Errortype - fun:function_name - obj:object_filename - fun:wildcarded_fun*_name - # an ellipsis wildcards zero or more functions in a stack. - ... - fun:some_other_function_name -} - -If ran from the command line, suppressions.py does a self-test -of the Suppression class. -""" - -import os -import re -import sys - -sys.path.insert(0, os.path.join(os.path.dirname(__file__), - '..', 'python', 'google')) -import path_utils - - -ELLIPSIS = '...' - - -def GetSuppressions(): - suppressions_root = path_utils.ScriptDir() - JOIN = os.path.join - - result = {} - - supp_filename = JOIN(suppressions_root, "memcheck", "suppressions.txt") - vg_common = ReadSuppressionsFromFile(supp_filename) - result['common_suppressions'] = vg_common - - supp_filename = JOIN(suppressions_root, "memcheck", "suppressions_linux.txt") - vg_linux = ReadSuppressionsFromFile(supp_filename) - result['linux_suppressions'] = vg_linux - - supp_filename = JOIN(suppressions_root, "memcheck", "suppressions_mac.txt") - vg_mac = ReadSuppressionsFromFile(supp_filename) - result['mac_suppressions'] = vg_mac - - return result - - -def GlobToRegex(glob_pattern, ignore_case=False): - """Translate glob wildcards (*?) into regex syntax. Escape the rest.""" - regex = '' - for char in glob_pattern: - if char == '*': - regex += '.*' - elif char == '?': - regex += '.' - elif ignore_case and char.isalpha(): - regex += '[%s%s]' % (char.lower(), char.upper()) - else: - regex += re.escape(char) - return ''.join(regex) - - -def StripAndSkipCommentsIterator(lines): - """Generator of (line_no, line) pairs that strips comments and whitespace.""" - for (line_no, line) in enumerate(lines): - line = line.strip() # Drop \n - if line.startswith('#'): - continue # Comments - # Skip comment lines, but not empty lines, they indicate the end of a - # suppression. Add one to the line number as well, since most editors use - # 1-based numberings, and enumerate is 0-based. - yield (line_no + 1, line) - - -class Suppression(object): - """This class represents a single stack trace suppression. - - Attributes: - description: A string representing the error description. - type: A string representing the error type, e.g. Memcheck:Leak. - stack: The lines comprising the stack trace for the suppression. - regex: The actual regex used to match against scraped reports. - """ - - def __init__(self, description, type, stack, defined_at, regex): - """Inits Suppression. - - description, type, stack, regex: same as class attributes - defined_at: file:line identifying where the suppression was defined - """ - self.description = description - self.type = type - self.stack = stack - self.defined_at = defined_at - self.regex = re.compile(regex, re.MULTILINE) - - def Match(self, suppression_from_report): - """Returns bool indicating whether this suppression matches - the suppression generated from Valgrind error report. - - We match our suppressions against generated suppressions - (not against reports) since they have the same format - while the reports are taken from XML, contain filenames, - they are demangled, and are generally more difficult to - parse. - - Args: - suppression_from_report: list of strings (function names). - Returns: - True if the suppression is not empty and matches the report. - """ - if not self.stack: - return False - lines = [f.strip() for f in suppression_from_report] - return self.regex.match('\n'.join(lines) + '\n') is not None - - -def FilenameToTool(filename): - """Return the name of the tool that a file is related to, or None. - - Example mappings: - tools/valgrind/drmemory/suppressions.txt -> drmemory - tools/valgrind/drmemory/suppressions_full.txt -> drmemory - tools/valgrind/memcheck/suppressions.txt -> memcheck - tools/valgrind/memcheck/suppressions_mac.txt -> memcheck - """ - filename = os.path.abspath(filename) - parts = filename.split(os.sep) - tool = parts[-2] - if tool in ('drmemory', 'memcheck'): - return tool - return None - - -def ReadSuppressionsFromFile(filename): - """Read suppressions from the given file and return them as a list""" - tool_to_parser = { - "drmemory": ReadDrMemorySuppressions, - "memcheck": ReadValgrindStyleSuppressions, - } - tool = FilenameToTool(filename) - assert tool in tool_to_parser, ( - "unknown tool %s for filename %s" % (tool, filename)) - parse_func = tool_to_parser[tool] - - # Consider non-existent files to be empty. - if not os.path.exists(filename): - return [] - - input_file = file(filename, 'r') - try: - return parse_func(input_file, filename) - except SuppressionError: - input_file.close() - raise - - -class ValgrindStyleSuppression(Suppression): - """A suppression using the Valgrind syntax. - - Most tools, even ones that are not Valgrind-based, use this syntax. - - Attributes: - Same as Suppression. - """ - - def __init__(self, description, type, stack, defined_at): - """Creates a suppression using the Memcheck syntax.""" - regex = '{\n.*\n%s\n' % type - for line in stack: - if line == ELLIPSIS: - regex += '(.*\n)*' - else: - regex += GlobToRegex(line) - regex += '\n' - regex += '(.*\n)*' - regex += '}' - - # In the recent version of valgrind-variant we've switched - # from memcheck's default Addr[1248]/Value[1248]/Cond suppression types - # to simply Unaddressable/Uninitialized. - # The suppression generator no longer gives us "old" types thus - # for the "new-type" suppressions: - # * Memcheck:Unaddressable should also match Addr* reports, - # * Memcheck:Uninitialized should also match Cond and Value reports, - # - # We also want to support legacy suppressions (e.g. copied from - # upstream bugs etc), so: - # * Memcheck:Addr[1248] suppressions should match Unaddressable reports, - # * Memcheck:Cond and Memcheck:Value[1248] should match Uninitialized. - # Please note the latest two rules only apply to the - # tools/valgrind/waterfall.sh suppression matcher and the real - # valgrind-variant Memcheck will not suppress - # e.g. Addr1 printed as Unaddressable with Addr4 suppression. - # Be careful to check the access size while copying legacy suppressions! - for sz in [1, 2, 4, 8]: - regex = regex.replace("\nMemcheck:Addr%d\n" % sz, - "\nMemcheck:(Addr%d|Unaddressable)\n" % sz) - regex = regex.replace("\nMemcheck:Value%d\n" % sz, - "\nMemcheck:(Value%d|Uninitialized)\n" % sz) - regex = regex.replace("\nMemcheck:Cond\n", - "\nMemcheck:(Cond|Uninitialized)\n") - regex = regex.replace("\nMemcheck:Unaddressable\n", - "\nMemcheck:(Addr.|Unaddressable)\n") - regex = regex.replace("\nMemcheck:Uninitialized\n", - "\nMemcheck:(Cond|Value.|Uninitialized)\n") - - return super(ValgrindStyleSuppression, self).__init__( - description, type, stack, defined_at, regex) - - def __str__(self): - """Stringify.""" - lines = [self.description, self.type] + self.stack - return "{\n %s\n}\n" % "\n ".join(lines) - - -class SuppressionError(Exception): - def __init__(self, message, happened_at): - self._message = message - self._happened_at = happened_at - - def __str__(self): - return 'Error reading suppressions at %s!\n%s' % ( - self._happened_at, self._message) - - -def ReadValgrindStyleSuppressions(lines, supp_descriptor): - """Given a list of lines, returns a list of suppressions. - - Args: - lines: a list of lines containing suppressions. - supp_descriptor: should typically be a filename. - Used only when printing errors. - """ - result = [] - cur_descr = '' - cur_type = '' - cur_stack = [] - in_suppression = False - nline = 0 - for line in lines: - nline += 1 - line = line.strip() - if line.startswith('#'): - continue - if not in_suppression: - if not line: - # empty lines between suppressions - pass - elif line.startswith('{'): - in_suppression = True - pass - else: - raise SuppressionError('Expected: "{"', - "%s:%d" % (supp_descriptor, nline)) - elif line.startswith('}'): - result.append( - ValgrindStyleSuppression(cur_descr, cur_type, cur_stack, - "%s:%d" % (supp_descriptor, nline))) - cur_descr = '' - cur_type = '' - cur_stack = [] - in_suppression = False - elif not cur_descr: - cur_descr = line - continue - elif not cur_type: - if not line.startswith("Memcheck:"): - raise SuppressionError( - 'Expected "Memcheck:TYPE", got "%s"' % line, - "%s:%d" % (supp_descriptor, nline)) - supp_type = line.split(':')[1] - if not supp_type in ["Addr1", "Addr2", "Addr4", "Addr8", - "Cond", "Free", "Jump", "Leak", "Overlap", "Param", - "Value1", "Value2", "Value4", "Value8", - "Unaddressable", "Uninitialized"]: - raise SuppressionError('Unknown suppression type "%s"' % supp_type, - "%s:%d" % (supp_descriptor, nline)) - cur_type = line - continue - elif re.match("^fun:.*|^obj:.*|^\.\.\.$", line): - cur_stack.append(line.strip()) - elif len(cur_stack) == 0 and cur_type == "Memcheck:Param": - cur_stack.append(line.strip()) - else: - raise SuppressionError( - '"fun:function_name" or "obj:object_file" or "..." expected', - "%s:%d" % (supp_descriptor, nline)) - return result - - -def PresubmitCheckSuppressions(supps): - """Check a list of suppressions and return a list of SuppressionErrors. - - Mostly useful for separating the checking logic from the Presubmit API for - testing. - """ - known_supp_names = {} # Key: name, Value: suppression. - errors = [] - for s in supps: - if re.search("<.*suppression.name.here>", s.description): - # Suppression name line is - # for Memcheck, - # name= for DrMemory - errors.append( - SuppressionError( - "You've forgotten to put a suppression name like bug_XXX", - s.defined_at)) - continue - - if s.description in known_supp_names: - errors.append( - SuppressionError( - 'Suppression named "%s" is defined more than once, ' - 'see %s' % (s.description, - known_supp_names[s.description].defined_at), - s.defined_at)) - else: - known_supp_names[s.description] = s - return errors - - -def PresubmitCheck(input_api, output_api): - """A helper function useful in PRESUBMIT.py - Returns a list of errors or []. - """ - sup_regex = re.compile('suppressions.*\.txt$') - filenames = [f.AbsoluteLocalPath() for f in input_api.AffectedFiles() - if sup_regex.search(f.LocalPath())] - - errors = [] - - for f in filenames: - try: - supps = ReadSuppressionsFromFile(f) - errors.extend(PresubmitCheckSuppressions(supps)) - except SuppressionError as e: - errors.append(e) - - return [output_api.PresubmitError(str(e)) for e in errors] - - -class DrMemorySuppression(Suppression): - """A suppression using the DrMemory syntax. - - Attributes: - instr: The instruction to match. - Rest inherited from Suppression. - """ - - def __init__(self, name, report_type, instr, stack, defined_at): - """Constructor.""" - self.instr = instr - - # Construct the regex. - regex = '{\n' - if report_type == 'LEAK': - regex += '(POSSIBLE )?LEAK' - else: - regex += report_type - regex += '\nname=.*\n' - - # TODO(rnk): Implement http://crbug.com/107416#c5 . - # drmemory_analyze.py doesn't generate suppressions with an instruction in - # them, so these suppressions will always fail to match. We should override - # Match to fetch the instruction from the report and try to match against - # that. - if instr: - regex += 'instruction=%s\n' % GlobToRegex(instr) - - for line in stack: - if line == ELLIPSIS: - regex += '(.*\n)*' - elif '!' in line: - (mod, func) = line.split('!') - if func == ELLIPSIS: # mod!ellipsis frame - regex += '(%s\!.*\n)+' % GlobToRegex(mod, ignore_case=True) - else: # mod!func frame - # Ignore case for the module match, but not the function match. - regex += '%s\!%s\n' % (GlobToRegex(mod, ignore_case=True), - GlobToRegex(func, ignore_case=False)) - else: - regex += GlobToRegex(line) - regex += '\n' - regex += '(.*\n)*' # Match anything left in the stack. - regex += '}' - return super(DrMemorySuppression, self).__init__(name, report_type, stack, - defined_at, regex) - - def __str__(self): - """Stringify.""" - text = self.type + "\n" - if self.description: - text += "name=%s\n" % self.description - if self.instr: - text += "instruction=%s\n" % self.instr - text += "\n".join(self.stack) - text += "\n" - return text - - -# Possible DrMemory error report types. Keep consistent with suppress_name -# array in drmemory/drmemory/report.c. -DRMEMORY_ERROR_TYPES = [ - 'UNADDRESSABLE ACCESS', - 'UNINITIALIZED READ', - 'INVALID HEAP ARGUMENT', - 'GDI USAGE ERROR', - 'HANDLE LEAK', - 'LEAK', - 'POSSIBLE LEAK', - 'WARNING', - ] - - -# Regexes to match valid drmemory frames. -DRMEMORY_FRAME_PATTERNS = [ - re.compile(r"^.*\!.*$"), # mod!func - re.compile(r"^.*!\.\.\.$"), # mod!ellipsis - re.compile(r"^\<.*\+0x.*\>$"), # - re.compile(r"^\$"), - re.compile(r"^system call .*$"), - re.compile(r"^\*$"), # wildcard - re.compile(r"^\.\.\.$"), # ellipsis - ] - - -def ReadDrMemorySuppressions(lines, supp_descriptor): - """Given a list of lines, returns a list of DrMemory suppressions. - - Args: - lines: a list of lines containing suppressions. - supp_descriptor: should typically be a filename. - Used only when parsing errors happen. - """ - lines = StripAndSkipCommentsIterator(lines) - suppressions = [] - for (line_no, line) in lines: - if not line: - continue - if line not in DRMEMORY_ERROR_TYPES: - raise SuppressionError('Expected a DrMemory error type, ' - 'found %r instead\n Valid error types: %s' % - (line, ' '.join(DRMEMORY_ERROR_TYPES)), - "%s:%d" % (supp_descriptor, line_no)) - - # Suppression starts here. - report_type = line - name = '' - instr = None - stack = [] - defined_at = "%s:%d" % (supp_descriptor, line_no) - found_stack = False - for (line_no, line) in lines: - if not found_stack and line.startswith('name='): - name = line.replace('name=', '') - elif not found_stack and line.startswith('instruction='): - instr = line.replace('instruction=', '') - else: - # Unrecognized prefix indicates start of stack trace. - found_stack = True - if not line: - # Blank line means end of suppression. - break - if not any([regex.match(line) for regex in DRMEMORY_FRAME_PATTERNS]): - raise SuppressionError( - ('Unexpected stack frame pattern at line %d\n' + - 'Frames should be one of the following:\n' + - ' module!function\n' + - ' module!...\n' + - ' \n' + - ' \n' + - ' system call Name\n' + - ' *\n' + - ' ...\n') % line_no, defined_at) - stack.append(line) - - if len(stack) == 0: # In case we hit EOF or blank without any stack frames. - raise SuppressionError('Suppression "%s" has no stack frames, ends at %d' - % (name, line_no), defined_at) - if stack[-1] == ELLIPSIS: - raise SuppressionError('Suppression "%s" ends in an ellipsis on line %d' % - (name, line_no), defined_at) - - suppressions.append( - DrMemorySuppression(name, report_type, instr, stack, defined_at)) - - return suppressions - - -def ParseSuppressionOfType(lines, supp_descriptor, def_line_no, report_type): - """Parse the suppression starting on this line. - - Suppressions start with a type, have an optional name and instruction, and a - stack trace that ends in a blank line. - """ - - - -def TestStack(stack, positive, negative, suppression_parser=None): - """A helper function for SelfTest() that checks a single stack. - - Args: - stack: the stack to match the suppressions. - positive: the list of suppressions that must match the given stack. - negative: the list of suppressions that should not match. - suppression_parser: optional arg for the suppression parser, default is - ReadValgrindStyleSuppressions. - """ - if not suppression_parser: - suppression_parser = ReadValgrindStyleSuppressions - for supp in positive: - parsed = suppression_parser(supp.split("\n"), "positive_suppression") - assert parsed[0].Match(stack.split("\n")), ( - "Suppression:\n%s\ndidn't match stack:\n%s" % (supp, stack)) - for supp in negative: - parsed = suppression_parser(supp.split("\n"), "negative_suppression") - assert not parsed[0].Match(stack.split("\n")), ( - "Suppression:\n%s\ndid match stack:\n%s" % (supp, stack)) - - -def TestFailPresubmit(supp_text, error_text, suppression_parser=None): - """A helper function for SelfTest() that verifies a presubmit check fires. - - Args: - supp_text: suppression text to parse. - error_text: text of the presubmit error we expect to find. - suppression_parser: optional arg for the suppression parser, default is - ReadValgrindStyleSuppressions. - """ - if not suppression_parser: - suppression_parser = ReadValgrindStyleSuppressions - try: - supps = suppression_parser(supp_text.split("\n"), "") - except SuppressionError, e: - # If parsing raised an exception, match the error text here. - assert error_text in str(e), ( - "presubmit text %r not in SuppressionError:\n%r" % - (error_text, str(e))) - else: - # Otherwise, run the presubmit checks over the supps. We expect a single - # error that has text matching error_text. - errors = PresubmitCheckSuppressions(supps) - assert len(errors) == 1, ( - "expected exactly one presubmit error, got:\n%s" % errors) - assert error_text in str(errors[0]), ( - "presubmit text %r not in SuppressionError:\n%r" % - (error_text, str(errors[0]))) - - -def SelfTest(): - """Tests the Suppression.Match() capabilities.""" - - test_memcheck_stack_1 = """{ - test - Memcheck:Leak - fun:absolutly - fun:brilliant - obj:condition - fun:detection - fun:expression - }""" - - test_memcheck_stack_2 = """{ - test - Memcheck:Uninitialized - fun:absolutly - fun:brilliant - obj:condition - fun:detection - fun:expression - }""" - - test_memcheck_stack_3 = """{ - test - Memcheck:Unaddressable - fun:absolutly - fun:brilliant - obj:condition - fun:detection - fun:expression - }""" - - test_memcheck_stack_4 = """{ - test - Memcheck:Addr4 - fun:absolutly - fun:brilliant - obj:condition - fun:detection - fun:expression - }""" - - positive_memcheck_suppressions_1 = [ - "{\nzzz\nMemcheck:Leak\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Leak\nfun:ab*ly\n}", - "{\nzzz\nMemcheck:Leak\nfun:absolutly\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\n...\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\n...\nfun:detection\n}", - "{\nzzz\nMemcheck:Leak\nfun:absolutly\n...\nfun:detection\n}", - "{\nzzz\nMemcheck:Leak\nfun:ab*ly\n...\nfun:detection\n}", - "{\nzzz\nMemcheck:Leak\n...\nobj:condition\n}", - "{\nzzz\nMemcheck:Leak\n...\nobj:condition\nfun:detection\n}", - "{\nzzz\nMemcheck:Leak\n...\nfun:brilliant\nobj:condition\n}", - ] - - positive_memcheck_suppressions_2 = [ - "{\nzzz\nMemcheck:Uninitialized\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Uninitialized\nfun:ab*ly\n}", - "{\nzzz\nMemcheck:Uninitialized\nfun:absolutly\nfun:brilliant\n}", - # Legacy suppression types - "{\nzzz\nMemcheck:Value1\n...\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Cond\n...\nfun:detection\n}", - "{\nzzz\nMemcheck:Value8\nfun:absolutly\nfun:brilliant\n}", - ] - - positive_memcheck_suppressions_3 = [ - "{\nzzz\nMemcheck:Unaddressable\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Unaddressable\nfun:absolutly\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Unaddressable\nfun:absolutly\nfun:brilliant\n}", - # Legacy suppression types - "{\nzzz\nMemcheck:Addr1\n...\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Addr8\n...\nfun:detection\n}", - ] - - positive_memcheck_suppressions_4 = [ - "{\nzzz\nMemcheck:Addr4\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Unaddressable\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Addr4\nfun:absolutly\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Unaddressable\n...\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Addr4\n...\nfun:detection\n}", - ] - - negative_memcheck_suppressions_1 = [ - "{\nzzz\nMemcheck:Leak\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Leak\nfun:ab*liant\n}", - "{\nzzz\nMemcheck:Leak\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\nobj:condition\n}", - "{\nzzz\nMemcheck:Addr8\nfun:brilliant\n}", - ] - - negative_memcheck_suppressions_2 = [ - "{\nzzz\nMemcheck:Cond\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Value2\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Uninitialized\nfun:ab*liant\n}", - "{\nzzz\nMemcheck:Value4\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\nobj:condition\n}", - "{\nzzz\nMemcheck:Addr8\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Unaddressable\nfun:brilliant\n}", - ] - - negative_memcheck_suppressions_3 = [ - "{\nzzz\nMemcheck:Addr1\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Uninitialized\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Addr2\nfun:ab*liant\n}", - "{\nzzz\nMemcheck:Value4\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\nobj:condition\n}", - "{\nzzz\nMemcheck:Addr8\nfun:brilliant\n}", - ] - - negative_memcheck_suppressions_4 = [ - "{\nzzz\nMemcheck:Addr1\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Addr4\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Unaddressable\nfun:abnormal\n}", - "{\nzzz\nMemcheck:Addr1\nfun:absolutly\n}", - "{\nzzz\nMemcheck:Addr2\nfun:ab*liant\n}", - "{\nzzz\nMemcheck:Value4\nfun:brilliant\n}", - "{\nzzz\nMemcheck:Leak\nobj:condition\n}", - "{\nzzz\nMemcheck:Addr8\nfun:brilliant\n}", - ] - - TestStack(test_memcheck_stack_1, - positive_memcheck_suppressions_1, - negative_memcheck_suppressions_1) - TestStack(test_memcheck_stack_2, - positive_memcheck_suppressions_2, - negative_memcheck_suppressions_2) - TestStack(test_memcheck_stack_3, - positive_memcheck_suppressions_3, - negative_memcheck_suppressions_3) - TestStack(test_memcheck_stack_4, - positive_memcheck_suppressions_4, - negative_memcheck_suppressions_4) - - # TODO(timurrrr): add TestFailPresubmit tests. - - ### DrMemory self tests. - - # http://crbug.com/96010 suppression. - stack_96010 = """{ - UNADDRESSABLE ACCESS - name= - *!TestingProfile::FinishInit - *!TestingProfile::TestingProfile - *!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody - *!testing::Test::Run - }""" - - suppress_96010 = [ - "UNADDRESSABLE ACCESS\nname=zzz\n...\n*!testing::Test::Run\n", - ("UNADDRESSABLE ACCESS\nname=zzz\n...\n" + - "*!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody\n"), - "UNADDRESSABLE ACCESS\nname=zzz\n...\n*!BrowserAboutHandlerTest*\n", - "UNADDRESSABLE ACCESS\nname=zzz\n*!TestingProfile::FinishInit\n", - # No name should be needed - "UNADDRESSABLE ACCESS\n*!TestingProfile::FinishInit\n", - # Whole trace - ("UNADDRESSABLE ACCESS\n" + - "*!TestingProfile::FinishInit\n" + - "*!TestingProfile::TestingProfile\n" + - "*!BrowserAboutHandlerTest_WillHandleBrowserAboutURL_Test::TestBody\n" + - "*!testing::Test::Run\n"), - ] - - negative_96010 = [ - # Wrong type - "UNINITIALIZED READ\nname=zzz\n*!TestingProfile::FinishInit\n", - # No ellipsis - "UNADDRESSABLE ACCESS\nname=zzz\n*!BrowserAboutHandlerTest*\n", - ] - - TestStack(stack_96010, suppress_96010, negative_96010, - suppression_parser=ReadDrMemorySuppressions) - - # Invalid heap arg - stack_invalid = """{ - INVALID HEAP ARGUMENT - name=asdf - *!foo - }""" - suppress_invalid = [ - "INVALID HEAP ARGUMENT\n*!foo\n", - ] - negative_invalid = [ - "UNADDRESSABLE ACCESS\n*!foo\n", - ] - - TestStack(stack_invalid, suppress_invalid, negative_invalid, - suppression_parser=ReadDrMemorySuppressions) - - # Suppress only ntdll - stack_in_ntdll = """{ - UNADDRESSABLE ACCESS - name= - ntdll.dll!RtlTryEnterCriticalSection - }""" - stack_not_ntdll = """{ - UNADDRESSABLE ACCESS - name= - notntdll.dll!RtlTryEnterCriticalSection - }""" - - suppress_in_ntdll = [ - "UNADDRESSABLE ACCESS\nntdll.dll!RtlTryEnterCriticalSection\n", - ] - suppress_in_any = [ - "UNADDRESSABLE ACCESS\n*!RtlTryEnterCriticalSection\n", - ] - - TestStack(stack_in_ntdll, suppress_in_ntdll + suppress_in_any, [], - suppression_parser=ReadDrMemorySuppressions) - # Make sure we don't wildcard away the "not" part and match ntdll.dll by - # accident. - TestStack(stack_not_ntdll, suppress_in_any, suppress_in_ntdll, - suppression_parser=ReadDrMemorySuppressions) - - # Suppress a POSSIBLE LEAK with LEAK. - stack_foo_possible = """{ - POSSIBLE LEAK - name=foo possible - *!foo - }""" - suppress_foo_possible = [ "POSSIBLE LEAK\n*!foo\n" ] - suppress_foo_leak = [ "LEAK\n*!foo\n" ] - TestStack(stack_foo_possible, suppress_foo_possible + suppress_foo_leak, [], - suppression_parser=ReadDrMemorySuppressions) - - # Don't suppress LEAK with POSSIBLE LEAK. - stack_foo_leak = """{ - LEAK - name=foo leak - *!foo - }""" - TestStack(stack_foo_leak, suppress_foo_leak, suppress_foo_possible, - suppression_parser=ReadDrMemorySuppressions) - - # Test case insensitivity of module names. - stack_user32_mixed_case = """{ - LEAK - name= - USER32.dll!foo - user32.DLL!bar - user32.dll!baz - }""" - suppress_user32 = [ # Module name case doesn't matter. - "LEAK\nuser32.dll!foo\nuser32.dll!bar\nuser32.dll!baz\n", - "LEAK\nUSER32.DLL!foo\nUSER32.DLL!bar\nUSER32.DLL!baz\n", - ] - no_suppress_user32 = [ # Function name case matters. - "LEAK\nuser32.dll!FOO\nuser32.dll!BAR\nuser32.dll!BAZ\n", - "LEAK\nUSER32.DLL!FOO\nUSER32.DLL!BAR\nUSER32.DLL!BAZ\n", - ] - TestStack(stack_user32_mixed_case, suppress_user32, no_suppress_user32, - suppression_parser=ReadDrMemorySuppressions) - - # Test mod!... frames. - stack_kernel32_through_ntdll = """{ - LEAK - name= - kernel32.dll!foo - KERNEL32.dll!bar - kernel32.DLL!baz - ntdll.dll!quux - }""" - suppress_mod_ellipsis = [ - "LEAK\nkernel32.dll!...\nntdll.dll!quux\n", - "LEAK\nKERNEL32.DLL!...\nntdll.dll!quux\n", - ] - no_suppress_mod_ellipsis = [ - # Need one or more matching frames, not zero, unlike regular ellipsis. - "LEAK\nuser32.dll!...\nkernel32.dll!...\nntdll.dll!quux\n", - ] - TestStack(stack_kernel32_through_ntdll, suppress_mod_ellipsis, - no_suppress_mod_ellipsis, - suppression_parser=ReadDrMemorySuppressions) - - # Test that the presubmit checks work. - forgot_to_name = """ - UNADDRESSABLE ACCESS - name= - ntdll.dll!RtlTryEnterCriticalSection - """ - TestFailPresubmit(forgot_to_name, 'forgotten to put a suppression', - suppression_parser=ReadDrMemorySuppressions) - - named_twice = """ - UNADDRESSABLE ACCESS - name=http://crbug.com/1234 - *!foo - - UNADDRESSABLE ACCESS - name=http://crbug.com/1234 - *!bar - """ - TestFailPresubmit(named_twice, 'defined more than once', - suppression_parser=ReadDrMemorySuppressions) - - forgot_stack = """ - UNADDRESSABLE ACCESS - name=http://crbug.com/1234 - """ - TestFailPresubmit(forgot_stack, 'has no stack frames', - suppression_parser=ReadDrMemorySuppressions) - - ends_in_ellipsis = """ - UNADDRESSABLE ACCESS - name=http://crbug.com/1234 - ntdll.dll!RtlTryEnterCriticalSection - ... - """ - TestFailPresubmit(ends_in_ellipsis, 'ends in an ellipsis', - suppression_parser=ReadDrMemorySuppressions) - - bad_stack_frame = """ - UNADDRESSABLE ACCESS - name=http://crbug.com/1234 - fun:memcheck_style_frame - """ - TestFailPresubmit(bad_stack_frame, 'Unexpected stack frame pattern', - suppression_parser=ReadDrMemorySuppressions) - - # Test FilenameToTool. - filenames_to_tools = { - "tools/valgrind/drmemory/suppressions.txt": "drmemory", - "tools/valgrind/drmemory/suppressions_full.txt": "drmemory", - "tools/valgrind/memcheck/suppressions.txt": "memcheck", - "tools/valgrind/memcheck/suppressions_mac.txt": "memcheck", - "asdf/tools/valgrind/memcheck/suppressions_mac.txt": "memcheck", - "foo/bar/baz/tools/valgrind/memcheck/suppressions_mac.txt": "memcheck", - "foo/bar/baz/tools/valgrind/suppressions.txt": None, - "tools/valgrind/suppressions.txt": None, - } - for (filename, expected_tool) in filenames_to_tools.items(): - filename.replace('/', os.sep) # Make the path look native. - tool = FilenameToTool(filename) - assert tool == expected_tool, ( - "failed to get expected tool for filename %r, expected %s, got %s" % - (filename, expected_tool, tool)) - - # Test ValgrindStyleSuppression.__str__. - supp = ValgrindStyleSuppression("http://crbug.com/1234", "Memcheck:Leak", - ["...", "fun:foo"], "supp.txt:1") - # Intentional 3-space indent. =/ - supp_str = ("{\n" - " http://crbug.com/1234\n" - " Memcheck:Leak\n" - " ...\n" - " fun:foo\n" - "}\n") - assert str(supp) == supp_str, ( - "str(supp) != supp_str:\nleft: %s\nright: %s" % (str(supp), supp_str)) - - # Test DrMemorySuppression.__str__. - supp = DrMemorySuppression( - "http://crbug.com/1234", "LEAK", None, ["...", "*!foo"], "supp.txt:1") - supp_str = ("LEAK\n" - "name=http://crbug.com/1234\n" - "...\n" - "*!foo\n") - assert str(supp) == supp_str, ( - "str(supp) != supp_str:\nleft: %s\nright: %s" % (str(supp), supp_str)) - - supp = DrMemorySuppression( - "http://crbug.com/1234", "UNINITIALIZED READ", "test 0x08(%eax) $0x01", - ["ntdll.dll!*", "*!foo"], "supp.txt:1") - supp_str = ("UNINITIALIZED READ\n" - "name=http://crbug.com/1234\n" - "instruction=test 0x08(%eax) $0x01\n" - "ntdll.dll!*\n" - "*!foo\n") - assert str(supp) == supp_str, ( - "str(supp) != supp_str:\nleft: %s\nright: %s" % (str(supp), supp_str)) - - -if __name__ == '__main__': - SelfTest() - print 'PASS' diff --git a/tools/valgrind/test_suppressions.py b/tools/valgrind/test_suppressions.py deleted file mode 100755 index d4aaf354ec4226..00000000000000 --- a/tools/valgrind/test_suppressions.py +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import argparse -from collections import defaultdict -import json -import os -import re -import subprocess -import sys - -import suppressions - - -def ReadReportsFromFile(filename): - """ Returns a list of (report_hash, report) and the URL of the report on the - waterfall. - """ - input_file = file(filename, 'r') - # reports is a list of (error hash, report) pairs. - reports = [] - in_suppression = False - cur_supp = [] - # This stores the last error hash found while reading the file. - last_hash = "" - for line in input_file: - line = line.strip() - line = line.replace("", "") - line = line.replace("", "") - line = line.replace("<", "<") - line = line.replace(">", ">") - if in_suppression: - if line == "}": - cur_supp += ["}"] - reports += [[last_hash, "\n".join(cur_supp)]] - in_suppression = False - cur_supp = [] - last_hash = "" - else: - cur_supp += [" "*3 + line] - elif line == "{": - in_suppression = True - cur_supp = ["{"] - elif line.find("Suppression (error hash=#") == 0: - last_hash = line[25:41] - # The line at the end of the file is assumed to store the URL of the report. - return reports,line - -def Demangle(names): - """ Demangle a list of C++ symbols, return a list of human-readable symbols. - """ - # -n is not the default on Mac. - args = ['c++filt', '-n'] - pipe = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE) - stdout, _ = pipe.communicate(input='\n'.join(names)) - demangled = stdout.split("\n") - # Each line ends with a newline, so the final entry of the split output - # will always be ''. - assert len(demangled) == len(names) - return demangled - -def GetSymbolsFromReport(report): - """Extract all symbols from a suppression report.""" - symbols = [] - prefix = "fun:" - prefix_len = len(prefix) - for line in report.splitlines(): - index = line.find(prefix) - if index != -1: - symbols.append(line[index + prefix_len:]) - return symbols - -def PrintTopSymbols(symbol_reports, top_count): - """Print the |top_count| symbols with the most occurrences.""" - boring_symbols=['malloc', '_Znw*', 'TestBody'] - sorted_reports = sorted(filter(lambda x:x[0] not in boring_symbols, - symbol_reports.iteritems()), - key=lambda x:len(set(x[1])), reverse=True) - symbols = symbol_reports.keys() - demangled = Demangle(symbols) - assert len(demangled) == len(symbols) - symboltable = dict(zip(symbols, demangled)) - - print "\n" - print "Top %d symbols" % top_count - for (symbol, suppressions) in sorted_reports[:top_count]: - print "%4d occurrences : %s" % (len(set(suppressions)), symboltable[symbol]) - -def ReadHashExclusions(exclusions): - input_file = file(exclusions, 'r') - contents = json.load(input_file) - return contents['hashes'] - - -def main(argv): - supp = suppressions.GetSuppressions() - - # all_reports is a map {report: list of urls containing this report} - all_reports = defaultdict(list) - report_hashes = {} - symbol_reports = defaultdict(list) - - # Create argument parser. - parser = argparse.ArgumentParser() - parser.add_argument('--top-symbols', type=int, default=0, - help='Print a list of the top symbols') - parser.add_argument('--symbol-filter', action='append', - help='Filter out all suppressions not containing the specified symbol(s). ' - 'Matches against the mangled names.') - parser.add_argument('--exclude-symbol', action='append', - help='Filter out all suppressions containing the specified symbol(s). ' - 'Matches against the mangled names.') - parser.add_argument('--exclude-hashes', action='append', - help='Specify a .json file with a list of hashes to exclude.') - - parser.add_argument('reports', metavar='report file', nargs='+', - help='List of report files') - args = parser.parse_args(argv) - - # exclude_hashes is a list of strings, each string an error hash. - exclude_hashes = [] - - exclude_hashes = [] - if args.exclude_hashes: - for excl in args.exclude_hashes: - print "reading exclusion", excl - exclude_hashes += ReadHashExclusions(excl) - - for f in args.reports: - f_reports, url = ReadReportsFromFile(f) - for (hash, report) in f_reports: - if hash in exclude_hashes: - continue - all_reports[report] += [url] - report_hashes[report] = hash - - reports_count = 0 - for r in all_reports: - cur_supp = supp['common_suppressions'] - if all([re.search("%20Mac%20|mac_valgrind", url) - for url in all_reports[r]]): - # Include mac suppressions if the report is only present on Mac - cur_supp += supp['mac_suppressions'] - elif all([re.search("Linux%20", url) for url in all_reports[r]]): - cur_supp += supp['linux_suppressions'] - - # Test if this report is already suppressed - skip = False - for s in cur_supp: - if s.Match(r.split("\n")): - skip = True - break - - # Skip reports if none of the symbols are in the report. - if args.symbol_filter and all(not s in r for s in args.symbol_filter): - skip = True - if args.exclude_symbol and any(s in r for s in args.exclude_symbol): - skip = True - - if not skip: - reports_count += 1 - print "===================================" - print "This report observed at" - for url in all_reports[r]: - print " %s" % url - print "didn't match any suppressions:" - print "Suppression (error hash=#%s#):" % (report_hashes[r]) - print r - print "===================================" - - if args.top_symbols > 0: - symbols = GetSymbolsFromReport(r) - for symbol in symbols: - symbol_reports[symbol].append(report_hashes[r]) - - if reports_count > 0: - print ("%d unique reports don't match any of the suppressions" % - reports_count) - if args.top_symbols > 0: - PrintTopSymbols(symbol_reports, args.top_symbols) - - else: - print "Congratulations! All reports are suppressed!" - # TODO(timurrrr): also make sure none of the old suppressions - # were narrowed too much. - - -if __name__ == "__main__": - main(sys.argv[1:]) diff --git a/tools/valgrind/unused_suppressions.py b/tools/valgrind/unused_suppressions.py deleted file mode 100755 index 0f336f136d09e9..00000000000000 --- a/tools/valgrind/unused_suppressions.py +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import sys -import urllib2 - -import suppressions - - -def main(): - supp = suppressions.GetSuppressions() - - all_supps = [] - for supps in supp.values(): - all_supps += [s.description for s in supps] - sys.stdout.write(urllib2.urlopen( - 'http://chromium-build-logs.appspot.com/unused_suppressions', - '\n'.join(all_supps)).read()) - return 0 - -if __name__ == "__main__": - sys.exit(main()) diff --git a/tools/valgrind/waterfall.sh b/tools/valgrind/waterfall.sh deleted file mode 100755 index 51c5b2837d0058..00000000000000 --- a/tools/valgrind/waterfall.sh +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# This script can be used by waterfall sheriffs to fetch the status -# of Valgrind bots on the memory waterfall and test if their local -# suppressions match the reports on the waterfall. - -set -e - -THISDIR=$(dirname "${0}") -LOGS_DIR=$THISDIR/waterfall.tmp -WATERFALL_PAGE="https://build.chromium.org/p/chromium.memory/builders" -WATERFALL_FULL_PAGE="https://build.chromium.org/p/chromium.memory.full/builders" - -download() { - # Download a file. - # $1 = URL to download - # $2 = Path to the output file - # {{{1 - if [ "$(which curl)" != "" ] - then - if ! curl -s -o "$2" "$1" - then - echo - echo "Failed to download '$1'... aborting" - exit 1 - fi - elif [ "$(which wget)" != "" ] - then - if ! wget "$1" -O "$2" -q - then - echo - echo "Failed to download '$1'... aborting" - exit 1 - fi - else - echo "Need either curl or wget to download stuff... aborting" - exit 1 - fi - # }}} -} - -fetch_logs() { - # Fetch Valgrind logs from the waterfall {{{1 - - # TODO(timurrrr,maruel): use JSON, see - # http://build.chromium.org/p/chromium.memory/json/help - - rm -rf "$LOGS_DIR" # Delete old logs - mkdir "$LOGS_DIR" - - URL=$1 - LAYOUT_ONLY=0 - if [ $# != 0 ]; then - shift - if [ "$1" = "layout_only" ]; then - LAYOUT_ONLY=1 - fi - fi - - echo "Fetching the list of builders..." - download "$URL" "$LOGS_DIR/builders" - SLAVES=$(grep " to make it possible - # to find the failed builds. - LIST_OF_BUILDS=$(cat "$LOGS_DIR/slave_$S" | \ - awk 'BEGIN { buf = "" } - { - if ($0 ~ /<\/td>/) { buf = (buf $0); } - else { - if (buf) { print buf; buf="" } - print $0 - } - } - END {if (buf) print buf}' | \ - grep "success\|failure" | \ - head -n $NUMBUILDS | \ - grep "failure" | \ - grep -v "failed compile" | \ - sed "s/.*\/builds\///" | sed "s/\".*//") - - for BUILD in $LIST_OF_BUILDS - do - # We'll fetch a few tiny URLs now, let's use a temp file. - TMPFILE=$(mktemp -t memory_waterfall.XXXXXX) - download $SLAVE_URL/builds/$BUILD "$TMPFILE" - - REPORT_FILE="$LOGS_DIR/report_${S}_${BUILD}" - rm -f $REPORT_FILE 2>/dev/null || true # make sure it doesn't exist - - REPORT_URLS=$(grep -o "[0-9]\+/steps/memory.*/logs/[0-9A-F]\{16\}" \ - "$TMPFILE" \ - || true) # `true` is to succeed on empty output - FAILED_TESTS=$(grep -o "[0-9]\+/steps/memory.*/logs/[A-Za-z0-9_.]\+" \ - "$TMPFILE" | grep -v "[0-9A-F]\{16\}" \ - | grep -v "stdio" || true) - - for REPORT in $REPORT_URLS - do - download "$SLAVE_URL/builds/$REPORT/text" "$TMPFILE" - echo "" >> "$TMPFILE" # Add a newline at the end - cat "$TMPFILE" | tr -d '\r' >> "$REPORT_FILE" - done - - for FAILURE in $FAILED_TESTS - do - echo -n "FAILED:" >> "$REPORT_FILE" - echo "$FAILURE" | sed -e "s/.*\/logs\///" -e "s/\/.*//" \ - >> "$REPORT_FILE" - done - - rm "$TMPFILE" - echo $SLAVE_URL/builds/$BUILD >> "$REPORT_FILE" - done - echo " DONE" - done - # }}} -} - -match_suppressions() { - PYTHONPATH=$THISDIR/../python/google \ - python "$THISDIR/test_suppressions.py" $@ "$LOGS_DIR/report_"* -} - -match_gtest_excludes() { - for PLATFORM in "Linux" "Chromium%20Mac" "Chromium%20OS" "Windows" - do - echo - echo "Test failures on ${PLATFORM}:" | sed "s/%20/ /" - grep -h -o "^FAILED:.*" -R "$LOGS_DIR"/*${PLATFORM}* | \ - grep -v "FAILS\|FLAKY" | sort | uniq | \ - sed -e "s/^FAILED://" -e "s/^/ /" - # Don't put any operators between "grep | sed" and "RESULT=$PIPESTATUS" - RESULT=$PIPESTATUS - - if [ "$RESULT" == 1 ] - then - echo " None!" - else - echo - echo " Note: we don't check for failures already excluded locally yet" - echo " TODO(timurrrr): don't list tests we've already excluded locally" - fi - done - echo - echo "Note: we don't print FAILS/FLAKY tests and 1200s-timeout failures" -} - -usage() { - cat <