Welcome to the April 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

 *

   Simplified tracking of intermittent bugs
   
<https://docs.google.com/document/d/1kb_DzPll2drojZi8C8q-bwi4nltIjnegAk4yXJ8dZg8/edit#>beta
   period is complete and we didn’t encounter any hiccups. We will
   start rolling it out more rapidly in May.

 *

   Win32k Lockdown is running as an experiment on release and will be
   gradually rolled out during the Firefox 100 cycle (for Windows 10
   Fall Creators Update & later).

     o

       In parallel, the Windows Spotlight work has kicked off and we
       started landing quality improvements and bug fixes for
       long-standing annoyances.

 *

   pdf.js is now using OffscreenCanvas for improved performance and
   memory use.

 *

   We now have Glean probes reporting CPU use. These new sources of
   data will help prioritize efforts to reduce Firefox power consumption.

     o

       On all channels we have a breakdown of the CPU time used per
       process type
       <https://sql.telemetry.mozilla.org/queries/84163/#211149>, and
       of thread wakeups per process type
       <https://sql.telemetry.mozilla.org/queries/85033/?fullscreen#211148>.

     o

       On Nightly we additionally have a breakdown of the CPU time per
       thread name
       <https://sql.telemetry.mozilla.org/queries/85520?fullscreen#211784>and
       thread wakeups per thread name
       <https://sql.telemetry.mozilla.org/queries/85517?fullscreen#211776>.

 *

   Engineering Effectiveness is hiring! If you know of anyone who could
   be interested in working on CI and Automation
   <https://www.mozilla.org/careers/position/gh/4082536/>or on Windows
   Integration, consider referring them for a bonus!


   Contributors

 *

   Devon Burriss (dburriss)

 *

   manisha27


   Detailed Project Updates


     Bugzilla and Bugbug

 *

   Marco and Suhaib implemented an improvement to autonag that enables
   prioritizing and limiting the number of actions created by autonag
   to reduce noise.

 *

   Suhaib implemented an autonag script to automatically confirm bugs
   that have an affected Firefox version flag
   <https://github.com/mozilla/relman-auto-nag/pull/1405>.

 *

   Suhaib implemented an autonag script to confirm bugs with crash
   signatures <https://github.com/mozilla/relman-auto-nag/pull/1397>.

 *

   Suhaib implemented an autonag script to ask follow-up patches to be
   attached to newbugs by commenting on bugs that receive patches after
   being closed <https://github.com/mozilla/relman-auto-nag/pull/1372>.


     Build System and Mach Environment

 *

   Mitch removed the Python 3.6 + Linux restriction from “./mach vendor
   python” <https://bugzilla.mozilla.org/show_bug.cgi?id=1659593>: any
   environment can now vendor Python code.

 *

   Mitch untangled Mach usage in CI to no longer use the
   system-installed Python packages by default
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1755516>. This enables
   updating packages such as pylint/pytest/etc without encountering
   conflicts in esoteric CI tasks.

 *

   Mitch added integration tests to ensure that virtualenv activation
   remains consistent
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1763244>between the
   main “./mach <command>” process and subprocesses.

 *

   Builds were switched to clang 14 and rustc 1.60
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1758780>.

 *

   Windows builds now have most of the same warnings enabled
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1762484>as builds for
   other platforms.


     CI and Treeherder

 *

   Fission by default
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1750399>is almost 100%
   complete, all tasks are now either [-fis, -nofis, 1proc].

 *

   New Android phones
   
<https://docs.google.com/document/d/1JqEu-pZgFv_RKz9-x9QIYczUgpoqDhF8JNzTvakAOuk/edit#>for
   performance are live, s/Moto G5/Samsung A51/.

 *

   Simplified tracking of intermittent bugs
   
<https://docs.google.com/document/d/1kb_DzPll2drojZi8C8q-bwi4nltIjnegAk4yXJ8dZg8/edit#>beta
   period is complete, will start rolling out more rapidly in May.

 *

   ahal migrated Taskgraph to GitHub
   <https://github.com/taskcluster/taskgraph>, and also enabled code
   coverage <https://app.codecov.io/gh/taskcluster/taskgraph>.

 *

   Eva wrote a script to compare
   <https://github.com/mozilla/mozci/pull/694>different mozci
   algorithms for autoclassification.


     Crash Management

 *

   Gabriele improved the reliability of crash generation by fixing a
   long-standing race
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1764608>and deadlock
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1740078>.

 *

   Ray further improved the reliability of crash generation by reducing
   the chance of hitting stack overflows when generating crash reports
   on Windows <https://bugzilla.mozilla.org/show_bug.cgi?id=1758654>.

 *

   Gabriele added a crash annotation that describes how the user
   submitted a crash
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1702509>.

 *

   Gabriele imported Sentry changes to dump_syms that will improve
   stack unwinding in 32-bit x86 crashes
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1764545>.


     Fuzzing and Sanitizers

 *

   Tyson and Jesse are scaling up fuzzing on Android. Fuzzers are
   targeting geckoview_example via Grizzly.

 *

   Automatic platform specific test case reduction via Grizzly is up
   and running.

 *

   Implemented a TC hook
   <https://github.com/MozillaSecurity/prefpicker-monitor>for
   monitoring fuzzing prefs that are blocked by open bugs.

 *

   Reduced WebGL value generation failures by >50% which have a
   significant impact on coverage depth.

 *

   In an effort to support Thunderbird’s security and stability, we
   have helped them to get something like the ASan Nightly Project to
   work with Thunderbird
   
<https://thunderbird.topicbox.com/groups/developers/T6412b916d118a98c/asan-reporter-support-in-thunderbird>.


     Lint, Static Analysis and Code Coverage

 *

   Devon Burriss (dburriss) implemented additional
   <https://github.com/mozilla/rust-code-analysis/pull/823>Java metrics
   <https://github.com/mozilla/rust-code-analysis/pull/822>in
   rust-code-analysis


     OS Integration and Security

 *

   We shipped X11 connection removal to release in Firefox 99, closing
   a sandboxing escape on older distros.

 *

   Win32k Lockdown is running as an experiment on release and will be
   gradually rolled out during the Firefox 100 cycle (for Windows 10
   Fall Creators Update & later).

 *

   The Windows Spotlight work has kicked off and we started landing
   quality improvements and bugfixes for long-standing annoyances.

 *

   Utility Process work has progressed to a point where audio decoding
   can be enabled by flipping the prefs in Nightly:
   media.utility-process.enabled.

 *

   We now hide your cursor
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1759558>on Windows
   when you start typing.  This can be toggled with
   widget.windows.hide_cursor_when_typing.


     PDF.js

 *

   Calixte implemented usage of OffscreenCanvas in the pdf.js main
   thread and in the worker

     o

       It helps drawing some images in the worker instead of the main
       thread

     o

       Overall improving performance and memory use

 *

   Calixte added a cache for mask images. The pdf from bug 857031
   <https://bugzilla.mozilla.org/show_bug.cgi?id=857031>is drawing way
   faster now.


     Power use

 *

   We now have Glean probes reporting CPU use. These new sources of
   data will help prioritize efforts to reduce Firefox power consumption.

     o

       On all channels we have a breakdown of the CPU time used per
       process type
       <https://sql.telemetry.mozilla.org/queries/84163/#211149>, and
       of thread wakeups per process type
       <https://sql.telemetry.mozilla.org/queries/85033/?fullscreen#211148>.

     o

       On Nightly we additionally have a breakdown of the CPU time per
       thread name
       <https://sql.telemetry.mozilla.org/queries/85520?fullscreen#211784>and
       thread wakeups per thread name
       <https://sql.telemetry.mozilla.org/queries/85517?fullscreen#211776>.

 *

   “Fun” fact: while working on this new data, it became apparent that
   some process type labels were transmitted incorrectly
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1762568>, with only 1
   bit of difference with correct labels. This inspired a This Week in
   Glean blog post: What Flips Your Bit?
   
<https://blog.mozilla.org/data/2022/04/13/this-week-in-glean-what-flips-your-bit/>.


     Release Engineering and Management

 *

   Gabriel added debsign support to the taskcluster signing worker.
   Signing tasks can now sign debian packages using autograph.


     Other

 *

   manisha27 has improved the Firefox Contributors’ Quick Reference
   
<https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html>to
   leverage the bootstrap script.


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/27664c18-8772-761e-542e-4055a7c40c3c%40mozilla.com.

Reply via email to