# Engineering Effectiveness Newsletter (July 2021 Edition)

**URL:** <https://discourse.mozilla.org/t/engineering-effectiveness-newsletter-july-2021-edition/84141>\
**Category:** Firefox Tooling Announcements\
**Created:** [August 5, 2021, 10:05am UTC](https://discourse.mozilla.org/t/engineering-effectiveness-newsletter-july-2021-edition/84141 "2021-08-05T10:05:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![marco1](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/marco1/32/26555_2.png) [@marco1](https://discourse.mozilla.org/u/marco1)\
**Post date:** [August 5, 2021, 10:05am UTC](https://discourse.mozilla.org/t/engineering-effectiveness-newsletter-july-2021-edition/84141/1 "2021-08-05T10:05:07Z")

</div>

Welcome to the July 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 ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/1/7/17394fae1cdb1f675096c37a0a727f69f7d67148.png)

- Saying goodbye to MDN for Firefox developer docs
  - Everything has been migrated to [https://firefox-source-docs.mozilla.org/](https://firefox-source-docs.mozilla.org/), which will host new Firefox-related development doc

- Huge performance improvements in both memory usage and startup time on Linux thanks to [semi-headless support](https://bugzilla.mozilla.org/show_bug.cgi?id=1635451), especially with Fission
- As follow-ups to [last month’s newsletter](https://groups.google.com/a/mozilla.org/g/dev-platform/c/Baptlerb9Ow), more improvements landed around Phabricator for the reporting of warnings (ESLint warnings are now reported too) and to reduce the noise from emails and notifications

## Contributors

- Surajeet Das
- Michelle Goossens (:masterwayz)
- Dominik Nakamura (:dnaka91)

## Detailed Project Updates

### Build System and Mach Environment ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/e/d/eddeb1b56505c356058284d4f5caecf49c6516f4.png)

- [Surajeet removed str/bytes ambiguities from Python environment variables](https://bugzilla.mozilla.org/show_bug.cgi?id=1717651)
- The daily build of Firefox using clang-trunk showed its first fruits detecting the first build crash failure because of a [nightly clang patch](https://reviews.llvm.org/rG04b94c7caee48919d937350c312604d6c39365a4). The issue was fixed in under 2 hours from the [reporting](https://bugzilla.mozilla.org/show_bug.cgi?id=1722649) of the build failure
- mhentges [updated mach so its virtualenv lifecycle is now entirely internally managed](https://bugzilla.mozilla.org/show_bug.cgi?id=1717051) - no more “./mach create-mach-environment”

### CI and Treeherder ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/9/d/9d317110c196afee8bb47a99e30d10b6b4e5361b.png)

- ahal updated taskcluster consumers to Python 3
- Aryx [improved the performance of switching from a multi push view in Treeherder](https://github.com/mozilla/treeherder/pull/7222) to a single push - from up to 40+ seconds to \<1s
- Masterwayz has started migrating windows 10 tests from release 1803 to release 2004
- bhearsum re-enabled some tests on macOS M1 machines

### Crash Management ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/2/7/27d099ae1ce543b6522316d1f7b9ac86fc7df8f5.png)

- Gankra documented and explained [The Apple Compact Unwinding Format](https://gankra.github.io/blah/compact-unwinding/)
- gsvelto modernized the macOS exception handler to properly handle [64-bit crash address](https://bugzilla.mozilla.org/show_bug.cgi?id=1035892)
- gsvelto implemented [recording native thread names](https://bugzilla.mozilla.org/show_bug.cgi?id=1658831) in macOS minidumps
- gsvelto prevented [hangs from being intercepted by WER](https://bugzilla.mozilla.org/show_bug.cgi?id=1718226) as if they were crashes

### Fuzzing and Sanitizers ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/5/f/5feed130ec748e143ff38d93de59d53433ff0371.png)

- Jason Kratzer, with help from Jesse Schwartzentruber and Tyson Smith, improved Bugmon’s ability to detect the proper configuration for reproducing test cases
  - Previously, bugmon required bugs to match very specific criteria
  - Now, Bugmon is capable of iterating over various combinations of build types, environment variables, and test case configurations

- Christian Holler, Jason Kratzer, and Jesse Scwhartzentruber coordinated several Fuzzmanager improvements:
  - Migrated most interfaces to a modern VueJS configuration
  - Significantly improved the process of submitting bugs directly to Bugzilla from within Fuzzmanager
  - Added a notification interface for detecting problematic conditions and notifying the fuzz team of bugs that may require immediate attention

### Lint, Static Analysis and Code Coverage ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/4/3/431d58c2a9dc8e2d1029e609623cceeaf550915a.png)

- Standard8 [made it so ESLint warnings](https://bugzilla.mozilla.org/show_bug.cgi?id=1722691), in addition to errors, are published by reviewbot
  - As a follow-up to the [update](https://groups.google.com/a/mozilla.org/g/dev-platform/c/3VzJ1npxFqQ/m/dAh8Hu6sAAAJ) of reviewbot to show all warnings

- Gijs [landed a ESLint analyzer](https://bugzilla.mozilla.org/show_bug.cgi?id=1708462) to discourage usage of OS.File in favor of the new IOUtils
- Dominik Nakamura [replaced clap with structopt in grcov](https://github.com/mozilla/grcov/pull/648), making CLI options saner to handle and paving the way for a [`cargo grcov` command](https://github.com/mozilla/grcov/issues/326)

### OS Integration and Security ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/5/2/52e9cfd12ea4c265368889bc75c155998bd9603a.png)

- Jed Davis [landed semi-headless support](https://bugzilla.mozilla.org/show_bug.cgi?id=1635451), increasing the number of processes we can run, without being limited by the amount of X11 connections
  - As a consequence, GTK initialization is being skipped, leading to performance improvements such as a 1.5MB per process reduction heap usage as well as 35% faster process startup

- Bob Owen [landed](https://bugzilla.mozilla.org/show_bug.cgi?id=1716024) support to use Intel Control-flow Enforcement Technology in compatible modules only mode on Nightly
  - Crashreporter will already be using this on platforms with this feature
  - Non-content child processes will start to be enabled over the coming weeks, it is already enabled on the socket process

### PDF.js ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/b/4/b417f8214c93ecb8263adfcf6da99e5cf2e6241d.png)

- Brendan Dahl [fixed several PDFs](https://github.com/mozilla/pdf.js/pull/13683) that were missing contents because of incorrect handling of image masks and patterns

### Phabricator ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/4/b/4bdb86a160dfeab439e01f2dfb0f321aaffc01f3.png), moz-phab, and Lando ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/0/8/08666fa44f067d5bc93786df703afe5c4159c9f9.png)

- mhentges ensured that [Phabricator Emails are now properly threaded in email clients](https://bugzilla.mozilla.org/show_bug.cgi?id=1674796), and [integrated the new emails with Phabricator’s notifications](https://bugzilla.mozilla.org/show_bug.cgi?id=1717515) so you aren’t told in-app about things you’ve been emailed

### Release Engineering ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/6/f/6f19f922a5d7110ae3f2d6cec9849c966de14a90.png) and Management ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/e/3/e386d7785492cd243a34743a8cd154569eaefb81.png)

- bhearsum landed support for signing MSIX packages, to support ongoing work to distribute through the Microsoft Store

### Version Control ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/2/1/2129b65c45fbcda2e645b8e00f6cae67e6469547.png)

- zeid, mhentges, and sheehan all worked through [diagnosing and dealing with fallout from a broken Mercurial release](https://bugzilla.mozilla.org/show_bug.cgi?id=1720302)
- sheehan [freed up a ton of disk space on our hg servers](https://bugzilla.mozilla.org/show_bug.cgi?id=1721856) by deleting very old user repositories (73 of which haven’t been touched in 10+ years!)

### Other ![](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/d/f/df510ba64277b1fa13ea1c6d266ee193c0067d9a.png)

- Sylvestre [led the effort](https://bugzilla.mozilla.org/show_bug.cgi?id=1617963) to stop using MDN for Firefox development docs
- Engineering Effectiveness is hiring! If you know of anyone who would be a great fit for any of the following roles, consider referring them for a bonus!
  - [Build Engineer](https://careers.mozilla.org/position/gh/3128257/)
  - [Senior Release Engineer](https://careers.mozilla.org/position/gh/3128256/)
  - [Senior Software Engineer, Windows Integration](https://careers.mozilla.org/position/gh/3128258/)

Thanks for reading and see you next month!
