Merge inbound to mozilla-central. a=merge

This commit is contained in:
Bogdan Tara 2018-07-20 00:49:06 +03:00
commit b6e2939995
338 changed files with 1608 additions and 525 deletions

View File

@ -13,4 +13,6 @@ ac_add_options --enable-coverage
export CFLAGS="--coverage"
export CXXFLAGS="--coverage"
export LDFLAGS="--coverage -L$TOOLTOOL_DIR/gtk3/usr/local/lib"
export LDFLAGS="--coverage -L$topsrcdir/clang/lib/clang/7.0.0/lib/linux/"
export RUSTFLAGS="-Ccodegen-units=1 -Zprofile -Zno-landing-pads"
export LIBS="-lclang_rt.profile-x86_64"

View File

@ -0,0 +1,22 @@
{
"llvm_revision": "336407",
"stages": "3",
"build_libcxx": true,
"build_type": "Release",
"assertions": false,
"llvm_repo": "https://llvm.org/svn/llvm-project/llvm/trunk",
"clang_repo": "https://llvm.org/svn/llvm-project/cfe/trunk",
"lld_repo": "https://llvm.org/svn/llvm-project/lld/trunk",
"compiler_repo": "https://llvm.org/svn/llvm-project/compiler-rt/trunk",
"libcxx_repo": "https://llvm.org/svn/llvm-project/libcxx/trunk",
"libcxxabi_repo": "https://llvm.org/svn/llvm-project/libcxxabi/trunk",
"python_path": "/usr/bin/python2.7",
"gcc_dir": "/builds/worker/workspace/build/src/gcc",
"cc": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"cxx": "/builds/worker/workspace/build/src/gcc/bin/g++",
"as": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"patches": [
"find_symbolizer_linux.patch",
"rename_gcov_flush.patch"
]
}

View File

@ -0,0 +1,14 @@
Index: compiler-rt/lib/profile/GCDAProfiling.c
===================================================================
diff --git a/compiler-rt/lib/profile/GCDAProfiling.c b/compiler-rt/lib/profile/GCDAProfiling.c
--- a/compiler-rt/lib/profile/GCDAProfiling.c (revisione 336380)
+++ b/compiler-rt/lib/profile/GCDAProfiling.c (copia locale)
@@ -555,7 +555,7 @@
fn_list_insert(&flush_fn_list, fn);
}
-void __gcov_flush() {
+void __llvm_gcov_flush() {
struct fn_node* curr = flush_fn_list.head;
while (curr) {

View File

@ -117,6 +117,14 @@ compartment.
: New code, represented by the [`Debugger.Script`][script] instance
<i>script</i>, has been loaded in the scope of the debuggees.
Since each function has its own [`Debugger.Script`][script], separate from
the top-level code or function that encloses it, loading JavaScript code
typically introduces not just a single script, but a tree of scripts
representing the top-level code and any functions it includes. The
`onNewScript` hook reports only the root script of such a tree. If
necessary, the handler function can use the scripts' `getChildScripts`
method to walk the tree and obtain all the newly introduced scripts.
This method's return value is ignored.
<code>onNewPromise(<i>promise</i>)</code>

View File

@ -229,8 +229,10 @@ class ZoneCellIter<TenuredCell> {
if (IsBackgroundFinalized(kind) && zone->arenas.needBackgroundFinalizeWait(kind))
rt->gc.waitBackgroundSweepEnd();
arenaIter.init(zone, kind);
if (!arenaIter.done())
if (!arenaIter.done()) {
cellIter.init(arenaIter.get(), CellIterMayNeedBarrier);
settle();
}
}
public:
@ -264,16 +266,19 @@ class ZoneCellIter<TenuredCell> {
return cellIter.getCell();
}
void next() {
MOZ_ASSERT(!done());
cellIter.next();
if (cellIter.done()) {
MOZ_ASSERT(!arenaIter.done());
void settle() {
while (cellIter.done() && !arenaIter.done()) {
arenaIter.next();
if (!arenaIter.done())
cellIter.reset(arenaIter.get());
}
}
void next() {
MOZ_ASSERT(!done());
cellIter.next();
settle();
}
};
// Iterator over the cells in a Zone, where the GC type (JSString, JSObject) is

View File

@ -970,8 +970,8 @@ linux64-ccov/debug:
tooltool-downloads: public
need-xvfb: true
toolchains:
- linux64-clang
- linux64-rust
- linux64-clang-7
- linux64-rust-nightly
- linux64-gcc
- linux64-sccache

View File

@ -83,6 +83,7 @@ linux64-asan/opt:
build-platform: linux64-asan/opt
test-sets:
- common-tests
- web-platform-tests
# Stylo sequential runs check memory and performance when using a single thread.
linux64-stylo-sequential/opt:

View File

@ -38,6 +38,7 @@ web-platform-tests:
default: built-projects
tier:
by-test-platform:
linux64-asan/opt: 2
linux64-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
default: default
mozharness:
@ -92,6 +93,7 @@ web-platform-tests-reftests:
default: built-projects
tier:
by-test-platform:
linux64-asan/opt: 2
linux64-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
default: default
mozharness:
@ -136,6 +138,7 @@ web-platform-tests-wdspec:
default: built-projects
tier:
by-test-platform:
linux64-asan/opt: 2
linux64-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
default: default

View File

@ -70,6 +70,27 @@ linux64-clang-6:
toolchains:
- linux64-gcc-4.9
linux64-clang-7:
description: "Clang 7 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(clang7)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-xlarge
worker:
max-run-time: 7200
run:
using: toolchain-script
script: build-clang-7-linux.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-pre-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-4.9
linux64-clang-6-macosx-cross:
description: "Clang 6 toolchain build with MacOS Compiler RT libs"
treeherder:
@ -459,7 +480,7 @@ linux64-rust-nightly:
using: toolchain-script
script: repack_rust.py
arguments: [
'--channel', 'nightly-2018-06-20',
'--channel', 'nightly-2018-07-18',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -x -e -v
# This script is for building clang for Linux.
WORKSPACE=$HOME/workspace
HOME_DIR=$WORKSPACE/build
UPLOAD_DIR=$HOME/artifacts
cd $HOME_DIR/src
. taskcluster/scripts/misc/tooltool-download.sh
# gets a bit too verbose here
set +x
cd build/build-clang
# |mach python| sets up a virtualenv for us!
../../mach python ./build-clang.py -c clang-7-pre-linux64.json
set -x
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp clang.tar.* $UPLOAD_DIR

View File

@ -9,5 +9,6 @@ mozleak is a library for extracting memory leaks from leak logs files.
from __future__ import absolute_import
from .leaklog import process_leak_log
from .lsan import LSANLeaks
__all__ = ['process_leak_log']
__all__ = ['process_leak_log', 'LSANLeaks']

View File

@ -0,0 +1,171 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import absolute_import
import re
class LSANLeaks(object):
"""
Parses the log when running an LSAN build, looking for interesting stack frames
in allocation stacks
"""
def __init__(self, logger, scope=None, allowed=None):
self.logger = logger
self.inReport = False
self.fatalError = False
self.symbolizerError = False
self.foundFrames = set()
self.recordMoreFrames = None
self.currStack = None
self.maxNumRecordedFrames = 4
self.summaryData = None
self.scope = scope
self.allowedMatch = None
self.sawError = False
# Don't various allocation-related stack frames, as they do not help much to
# distinguish different leaks.
unescapedSkipList = [
"malloc", "js_malloc", "malloc_", "__interceptor_malloc", "moz_xmalloc",
"calloc", "js_calloc", "calloc_", "__interceptor_calloc", "moz_xcalloc",
"realloc", "js_realloc", "realloc_", "__interceptor_realloc", "moz_xrealloc",
"new",
"js::MallocProvider",
]
self.skipListRegExp = re.compile(
"^" + "|".join([re.escape(f) for f in unescapedSkipList]) + "$")
self.startRegExp = re.compile(
"==\d+==ERROR: LeakSanitizer: detected memory leaks")
self.fatalErrorRegExp = re.compile(
"==\d+==LeakSanitizer has encountered a fatal error.")
self.symbolizerOomRegExp = re.compile(
"LLVMSymbolizer: error reading file: Cannot allocate memory")
self.stackFrameRegExp = re.compile(" #\d+ 0x[0-9a-f]+ in ([^(</]+)")
self.sysLibStackFrameRegExp = re.compile(
" #\d+ 0x[0-9a-f]+ \(([^+]+)\+0x[0-9a-f]+\)")
self.summaryRegexp = re.compile(
"SUMMARY: AddressSanitizer: (\d+) byte\(s\) leaked in (\d+) allocation\(s\).")
self.setAllowed(allowed)
def setAllowed(self, allowedLines):
if not allowedLines:
self.allowedRegexp = None
else:
self.allowedRegexp = re.compile(
"^" + "|".join([re.escape(f) for f in allowedLines]))
def log(self, line):
if re.match(self.startRegExp, line):
self.inReport = True
# Downgrade this from an ERROR
self.sawError = True
return "LeakSanitizer: detected memory leaks"
if re.match(self.fatalErrorRegExp, line):
self.fatalError = True
return line
if re.match(self.symbolizerOomRegExp, line):
self.symbolizerError = True
return line
if not self.inReport:
return line
if line.startswith("Direct leak") or line.startswith("Indirect leak"):
self._finishStack()
self.recordMoreFrames = True
self.currStack = []
return line
summaryData = self.summaryRegexp.match(line)
if summaryData:
assert self.summaryData is None
self._finishStack()
self.inReport = False
self.summaryData = (int(item) for item in summaryData.groups())
# We don't return the line here because we want to control whether the
# leak is seen as an expected failure later
return
if not self.recordMoreFrames:
return line
stackFrame = re.match(self.stackFrameRegExp, line)
if stackFrame:
# Split the frame to remove any return types.
frame = stackFrame.group(1).split()[-1]
if not re.match(self.skipListRegExp, frame):
self._recordFrame(frame)
return line
sysLibStackFrame = re.match(self.sysLibStackFrameRegExp, line)
if sysLibStackFrame:
# System library stack frames will never match the skip list,
# so don't bother checking if they do.
self._recordFrame(sysLibStackFrame.group(1))
# If we don't match either of these, just ignore the frame.
# We'll end up with "unknown stack" if everything is ignored.
return line
def process(self):
failures = 0
if self.summaryData:
allowed = all(allowed for _, allowed in self.foundFrames)
self.logger.lsan_summary(*self.summaryData, allowed=allowed)
self.summaryData = None
if self.fatalError:
self.logger.error("LeakSanitizer | LeakSanitizer has encountered a fatal error.")
failures += 1
if self.symbolizerError:
self.logger.error("LeakSanitizer | LLVMSymbolizer was unable to allocate memory.\n"
"This will cause leaks that "
"should be ignored to instead be reported as an error")
failures += 1
if self.foundFrames:
self.logger.info("LeakSanitizer | To show the "
"addresses of leaked objects add report_objects=1 to LSAN_OPTIONS\n"
"This can be done in testing/mozbase/mozrunner/mozrunner/utils.py")
for frames, allowed in self.foundFrames:
self.logger.lsan_leak(frames, scope=self.scope, allowed_match=allowed)
if not allowed:
failures += 1
if self.sawError and not (self.summaryData or
self.foundFrames or
self.fatalError or
self.symbolizerError):
self.logger.error("LeakSanitizer | Memory leaks detected but no leak report generated")
self.sawError = False
return failures
def _finishStack(self):
if self.recordMoreFrames and len(self.currStack) == 0:
self.currStack = {"unknown stack"}
if self.currStack:
self.foundFrames.add((tuple(self.currStack), self.allowedMatch))
self.currStack = None
self.allowedMatch = None
self.recordMoreFrames = False
self.numRecordedFrames = 0
def _recordFrame(self, frame):
if self.allowedMatch is None and self.allowedRegexp is not None:
self.allowedMatch = frame if self.allowedRegexp.match(frame) else None
self.currStack.append(frame)
self.numRecordedFrames += 1
if self.numRecordedFrames >= self.maxNumRecordedFrames:
self.recordMoreFrames = False

View File

@ -224,6 +224,26 @@ class MachFormatter(base.BaseFormatter):
return rv
def lsan_leak(self, data):
allowed = data.get("allowed_match")
if allowed:
prefix = self.term.yellow("FAIL")
else:
prefix = self.term.red("UNEXPECTED-FAIL")
return "%s LeakSanitizer: leak at %s" % (prefix, ", ".join(data["frames"]))
def lsan_summary(self, data):
allowed = data.get("allowed", False)
if allowed:
prefix = self.term.yellow("WARNING")
else:
prefix = self.term.red("ERROR")
return ("%s | LeakSanitizer | "
"SUMMARY: AddressSanitizer: %d byte(s) leaked in %d allocation(s)." %
(prefix, data["bytes"], data["allocations"]))
def test_status(self, data):
test = self._get_test_id(data)
if test not in self.status_buffer:

View File

@ -277,6 +277,21 @@ class TbplFormatter(BaseFormatter):
data['rule'] = data['rule'] or data['linter'] or ""
return fmt.append(fmt.format(**data))
def lsan_leak(self, data):
frames = data.get("frames")
allowed_match = data.get("allowed_match")
frame_list = ", ".join(frames)
prefix = "TEST-UNEXPECTED-FAIL" if not allowed_match else "TEST-FAIL"
suffix = ("" if not allowed_match
else "INFO | LeakSanitizer | Frame %s matched a expected leak\n" % allowed_match)
return "%s | LeakSanitizer | leak at %s\n%s" % (prefix, frame_list, suffix)
def lsan_summary(self, data):
level = "INFO" if data.get("allowed", False) else "ERROR"
return ("%s | LeakSanitizer | "
"SUMMARY: AddressSanitizer: %d byte(s) leaked in %d allocation(s)." %
(level, data["bytes"], data["allocations"]))
def _format_suite_summary(self, suite, summary):
counts = summary['counts']
logs = summary['unexpected_logs']

View File

@ -59,6 +59,14 @@ class StatusHandler(object):
else:
self.expected_statuses["PASS"] += 1
if action == "lsan_leak":
if not data.get("allowed_match"):
self.unexpected_statuses["FAIL"] += 1
if action == "lsan_summary":
if not data.get("allowed", False):
self.unexpected_statuses["FAIL"] += 1
def summarize(self):
return RunSummary(
dict(self.unexpected_statuses),

View File

@ -245,6 +245,12 @@ class Any(DataType):
return data
class Boolean(DataType):
def convert(self, data):
return bool(data)
class Tuple(ContainerType):
def _format_item_type(self, item_type):

View File

@ -11,7 +11,8 @@ import sys
import time
import traceback
from .logtypes import Unicode, TestId, TestList, Status, SubStatus, Dict, List, Int, Any, Tuple
from .logtypes import (Unicode, TestId, TestList, Status, SubStatus, Dict, List, Int, Any, Tuple,
Boolean)
from .logtypes import log_action, convertor_registry
import six
@ -53,6 +54,18 @@ Allowed actions, and subfields:
min_expected - Minimum expected number of assertions
max_expected - Maximum expected number of assertions
lsan_leak
frames - List of stack frames from the leak report
scope - An identifier for the set of tests run during the browser session
(e.g. a directory name)
allowed_match - A stack frame in the list that matched a rule meaning the
leak is expected
lsan_summary
bytes - Number of bytes leaked
allocations - Number of allocations
allowed - Boolean indicating whether all detected leaks matched allow rules
log
level [CRITICAL | ERROR | WARNING |
INFO | DEBUG] - level of the logging message
@ -464,6 +477,18 @@ class StructuredLogger(object):
"""
self._log_data("assertion_count", data)
@log_action(List(Unicode, "frames"),
Unicode("scope", optional=True, default=None),
Unicode("allowed_match", optional=True, default=None))
def lsan_leak(self, data):
self._log_data("lsan_leak", data)
@log_action(Int("bytes"),
Int("allocations"),
Boolean("allowed", optional=True, default=False))
def lsan_summary(self, data):
self._log_data("lsan_summary", data)
@log_action()
def shutdown(self, data):
"""Shutdown the logger.

View File

@ -13,6 +13,8 @@ from datetime import datetime, timedelta
# load modules from parent dir
sys.path.insert(1, os.path.dirname(sys.path[0]))
import mozinfo
from mozharness.base.errors import BaseErrorList
from mozharness.base.script import PreScriptAction
from mozharness.base.vcs.vcsbase import MercurialScript
@ -181,6 +183,8 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin):
self.fatal("Could not create blobber upload directory")
# Exit
mozinfo.find_and_update_from_json(dirs['abs_test_install_dir'])
cmd += ["--log-raw=-",
"--log-raw=%s" % os.path.join(dirs["abs_blob_upload_dir"],
"wpt_raw.log"),
@ -192,7 +196,7 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin):
"--symbols-path=%s" % self.query_symbols_url(),
"--stackwalk-binary=%s" % self.query_minidump_stackwalk(),
"--stackfix-dir=%s" % os.path.join(dirs["abs_test_install_dir"], "bin"),
"--run-by-dir=3",
"--run-by-dir=%i" % (3 if not mozinfo.info["asan"] else 0),
"--no-pause-after-test"]
if not sys.platform.startswith("linux"):

View File

@ -0,0 +1 @@
lsan-allowed: [Init, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, PORT_Alloc_Util, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, AllocateProtoAndIfaceCache, EntrySlotOrCreate, Init, MakeNotNull, MakeUnique, Malloc, NS_NewCStringInputStream, NewEmptyScopeData, NewPage, ProtoAndIfaceCache, _GetAddrInfo_Portable, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::BackgroundHangThread::ReportHang, mozilla::NonBlockingAsyncInputStream::AsyncWait, mozilla::NonBlockingAsyncInputStream::Create, mozilla::dom::Blob::Constructor, mozilla::dom::Blob::Create, mozilla::dom::FileReader::Constructor, mozilla::dom::StringBlobImpl::Create, mozilla::dom::WorkerPrivate::GetOrCreateGlobalScope, mozilla::dom::WorkerPrivate::WorkerPrivate, mozilla::dom::WorkerThread::Create, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost, nsThread::nsThread]

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, NewEmptyScopeData, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::dom::ChromeUtils::GenerateQI, mozilla::dom::Performance::CreateForMainThread]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [PORT_Alloc_Util]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost, js_pod_malloc, js_pod_calloc, js_pod_realloc, js_arena_calloc,js_pod_arena_calloc, maybe_pod_calloc, pod_calloc, make_zeroed_pod_array, js_arena_malloc]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1,2 +1,2 @@
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1450635
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1450635

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1,3 +1,3 @@
[mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html]
expected:
expected:
if os == "linux" and not webrender: FAIL

View File

@ -1,3 +1,3 @@
[mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html]
expected:
expected:
if os == "linux" and not webrender: FAIL

View File

@ -1,3 +1,3 @@
[mix-blend-mode-parent-with-border-radius.html]
expected:
expected:
if os == "linux" and not webrender: FAIL

View File

@ -1,3 +0,0 @@
[border-image-018.xht]
expected:
if debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1 +0,0 @@
prefs: [dom.webcomponents.shadowdom.enabled:true]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1,2 +1 @@
prefs: [dom.animations-api.core.enabled:true,
layout.css.frames-timing.enabled:true]
prefs: [dom.animations-api.core.enabled:true, layout.css.frames-timing.enabled:true]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1,2 +1 @@
prefs: [dom.webcomponents.shadowdom.enabled:true]

View File

@ -1 +0,0 @@
prefs: [dom.webcomponents.shadowdom.enabled:true]

View File

@ -0,0 +1 @@
lsan-allowed: [EntrySlotOrCreate, Malloc, NewEmptyScopeData, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::BackgroundHangThread::ReportHang]

View File

@ -0,0 +1 @@
lsan-allowed: [EntrySlotOrCreate, Malloc, NewEmptyScopeData, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::BackgroundHangThread::ReportHang]

View File

@ -1 +1 @@
prefs: [privacy.reduceTimerPrecision:false]
prefs: [privacy.reduceTimerPrecision:false]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, MakeUnique, Malloc, NewPage, Realloc, mozilla::EMEDecryptor::EMEDecryptor, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::MediaKeys::CreateCDMProxy, mozilla::dom::nsIContentChild::GetConstructedEventTarget]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1,2 +1,2 @@
prefs: [javascript.options.streams:true,
dom.streams.enabled:true]
prefs: [javascript.options.streams:true, dom.streams.enabled:true]
lsan-allowed: [Alloc, AllocateProtoAndIfaceCache, NewEmptyScopeData, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::dom::ChromeUtils::GenerateQI, mozilla::dom::DOMException::Create, mozilla::dom::FetchStream::Create, mozilla::dom::Performance::CreateForMainThread]

View File

@ -1,2 +1,2 @@
prefs: [javascript.options.streams:true,
dom.streams.enabled:true]
prefs: [javascript.options.streams:true, dom.streams.enabled:true]
lsan-allowed: [mozilla::dom::FetchStream::Create, mozilla::dom::WorkerPrivate::WorkerPrivate, nsSegmentedBuffer::AppendNewSegment]

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, NewEmptyScopeData, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::dom::ChromeUtils::GenerateQI, mozilla::dom::Performance::CreateForMainThread]

View File

@ -1,2 +1 @@
prefs: [javascript.options.streams:true,
dom.streams.enabled:true]
prefs: [javascript.options.streams:true, dom.streams.enabled:true]

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, Create, CreateInner, FetchDriverObserver, Malloc, NewPage, PLDHashTable::Add, Realloc, allocate, mozilla::ThrottledEventQueue::Create, mozilla::dom::InternalRequest::GetRequestConstructorCopy, mozilla::dom::PerformanceStorageWorker::Create, mozilla::dom::PromiseWorkerProxy::Create, mozilla::dom::WorkerFetchResolver::Create, mozilla::dom::WorkerLoadInfo::InterfaceRequestor::InterfaceRequestor, nsSegmentedBuffer::AppendNewSegment, nsSupportsWeakReference::GetWeakReference]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -1 +1 @@
prefs: [privacy.reduceTimerPrecision:false]
prefs: [privacy.reduceTimerPrecision:false]

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [Init, _GetAddrInfo_Portable, mozilla::net::AddrInfo::AddrInfo, nsHostResolver::ResolveHost]

View File

@ -1 +1 @@
max-asserts: 3
max-asserts: 3

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, XPCWrappedNative::GetNewOrUsed, js_new, mozilla::BasePrincipal::CreateCodebasePrincipal, mozilla::dom::ChromeUtils::GenerateQI, nsStringBuffer::Alloc]

View File

@ -0,0 +1 @@
lsan-allowed: [Alloc, NewEmptyScopeData, js_new, js_pod_calloc, js_pod_malloc, js_pod_realloc, mozilla::dom::ChromeUtils::GenerateQI, mozilla::dom::Performance::CreateForMainThread]

View File

@ -1 +1 @@
max-asserts: 2
max-asserts: 2

View File

@ -0,0 +1 @@
lsan-allowed: []

View File

@ -0,0 +1 @@
lsan-allowed: [Init, nsHostResolver::ResolveHost]

View File

@ -0,0 +1 @@
lsan-allowed: []

Some files were not shown because too many files have changed in this diff Show More