Welcome to the December 2022 and January 2023 edition of the Engineering Effectiveness Newsletter! The Engineering Effectiveness org makes it easy to develop, test and release Mozilla software at scale. See below for some highlights, then read on for more detailed info! Highlights
- Fenix (nightly) is now able to display PDFs - The LLVM toolchain used to build fx is now linked with lld and built with Link Time Optimization (LTO), bringing better performances while decreasing build time - Kris Wright <[email protected]> landed bug 1748378 providing a way to have low power thread pools which will run on low power cores where it is supported. As a start, this is applied to the background IO pool. - Serge Guelton <[email protected]> fixed a 15 years old bug <https://bugzilla.mozilla.org/show_bug.cgi?id=426177> - uploading a file on Linux without read permissions wasn’t failing - Some folks wrote an article in French about it: https://www.android-mt.com/news/mozilla-corrige-un-bug-de-firefox-15-ans-apres-son-signalement/144932/ - Contributors - Olivier Giorgis (ogiorgis) - Carine Dengler Detailed Project UpdatesBugzilla and Bugbug - Webhook improvements including new API endpoint to list your current webhooks and status. - Github push commits will soon create comments in related bug reports and even close a bug. - Suhaib implemented several improvements to make autonag more accurate in detecting inactive users: PR1809 <https://github.com/mozilla/relman-auto-nag/pull/1809>, PR1810 <https://github.com/mozilla/relman-auto-nag/pull/1810> and PR1842 <https://github.com/mozilla/relman-auto-nag/pull/1842> Build System and Mach Environment - Mach bootstrap has now its own testsuite on various Distro 1245969 - Automated testing for `mach bootstrap` <https://bugzilla.mozilla.org/show_bug.cgi?id=1245969> - The LLVM toolchain used to build fx is now linked with lld and built with Link Time Optimization (LTO), bringing better performances while decreasing build time: 1799423 - clang should be linked with lld <https://bugzilla.mozilla.org/show_bug.cgi?id=1799423>, 1801268 - Clang should be built with ThinLTO <https://bugzilla.mozilla.org/show_bug.cgi?id=1801268> CI and Treeherder - Serge Guelton <[email protected]> made several perf improvements to Taskgraph task generation: 1805842 - Job transformation relies a lot on expensive deepcopy <https://bugzilla.mozilla.org/show_bug.cgi?id=1805842>1806472 - Avoid redundant calls to fromNow <https://bugzilla.mozilla.org/show_bug.cgi?id=1806472>1803537 - Prune useless deepcopies <https://bugzilla.mozilla.org/show_bug.cgi?id=1803537> - Michelle Goossens <[email protected]> migrated the last remaining tasks from AWS -> GCP! - Joel Maher <[email protected]> migrated pixel2 tests to pixel5 (1 task remains) - Many coordinated to disable win/aarch64 in CI (hands on testing is all that is needed) Crash Management - Alex Franchuk <[email protected]> implemented a minimal crash ping using the Glean backend and work has started to port this to Android as well. Fuzzing and Sanitizers - Ryan VanderMeulen <[email protected]> enabled more test suites running in TSAN mode in CI, filing some new sec bugs along the way: 1805536 - Enable more passing TSAN test suites <https://bugzilla.mozilla.org/show_bug.cgi?id=1805536>1806483 - Enable TSAN cppunittests by default in CI <https://bugzilla.mozilla.org/show_bug.cgi?id=1806483>1807238 - Enable TSAN mochitest-devtools by default in CI <https://bugzilla.mozilla.org/show_bug.cgi?id=1807238> 1806832 - Enable TSAN mochitest-chrome by default in CI <https://bugzilla.mozilla.org/show_bug.cgi?id=1806832> Lint, Static Analysis and Code Coverage - Flake8 formatting is now ignored in favor of black: 1806068 - Redundant format between flake8 and black <https://bugzilla.mozilla.org/show_bug.cgi?id=1806068> - Alex Franchuk improved cargo-vet's precision of third-party package auditing with explicit policies about crate versions. OS Integration and Security - When we investigated the crash spike with Avast from Bug 1794064 <https://bugzilla.mozilla.org/show_bug.cgi?id=1794064>, we discovered that the root cause was a potential sandbox escape vulnerability. It is now officially listed as CVE-2022-4291 <https://nvd.nist.gov/vuln/detail/CVE-2022-4291>, and Norton, who bought Avast recently, credits Mozilla for it in the dedicated security advisory <https://support.norton.com/sp/static/external/tools/security-advisories.html> . - Greg Stoll <[email protected]> blogged about his debugging experience as a new developer at Mozilla: - https://gregstoll.wordpress.com/2023/01/03/how-to-fix-a-mysterious-crash-in-41-easy-steps - Greg Stoll <[email protected]> landed a new feature that lets Windows users block (some) DLLs from being loaded into Firefox processes from the about:third-party <https://support.mozilla.org/en-US/kb/identify-problems-third-party-modules-firefox-windows> page. - Alex Franchuk <[email protected]> implemented several features in rust-minidump that make it easier to diagnose crashes: better detection of CPU microcode versions, improved handling of non-canonical addresses, and bitflip detection for bad hardware. - Chris Martin <[email protected]> and the graphics team decided to let the GPU Sandbox ride the release train now that we have a better understanding of incompatibility issues. - Serge Guelton <[email protected]> and Yannis Juglaret <[email protected]> fixed an LLVM bug that broke crash traces in delay-loaded libraries on Windows. - Jed Davis <[email protected]> fixed a long standing bug that made us unable to get good backtraces for some hangs in CI. - Serge Guelton <[email protected]> fixed a 15 years old bug <https://bugzilla.mozilla.org/show_bug.cgi?id=426177> - uploading a file on Linux without read permissions wasn’t failing - Some folks wrote an article in French about it: https://www.android-mt.com/news/mozilla-corrige-un-bug-de-firefox-15-ans-apres-son-signalement/144932/ PDF.js - Fenix (nightly) is now able to display PDFs - The find-in-page feature is working as in normal web pages - An API to support saving a PDF was added to GeckoView Power use - Kris Wright <[email protected]> landed bug 1748378 providing a way to have low power thread pools which will run on low power cores where it is supported. As a start, this is applied to the background IO pool. - Profiler tooltips on power tracks now show the CO2 equivalent, thanks to Chris Adams <https://github.com/mrchrisadams> and Fershad <https://github.com/fershad> from The Green Web Foundation <https://www.thegreenwebfoundation.org/>. - Session store data is now written no more than once per hour <https://bugzilla.mozilla.org/show_bug.cgi?id=1808729> when the user is inactive. - Some fixes landed that made it possible for Firefox to remain completely idle for more than a minute when the user is inactive: - The user idle service no longer uses a repeating 5s timer <https://bugzilla.mozilla.org/show_bug.cgi?id=1768920>. - Andrew Osmond fixed the gfxFontCache expiration <https://bugzilla.mozilla.org/show_bug.cgi?id=1789693> so that it doesn’t wake-up every 10s. - The compositor is now destroyed immediately when a window is closed <https://bugzilla.mozilla.org/show_bug.cgi?id=1803387>, ensuring compositor animations are stopped even when the window isn’t garbage collected quickly. Phabricator , moz-phab, and Lando - Connor Sheehan <[email protected]> added `mach lint` output to failure emails generated during Lando's autoformatting - Connor Sheehan <[email protected]> fixed issues around moz-phab automatic updates on Windows - Connor Sheehan <[email protected]> released moz-phab 1.3.0 - Moz-Phab 1.3.0 Released - Firefox Tooling Announcements - Mozilla Discourse <https://discourse.mozilla.org/t/moz-phab-1-3-0-released/109787> - Connor Sheehan <[email protected]> released moz-phab 1.4.0 - Moz-Phab 1.4.0 Released - Firefox Tooling Announcements - Mozilla Discourse <https://discourse.mozilla.org/t/moz-phab-1-4-0-released/110286> - Connor Sheehan <[email protected]> improved moz-phab's overall performance when working with large stacks on Phabricator - Connor Sheehan <[email protected]> made `moz-phab reorg` no longer update revision statuses on reorg - Revisions will not have review be re-requested - Abandoned revisions can be removed from the stack Release Engineering and Management - Johan Lorenzo <[email protected]> shot a promotional video <https://www.youtube.com/watch?v=lMpn6dodbic> about the way Firefox for Android uses Mergify. Interview was also published as a post on their blog <https://blog.mergify.com/they-use-mergify-mozilla/>. - Andrew Halberstadt <[email protected]> added support <https://github.com/mozilla-releng/scriptworker-scripts/pull/618> for authenticode ev signing to signingscript - Ben Hearsum <[email protected]> is making plans and filing <https://github.com/taskcluster/taskgraph/issues/184> bugs to simplify Taskcluster usage <https://github.com/taskcluster/taskcluster-rfcs/blob/main/rfcs/0168-Trigger-Tests-Based-on-PR-Comments.md> and onboarding for new projects. - Gabriel Bustamante <[email protected]> is making incremental progress on releasing Mozilla Firefox builds in .deb packages. So far we've got: repackage tasks to create Firefox .debs from Mozilla Linux binaries, a distribution repository to track package uptake and configure the client, and a WIP patch for Google Artifact Registry support in beetmover (firefox-deb-repackage meta-bug <https://bugzilla.mozilla.org/show_bug.cgi?id=firefox-deb-repackage>) - Geoff Brown <[email protected]> and Johan Lorenzo <[email protected]> migrated Focus (Android) to the new Android Monorepo (meta-bug 1797704 <https://bugzilla.mozilla.org/show_bug.cgi?id=1797704>). Next step: Move Fenix. - Johan Lorenzo <[email protected]> optimized the time to get Android builds started (bug 1807237 <https://bugzilla.mozilla.org/show_bug.cgi?id=1807237> and bug 1807237 <https://bugzilla.mozilla.org/show_bug.cgi?id=1807237>). It was a 3-year long issue that took Release Managers’ mental space. The number of scheduled was also reduced to what is actually necessary (bug 1803141 <https://bugzilla.mozilla.org/show_bug.cgi?id=1803141>) - Pascal Chevrel <[email protected]> identified through the Local Firefox project that Spanish built-in dictionaries were missing for some locales even though there was a suitably-licensed dictionary available. As a result, Firefox builds in the Spanish from Spain (es-ES) and Spanish from Argentina (es-AR) locales now come with a built-in dictionary for the Firefox spellchecker! This change will also be shipping in the upcoming ESR 102.8.0 release as well. mozregression - Zeid Zabaneh <[email protected]> investigated and resolved an issue preventing testing Android on Windows (bug 1794416 <https://bugzilla.mozilla.org/show_bug.cgi?id=1794416>). - Thanks to Geoff Brown <[email protected]> for implementing the fix in mozdevice (bug 1808621 <https://bugzilla.mozilla.org/show_bug.cgi?id=1808621>). - Released in 5.3.0 <https://github.com/mozilla/mozregression/releases/tag/5.3.0> - Zeid Zabaneh <[email protected]> added support for universal2 builds for macOS, allowing mozregression to run without Rosetta on arm64 (bug 1810220 <https://bugzilla.mozilla.org/show_bug.cgi?id=1810220>). - Thanks to Jan-Erik Rediger <[email protected]> for adding support for universal2 builds in glean-sdk to help support this release (bug 1810737 <https://bugzilla.mozilla.org/show_bug.cgi?id=1810737>). - Also released in 5.3.0 <https://github.com/mozilla/mozregression/releases/tag/5.3.0>, which included many other quality of life improvements. - Also fixes a mozregression-gui issue on macOS 13 (bug 1802359 <https://bugzilla.mozilla.org/show_bug.cgi?id=1802359>). mots - Zeid Zabaneh <[email protected]> added the ability to run mots via a ./mach mots (bug 1797929 <https://bugzilla.mozilla.org/show_bug.cgi?id=1797929>) - Released in 0.6.0 <https://github.com/mozilla-conduit/mots/releases/tag/0.6.0> - Zeid Zabaneh <[email protected]> added the ability to suppress refreshing existing user info from Bugzilla in mots.yaml, when cleaning/exporting, which is now the default behaviour. This allows people to manually modify info if needed, and it prevents unwanted changes from showing up in revisions (bugs 1782280 <https://bugzilla.mozilla.org/show_bug.cgi?id=1782280>, 1803651 <https://bugzilla.mozilla.org/show_bug.cgi?id=1803651>, 1814237 <https://bugzilla.mozilla.org/show_bug.cgi?id=1814237>) - Released in 0.7.0rc0 <https://github.com/mozilla-conduit/mots/releases/tag/0.7.0rc0> - Rob Lemley <[email protected]> added a wordwrap filter <https://github.com/mozilla-conduit/mots/pull/61> to the export template to make mots.yaml look nicer <https://hg.mozilla.org/integration/autoland/rev/0680810307618fc9a84234cfb14a941e53ff02ee> . Other - Documentation: Olivier Giorgis fixed an old bug (1557020 <https://bugzilla.mozilla.org/show_bug.cgi?id=1557020>). Touching any documentation has removed the TOC and making the link harder; Olivier also removed many warnings in the doc. - Documentation: Carine Dengler added a check to make sure that the number of warnings in the documentation doesn’t increase. Thanks for reading and see you next month! -- You received this message because you are subscribed to the Google Groups "[email protected]" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/CAAq4QWcUi%2BQP%3DtaFG2FfQQh5AAzDJ7NsNy0E%3DkfnAh3sTgusfQ%40mail.gmail.com.
