Closed Bug 2068836 Opened 1 day ago Closed 10 hours ago

Firefox freezes on css blur filter for certain website(s)

Categories

(Core :: Graphics: WebRender, defect, P2)

Firefox 155
x86_64
Windows 10
defect

Tracking

()

RESOLVED FIXED
157 Branch
Tracking Status
relnote-firefox --- 155+
firefox-esr140 --- unaffected
firefox-esr153 --- unaffected
firefox155 + disabled
firefox156 + disabled
firefox157 + fixed

People

(Reporter: cablinhat, Assigned: gw)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Steps to reproduce:

I've attached a webpage to this bug report that should be able to reproduce the issue immediately. It has style=filter:blur(3px) set inline on the html element which is what causes the bug.

The original way I reproduced this issue was with the extension "leechblock" which I filed as an issue here: https://github.com/proginosko/LeechBlockNG/issues/772. That being said, this is an issue with the css blur filter being added to this website, not necessarily just the extension.

Here are the steps to reproduce from that github issue page:

  1. Create a new firefox profile
  2. Install leechblock
  3. Import the settings from here: LeechBlockOptions-2026-09-03T02-41-36.txt
    • or add a wildcard "*" rule, set it to "all day", set it to all week, and turn on "Apply filter instead of blocking page"
  4. Open the following page: https://top.gg/

The browser will then freeze when the page loads.

I've also recorded this happening using the firefox profiler: https://share.firefox.dev/3UB27iL

Actual results:

It makes all firefox browser windows for the profile unresponsive for 10-20 seconds and then allows for brief moments of being able to close out of the tab before returning to freezing the browser.

My system information is:
Firefox 155, Windows 10, NVIDIA RTX 5070 Ti on driver 616.56 (latest)

Expected results:

The browser shouldn't freeze.

This didn't freeze on Firefox 154.

The Bugbug bot thinks this bug should belong to the 'WebExtensions::Untriaged' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Product: Firefox → WebExtensions
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64

Not too sure if "WebExtensions" is right here since it more generally involves the the blur filter on that specific site

Hello,

I reproduced the issue on the latest Nightly (157.0a1/20260902212028), Beta (156.0b2/20260902090331) and Release (155.0/20260826195058) under Windows 11 and Ubuntu 25.10.
I also tested the latest ESR (153.2.0esr/20260826022508), but the issue does not reproduce on this version.

The browser freezes immediately after the site loads. This can be triggered either by opening the attached .html page or by using the Leechblock NG method described in Comment 0.

Since the issue occurs independently of extensions, I am moving this bug to a more appropriate core Product/Component (Core :: Graphics: WebRender). However, in case of error, do revert the changes or set the appropriate combination.

Status: UNCONFIRMED → NEW
Component: Untriaged → Graphics: WebRender
Ever confirmed: true
Product: WebExtensions → Core

Same regression range as bug 2068886.

Keywords: regression
Regressed by: 2011747
See Also: → 2068886

:gw, since you are the author of the regressor, bug 2011747, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(mozilla)
Severity: -- → S2
Priority: -- → P1

I am not able to reproduce this (MacOS, 155) on the site mentioned in the original report. I do not have 'leechblock' but if this is in fact an incident level freeze, I shouldn't need it.

Priority: P1 → P2

The attached testcase reproduces for me without any third-party software installed.

In the Firefox Profiler panel, there's a "Settings" dropdown; could someone select "Graphics" and capture a profile of a hang?

The regressing change has been backed out from Beta for 156.0b3 and Release for 155.0.1.

This reimplements order_readers_after() as an iterative function and adds a set of visited nodes, guarding against multiple evaluations of the same node (including cycles).

Assignee: nobody → rpapillie
Status: NEW → ASSIGNED
Assignee: rpapillie → mozilla
Flags: needinfo?(mozilla)
Attachment #9636031 - Attachment description: Bug 2068836 - Fix exponential recursion in order_readers_after(). r=#gfx-reviewers → Bug 2068836 - Fix exponential recursion in order_readers_after().

Each backdrop-filter resolve widens the graph that order_readers_after() walks,
so walking it once per path is exponential in the number of siblings: 9 siblings
took 0.2s, 13 took 67s, 14 did not finish.

Sixteen siblings inside a blurred stacking context. Inverting the red backdrop
gives cyan, so the reference draws cyan rects in their place.

Duplicate of this bug: 2068886

(In reply to Ryan VanderMeulen [:RyanVM] from comment #10)

The regressing change has been backed out from Beta for 156.0b3 and Release for 155.0.1.

Added to the 155.0.1 relnotes.

Pushed by gwatson@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/cb6cfc336941 https://hg.mozilla.org/integration/autoland/rev/033558cac62a Fix exponential recursion in order_readers_after(). r=gfx-reviewers,lsalzman,ahale https://github.com/mozilla-firefox/firefox/commit/e431f9545093 https://hg.mozilla.org/integration/autoland/rev/6160a8a7c54b Add a wrench reftest for many backdrop-filters under a blurred parent r=gfx-reviewers,ahale

I verified the backout out of the regressing change on Windows 11 and Ubuntu 25.10. The issue no longer reproduces on the Release 155.0.1 candidate (155.0.1/20260903215306), using any of the methods outlined in Comment 0.

Beta 156.0b3 is not yet available, so I could not verify it there yet. I will follow up once the build is released.

For good measure, I re-tested the latest Nightly (157.0a1/20260903215730). The issue is still reproducible there, as expected.

Status: ASSIGNED → RESOLVED
Closed: 10 hours ago
Resolution: --- → FIXED
Target Milestone: --- → 157 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: