Closed Bug 1615147 Opened 6 years ago Closed 4 years ago

Performance issues on https://macofalltrades.com

Categories

(Core :: DOM: Events, defect, P3)

Desktop
All
defect

Tracking

()

RESOLVED WORKSFORME
Performance Impact ?
Tracking Status
firefox-esr68 --- affected
firefox73 --- wontfix
firefox74 --- affected
firefox75 --- affected

People

(Reporter: bgstandaert, Unassigned)

References

Details

(4 keywords)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:74.0) Gecko/20100101 Firefox/74.0

Steps to reproduce:

Open https://www.macofalltrades.com/shop/apple-laptops/

Actual results:

The page renders partially, and then hangs indefinitely.

Expected results:

In Chrome and Safari, the page renders fully and is responsive after ~5 seconds.

Profile: https://perfht.ml/2ONoMDI

Severity: normal → critical
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: hang, reproducible
OS: Unspecified → All
Hardware: Unspecified → Desktop
Keywords: parity-chrome

Browser Console indicates the attached errors after for a while

Component: Performance → JavaScript Engine
Keywords: parity-edge

The problem seems to be that this web page is creating a loop of

  • RunScript
  • Node.appendChild
  • Dispatch DomSubtreeModified
  • Event listener
  • RunScript (looping here ...)

Which is probably taking a very long time to fail due to too-much-recursions errors, and the larger stack size available in Firefox.
I do not know what other browsers do, but it might simply be that they reach the limited stack depth sooner.

I will forward it to the component DOM, but this sounds hopeless from the JS engine perspective.

Component: JavaScript Engine → DOM: Events

Works for me. Reporter, do you still see this?

Flags: needinfo?(bgstandaert)

I can still reproduce the hang on Nightly75.0a1(20200223214228) Windows10.
After page loaded, scroll down. Image loading spinner spinning forever. Slowdown warning bar appears at top of content area. Then, click [Stop] button. Many "too much recursion" error indicates in browser console.

I still don't see this, even on Windows. I wonder if the problem is caused by some tracking script that doesn't load for me. I don't really know how to turn this into something actionable from the DOM perspective.

Attached video firefox-freeze-3.mp4 —
Flags: needinfo?(bgstandaert)

I can definitely still reproduce this, although after looking at it more I agree it's probably a site issue. The recursion is coming from https://cdn11.bigcommerce.com/s-xt5en0q8kf/stencil/45afc800-356a-0138-fd49-0242ac11000c/e/60337f60-3b65-0138-e899-0242ac110008/dist/theme-bundle.main.js, which looks like it's the site's primary JS file (and I can reproduce with tracking protection + ublock origin enabled), so I'm surprised it isn't loading for you.

One thing that is surprising to me is that the hung tab seems to prevent other tabs from loading (even after attempting to close it), as in the attached video. Given that each tab is supposed to have its own process, I wouldn't expect this to happen.

Could reproduce it with Firefox (74.0b9 and 75.0b1) on Ubuntu 18.04.

The priority flag is not set for this bug.
:hsinyi, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(htsai)
Flags: needinfo?(htsai)
Webcompat Priority: ? → ---
Severity: critical → --
Performance Impact: --- → ?

When I scrolled down, I did see the image spinning a bit but images were loaded then.

Severity: -- → S3

Works ok for me, all of the images load properly when scrolling.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: