Backed out 2 changesets (bug 1818364) for causing browsertime failures in minidump-stackwalk. CLOSED TREE

Backed out changeset 765c496e216c (bug 1818364)
Backed out changeset 71620bc8f387 (bug 1818364)
This commit is contained in:
Sandor Molnar 2023-04-12 04:33:06 +03:00
Родитель b2cbc79dc7
Коммит cbe27cef81
19 изменённых файлов: 50 добавлений и 787 удалений

Просмотреть файл

@ -46,7 +46,6 @@ treeherder:
'Btime-fenix': 'Browsertime performance tests on Fenix' 'Btime-fenix': 'Browsertime performance tests on Fenix'
'Btime-refbrow': 'Browsertime performance tests on the reference browser' 'Btime-refbrow': 'Browsertime performance tests on the reference browser'
'Btime-Saf': 'Browsertime performance tests on Safari' 'Btime-Saf': 'Browsertime performance tests on Safari'
'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release'
'Fetch': 'Fetch and store content' 'Fetch': 'Fetch and store content'
'Fxfn': 'Firefox functional tests' 'Fxfn': 'Firefox functional tests'
'Fxfn-nofis': 'Firefox functional tests without fission enabled' 'Fxfn-nofis': 'Firefox functional tests without fission enabled'

Просмотреть файл

@ -101,10 +101,6 @@ jobs:
custom-v8: custom-v8:
symbol: I(custom-v8) symbol: I(custom-v8)
parent: debian11-base parent: debian11-base
# Chromium-as-Release
custom-car-linux:
symbol: I(custom-car-linux)
parent: debian11-base
valgrind-build: valgrind-build:
symbol: I(vb) symbol: I(vb)
parent: debian11-amd64-build parent: debian11-amd64-build

Просмотреть файл

@ -20,8 +20,6 @@ job-defaults:
- .*shippable.* - .*shippable.*
safari: safari:
- .*macos.*shippable.* - .*macos.*shippable.*
custom-car:
- linux.*shippable.*
default: [] default: []
test-manifest-loader: null # don't load tests in the taskgraph test-manifest-loader: null # don't load tests in the taskgraph
tier: 3 tier: 3
@ -38,21 +36,6 @@ job-defaults:
- raptor/linux_config.py - raptor/linux_config.py
extra-options: extra-options:
- --conditioned-profile=settled - --conditioned-profile=settled
fetches:
toolchain:
by-app:
custom-car:
by-test-platform:
# this satisfied taskgraph for now, but once mac/win is implemented
# then linux will be the default
linux.*:
- linux64-custom-car
- linux64-minidump-stackwalk
- linux64-fix-stacks
default: []
default:
- linux64-minidump-stackwalk
- linux64-fix-stacks
browsertime-tp6: browsertime-tp6:
<<: &tp6-defaults <<: &tp6-defaults
@ -193,7 +176,7 @@ browsertime-tp6-essential:
- --extra-profiler-run - --extra-profiler-run
- --extra-summary-methods=geomean - --extra-summary-methods=geomean
raptor: raptor:
apps: [firefox, chrome, chromium, custom-car] apps: [firefox, chrome, chromium]
test: tp6 test: tp6
run-visual-metrics: true run-visual-metrics: true
subtests: subtests:
@ -265,7 +248,7 @@ browsertime-tp6-bytecode:
browsertime-benchmark: browsertime-benchmark:
description: Raptor (browsertime) Benchmark tests description: Raptor (browsertime) Benchmark tests
raptor: raptor:
apps: [firefox, chrome, chromium, safari, custom-car] apps: [firefox, chrome, chromium, safari]
subtests: subtests:
by-app: by-app:
firefox: firefox:
@ -295,9 +278,6 @@ browsertime-benchmark:
- [sunspider, ss] - [sunspider, ss]
- [unity-webgl, ugl] - [unity-webgl, ugl]
# - [webaudio, wa] (Bug 1802922) # - [webaudio, wa] (Bug 1802922)
custom-car:
- [speedometer, sp]
- [speedometer3, sp3]
default: default:
- ares6 - ares6
- [assorted-dom, dom] - [assorted-dom, dom]

Просмотреть файл

@ -181,32 +181,6 @@ linux64-custom-v8:
] ]
toolchain-artifact: public/build/d8.tar.zst toolchain-artifact: public/build/d8.tar.zst
linux64-custom-car:
description: "Custom chromium build"
treeherder:
symbol: TL(custom-car)
worker:
docker-image: {in-tree: custom-car-linux}
max-run-time: 16200
run:
script: build-custom-car-linux.sh
arguments: [
car_linux.tar.zst,
is_debug=false,
v8_symbol_level=0,
target_cpu="x64",
enable_nacl=false,
symbol_level=0,
blink_symbol_level=0,
is_component_build=false,
dcheck_always_on=false,
is_chrome_branded=false,
is_official_build=true,
chrome_pgo_phase=2,
enable_resource_allowlist_generation=false
]
toolchain-artifact: public/build/car_linux.tar.zst
browsertime: browsertime:
description: "npm install browsertime node_modules" description: "npm install browsertime node_modules"
treeherder: treeherder:

Просмотреть файл

@ -1,26 +0,0 @@
FROM $DOCKER_IMAGE_PARENT
MAINTAINER kshampur <kshampur@mozilla.com>
VOLUME /builds/worker/checkouts
VOLUME /builds/worker/workspace
VOLUME /builds/worker/tooltool-cache
ENV XZ_OPT=-T0
RUN apt-get update && \
apt-get install \
bzip2 \
curl \
libbz2-dev \
libglib2.0-dev \
libtinfo5 \
pkg-config \
tar \
unzip \
wget \
zip \
lsb-release \
sudo
RUN adduser worker sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

Просмотреть файл

@ -378,7 +378,7 @@ def setup_browsertime(config, tasks):
# Only add the chromedriver fetches when chrome is running # Only add the chromedriver fetches when chrome is running
for platform in cd_fetches: for platform in cd_fetches:
fs["by-test-platform"][platform].extend(cd_fetches[platform]) fs["by-test-platform"][platform].extend(cd_fetches[platform])
if "--app=chromium" in extra_options or "--app=custom-car" in extra_options: if "--app=chromium" in extra_options:
for platform in chromium_fetches: for platform in chromium_fetches:
fs["by-test-platform"][platform].extend(chromium_fetches[platform]) fs["by-test-platform"][platform].extend(chromium_fetches[platform])

Просмотреть файл

@ -77,7 +77,6 @@ def split_apps(config, tests):
"fenix": "fenix", "fenix": "fenix",
"refbrow": "refbrow", "refbrow": "refbrow",
"safari": "Saf", "safari": "Saf",
"custom-car": "CaR",
} }
for test in tests: for test in tests:

Просмотреть файл

@ -1,68 +0,0 @@
#!/bin/bash
set -x -e -v
# This script is for building a custom version of chromium-as-release on Linux
# First argument must be the artifact name
ARTIFACT_NAME=$(basename $TOOLCHAIN_ARTIFACT)
shift
# Use the rest of the arguments as the build config
CONFIG=$(echo $* | tr -d "'")
mkdir custom_car
cd custom_car
CUSTOM_CAR_DIR=$PWD
# Setup depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:$CUSTOM_CAR_DIR/depot_tools
# Get chromium source code and dependencies
mkdir chromium
cd chromium
fetch --no-history --nohooks chromium
# setup the .gclient file to ensure pgo profiles are downloaded
# for some reason we need to set --name flag even though it already exists.
# currently the gclient.py file does NOT recognize --custom-var as it's own argument
gclient config --name src "https://chromium.googlesource.com/chromium/src.git" --custom-var="checkout_pgo_profiles=True" --unmanaged
cd src
# need sudo access to run this and get required dependencies for linux
./build/install-build-deps.sh
# now we can run hooks and fetch PGO + everything else
gclient runhooks
# PGO data should be in src/chrome/build/pgo_profiles/
# with a name like "chrome-{OS}-<some unique identifier>"
export PGO_DATA_DIR="$CUSTOM_CAR_DIR/chromium/src/chrome/build/pgo_profiles"
for entry in "$PGO_DATA_DIR"/*
do
if [ -f "$entry" ];then
export PGO_DATA_PATH="$entry"
fi
done
CONFIG=$(echo $CONFIG pgo_data_path='"'$PGO_DATA_PATH'"')
# set up then build chrome
gn gen out/Default --args="$CONFIG"
autoninja -C out/Default chrome # skips test binaries
# Gather binary and related files into a zip, and upload it
cd ..
mkdir chromium
mv src/out/Default chromium
chmod -R +x chromium
tar caf $ARTIFACT_NAME chromium
mkdir -p $UPLOAD_DIR
mv $ARTIFACT_NAME $UPLOAD_DIR

Просмотреть файл

@ -13,8 +13,7 @@
"geckoview", "geckoview",
"refbrow", "refbrow",
"fenix", "fenix",
"safari", "safari"
"custom-car"
], ],
"maxLength": 10, "maxLength": 10,
"type": "string" "type": "string"

Просмотреть файл

@ -195,7 +195,6 @@ class Raptor(
"refbrow", "refbrow",
"fenix", "fenix",
"safari", "safari",
"custom-car",
], ],
"dest": "app", "dest": "app",
"help": "Name of the application we are testing (default: firefox).", "help": "Name of the application we are testing (default: firefox).",
@ -833,16 +832,15 @@ class Raptor(
def install_chromium_distribution(self): def install_chromium_distribution(self):
"""Install Google Chromium distribution in production""" """Install Google Chromium distribution in production"""
linux, mac, win = "linux", "mac", "win" linux, mac, win = "linux", "mac", "win"
chrome, chromium, chromium_release = "chrome", "chromium", "custom-car" chrome, chromium = "chrome", "chromium"
available_chromium_dists = [chrome, chromium, chromium_release] available_chromium_dists = [chrome, chromium]
binary_location = { binary_location = {
chromium: { chromium: {
linux: ["chrome-linux", "chrome"], linux: ["chrome-linux", "chrome"],
mac: ["chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium"], mac: ["chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium"],
win: ["chrome-win", "Chrome.exe"], win: ["chrome-win", "Chrome.exe"],
}, },
chromium_release: {linux: ["chromium", "Default", "chrome"]},
} }
if self.app not in available_chromium_dists: if self.app not in available_chromium_dists:

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -135,7 +135,6 @@ class Browsertime(Perftest):
"chrome", "chrome",
"chrome-m", "chrome-m",
"chromium", "chromium",
"custom-car",
): ):
if ( if (
not self.config.get("run_local", None) not self.config.get("run_local", None)
@ -356,7 +355,7 @@ class Browsertime(Perftest):
browsertime_options.extend(pairing) browsertime_options.extend(pairing)
priority1_options = self.browsertime_args priority1_options = self.browsertime_args
if self.config["app"] in ("chrome", "chromium", "chrome-m", "custom-car"): if self.config["app"] in ("chrome", "chromium", "chrome-m"):
priority1_options.extend(self.setup_chrome_args(test)) priority1_options.extend(self.setup_chrome_args(test))
if self.debug_mode: if self.debug_mode:
@ -415,7 +414,6 @@ class Browsertime(Perftest):
"chromium", "chromium",
"chrome-m", "chrome-m",
"chrome", "chrome",
"custom-car",
): ):
priority1_options.extend( priority1_options.extend(
[ [

Просмотреть файл

@ -26,7 +26,6 @@ class BrowsertimeDesktop(PerftestDesktop, Browsertime):
if self.config["app"] in ( if self.config["app"] in (
"chrome", "chrome",
"chromium", "chromium",
"custom-car",
): ):
return args_list + [ return args_list + [
"--browser", "--browser",

Просмотреть файл

@ -8,12 +8,11 @@ import platform
import six import six
from mozlog.commandline import add_logging_group from mozlog.commandline import add_logging_group
(FIREFOX, CHROME, CHROMIUM, SAFARI, CHROMIUM_RELEASE) = DESKTOP_APPS = [ (FIREFOX, CHROME, CHROMIUM, SAFARI) = DESKTOP_APPS = [
"firefox", "firefox",
"chrome", "chrome",
"chromium", "chromium",
"safari", "safari",
"custom-car",
] ]
(GECKOVIEW, REFBROW, FENIX, CHROME_ANDROID) = FIREFOX_ANDROID_APPS = [ (GECKOVIEW, REFBROW, FENIX, CHROME_ANDROID) = FIREFOX_ANDROID_APPS = [
"geckoview", "geckoview",
@ -28,7 +27,6 @@ APPS = {
CHROME: {"long_name": "Google Chrome Desktop"}, CHROME: {"long_name": "Google Chrome Desktop"},
CHROMIUM: {"long_name": "Google Chromium Desktop"}, CHROMIUM: {"long_name": "Google Chromium Desktop"},
SAFARI: {"long_name": "Safari Desktop"}, SAFARI: {"long_name": "Safari Desktop"},
CHROMIUM_RELEASE: {"long_name": "Custom Chromium-as-Release desktop"},
GECKOVIEW: { GECKOVIEW: {
"long_name": "Firefox GeckoView on Android", "long_name": "Firefox GeckoView on Android",
"default_activity": "org.mozilla.geckoview_example.GeckoViewActivity", "default_activity": "org.mozilla.geckoview_example.GeckoViewActivity",

Просмотреть файл

@ -1832,8 +1832,8 @@ class BrowsertimeOutput(PerftestOutput):
if test.get(alert_option, None) is not None: if test.get(alert_option, None) is not None:
suite[schema_name] = int(test[alert_option]) suite[schema_name] = int(test[alert_option])
# Setting shouldAlert to False whenever self.app is either chrome, chrome-m, chromium, chromium-as-release # Setting shouldAlert to False whenever self.app is either chrome, chrome-m, chromium
if self.app in ("chrome", "chrome-m", "chromium", "custom-car"): if self.app in ("chrome", "chrome-m", "chromium"):
suite["shouldAlert"] = False suite["shouldAlert"] = False
# Check if the test has set optional properties # Check if the test has set optional properties
if "alert_change_type" in test and "alertChangeType" not in suite: if "alert_change_type" in test and "alertChangeType" not in suite:
@ -1867,7 +1867,7 @@ class BrowsertimeOutput(PerftestOutput):
% measurement_name % measurement_name
) )
subtest["shouldAlert"] = True subtest["shouldAlert"] = True
if self.app in ("chrome", "chrome-m", "chromium", "custom-car"): if self.app in ("chrome", "chrome-m", "chromium"):
subtest["shouldAlert"] = False subtest["shouldAlert"] = False
else: else:
# Explicitly set `shouldAlert` to False so that the measurement # Explicitly set `shouldAlert` to False so that the measurement

Просмотреть файл

@ -171,7 +171,7 @@ class Perftest(object):
# To differentiate between chrome/firefox failures, we # To differentiate between chrome/firefox failures, we
# set an app variable in the logger which prefixes messages # set an app variable in the logger which prefixes messages
# with the app name # with the app name
if self.config["app"] in ("chrome", "chrome-m", "chromium", "custom-car"): if self.config["app"] in ("chrome", "chrome-m", "chromium"):
LOG.set_app(self.config["app"]) LOG.set_app(self.config["app"])
self.browser_name = None self.browser_name = None
@ -185,9 +185,6 @@ class Perftest(object):
self.device = None self.device = None
self.runtime_error = None self.runtime_error = None
self.profile_class = profile_class or app self.profile_class = profile_class or app
# Use the `chromium` profile class for custom-car
if app in ["custom-car"]:
self.profile_class = "chromium"
self.conditioned_profile_dir = None self.conditioned_profile_dir = None
self.interrupt_handler = interrupt_handler self.interrupt_handler = interrupt_handler
self.results_handler = results_handler_class(**self.config) self.results_handler = results_handler_class(**self.config)
@ -389,7 +386,7 @@ class Perftest(object):
self.profile = None self.profile = None
return return
elif ( elif (
self.config["app"] in ["chrome", "chromium", "chrome-m", "custom-car"] self.config["app"] in ["chrome", "chromium", "chrome-m"]
or self.config.get("conditioned_profile") is None or self.config.get("conditioned_profile") is None
): ):
self.profile = create_profile(self.profile_class) self.profile = create_profile(self.profile_class)

Просмотреть файл

@ -28,7 +28,7 @@ KNOWN_TEST_MODIFIERS = [
"bytecode-cached", "bytecode-cached",
] ]
NON_FIREFOX_OPTS = ("webrender", "bytecode-cached", "fission") NON_FIREFOX_OPTS = ("webrender", "bytecode-cached", "fission")
NON_FIREFOX_BROWSERS = ("chrome", "chromium", "custom-car", "safari") NON_FIREFOX_BROWSERS = ("chrome", "chromium", "safari")
NON_FIREFOX_BROWSERS_MOBILE = ("chrome-m",) NON_FIREFOX_BROWSERS_MOBILE = ("chrome-m",)

Просмотреть файл

@ -6,7 +6,7 @@
[DEFAULT] [DEFAULT]
alert_threshold = 2.0 alert_threshold = 2.0
apps = firefox, chrome, chromium, safari, custom-car apps = firefox, chrome, chromium, safari
gecko_profile_entries = 14000000 gecko_profile_entries = 14000000
gecko_profile_interval = 1 gecko_profile_interval = 1
lower_is_better = false lower_is_better = false

Просмотреть файл

@ -7,7 +7,7 @@
[DEFAULT] [DEFAULT]
alert_on = fcp, loadtime, ContentfulSpeedIndex, PerceptualSpeedIndex, SpeedIndex, FirstVisualChange, LastVisualChange alert_on = fcp, loadtime, ContentfulSpeedIndex, PerceptualSpeedIndex, SpeedIndex, FirstVisualChange, LastVisualChange
alert_threshold = 2.0 alert_threshold = 2.0
apps = firefox, chrome, chromium, safari, custom-car apps = firefox, chrome, chromium, safari
browser_cycles = 25 browser_cycles = 25
gecko_profile_entries = 14000000 gecko_profile_entries = 14000000
gecko_profile_interval = 1 gecko_profile_interval = 1