The old mach used `--no-interactive` flag at a different place.
|14 hours ago|
|chromium||1 day ago|
|deprecated-webkit-mac-10.14||4 weeks ago|
|ffmpeg||4 weeks ago|
|firefox||4 days ago|
|firefox-stable||14 hours ago|
|webkit||1 day ago|
|winldd||4 weeks ago|
|README.md||4 weeks ago|
|check_cdn.sh||4 weeks ago|
|checkout_build_archive_upload.sh||14 hours ago|
|export.sh||14 hours ago|
|prepare_checkout.sh||14 hours ago|
|sanitize_and_compress_log.js||12 months ago|
|send_telegram_message.sh||2 months ago|
|upload.sh||12 months ago|
Firefox and WebKit have additional patches atop to expose necessary capabilities.
Ideally, all these changes should be upstreamed. For the time being, it is possible to setup a browser checkout and develop from there.
playwright repo, run the following command:
$ ./browser_patches/prepare_checkout.sh firefox <path to checkout>
(you can optionally pass "webkit" for a webkit checkout)
If you don't have a checkout, don't pass a path and one will be created for you in
NOTE: this command downloads GBs of data.
This command will:
browser_upstreamremote in the checkout
playwright-buildbranch and apply all playwright-required patches to it.
You want to create a new branch off the
Assuming that you're under
$ git checkout -b my-new-feature playwright-build $ # develop my feature on the my-new-feature branch ....
Once you're happy with the work you did in the browser-land, you want to export it to the
Assuming that you're in the root of the
playwright repo and that your browser checkout has your feature branch checked out:
$ ./browser_patches/export.sh firefox <path to checkout>
This script will:
If you omit the path to your checkout, the script will assume one is located at
Send a PR to the Playwright repo to be reviewed.
Once the patch has been committed, the build bots will kick in, compile and upload a new browser version to all the platforms. Then you can roll the browser:
$ node utils/roll_browser.js chromium 123456
#define MOZ_DEMANGLE_SYMBOLS 1
In native code use
If the stack trace is still mangled
cat it to
Upstream documentation: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging
Module name is a string passed to the
mozilla::LazyLogModule of the corresponding component, e.g.:
#if !defined(NDEBUG) with
mkdir -p /tmp/coredumps sudo bash -c 'echo "/tmp/coredumps/core-pid_%p.dump" > /proc/sys/kernel/core_pattern' ulimit -c unlimited
Then to read stack traces run the following command:
# To find out crashing process name file core-pid_29652.dump # Point gdb to the local binary of the crashed process and the core file gdb $HOME/.cache/ms-playwright/webkit-1292/minibrowser-gtk/WebKitWebProcess core-pid_29652 # Inside gdb update .so library search path to the local one set solib-search-path /home/yurys/.cache/ms-playwright/webkit-1292/minibrowser-gtk # Finally print backtrace bt