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.

Reply via email to