0.2% installer size (Windows) regression on Thu August 14 2025
Categories
(Toolkit :: Blocklist Implementation, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr128 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox142 | --- | unaffected |
| firefox143 | --- | affected |
| firefox144 | --- | affected |
People
(Reporter: intermittent-bug-filer, Unassigned)
References
Details
(Keywords: perf-alert, regression)
Perfherder has detected a build_metrics performance regression from push 94cb1c6dab4c061513e92ca083af8df70dc72c2b. As author of one of the patches included in that push, we need your help to address this regression.
Please acknowledge, and begin investigating this alert within 3 business days, or the patch(es) may be backed out in accordance with our regression policy. Our guide to handling regression bugs has information about how you can proceed with this investigation.
If you have any questions or need any help with the investigation, please reach out to bacasandrei@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Regressions:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 0.20% | installer size | windows2012-32-shippable | nightly | 107,298,439.54 -> 107,508,113.17 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
You can run all of these tests on try with ./mach try perf --alert 46304
The following documentation link provides more information about this command.
Comment 1•5 months ago
|
||
Set release status flags based on info from the regressing bug 1981751
Comment 2•5 months ago
|
||
The code modified in bug 1981751 only exists on Linux, so a Windows installer size regression seems unrelated.
Comment 3•5 months ago
|
||
Perf sheriff question, forwarding.
Comment 4•5 months ago
|
||
For size regressions, you'll get a better signal from the opt builds rather then from the shippable builds.
The opt build graph shows that this regression was introduced by https://hg-edge.mozilla.org/integration/autoland/pushloghtml?fromchange=5dcc7d0e50ab17cda3e81ff63c0ab941313d2de7&tochange=9f68f9ffc4e8e41cc7ee3d3ad4f928138f0ff125 which landed with no bug. It appears to be services/settings/dumps/blocklists/addons-bloomfilters/softblocks-addons-mlbf.bin in particular which is to blame.
Comment 5•5 months ago
|
||
How many blocklist entries were added? How many bytes does each entry occupy in the bloom filter file?
Comment 6•5 months ago
|
||
This is expected. We recently softblocked many extensions, which caused the softblocks-addons-mlbf.bin file to grow from 9351 bytes to 162620 bytes.
The size of the multi-layered bloomfilter file is dependent on the number of blocked and not blocked entries, with the cardinality of the smaller set contributing the most to the file size.
Here are some examples:
- 1k vs 4M: 3 KB
- 10k vs 4M: 21 KB
- 100k vs 4M: 147 KB
- 200k vs 4M: 258 KB
- 300k vs 4M: 355 KB
- 1M vs 4M: 525 KB
- 1M vs 10M: 1107 KB.
If you are interested in exploring the last (only) instance of an unexpected file size increase due to a bug in bloom filter generation, see bug 1938506.
Comment 7•5 months ago
•
|
||
How much value are our users getting from having this entire bloom filter included in the Firefox build? It seems disproportionate.
Comment 9•4 months ago
|
||
(In reply to Markus Stange [:mstange] from comment #7)
How much value are our users getting from having this entire bloom filter included in the Firefox build? It seems disproportionate.
The trade off is between guaranteed security (being certain that malicious add-ons won't run in a fresh download, even if offline) vs space savings.
For soft blocks, it may be reasonable to not bundle and await the downloaded item, since soft blocks are less severe than hard blocks.
I'm considering options to shrink the blocklist further. Two options (without loss of functionality that I think are worth pursuing are:
- changing from multi-layered bloom filters to clubcards
- merging the soft and hard blocks, and use an additional AMO API call to determine what kind of block is in place.
There are no tracking bugs for these yet, but if these materialize anywhere I'll link it from this bug for visibility.
Description
•