Closed Bug 1422413 Opened 7 years ago Closed 6 years ago

GC page-freeze every 10 sec. from disqusads ghost window

Categories

(Core :: DOM: Core & HTML, defect, P1)

Unspecified
macOS
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: jib, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [memShrink])

+++ This bug was initially created as a clone of Bug #1420795 +++

Another case of content process using about a gigabyte of unaccounted-for memory, which GC/CC is choking on, freezing the UI for 4 seconds every 10 seconds.

Logs sent to bkelly.
Tons of these disqusads frames here.

Here is tracing one of them:

bkelly@valen:/srv/tmp/cclogs$ /srv/heapgraph/find_roots.py cc-edges.721.1512160965.log 0x1acd78c00
Parsing cc-edges.721.1512160965.log. Done loading graph.

0x1d30a9340 [FragmentOrElement (xhtml) script http://disqusads.com/ads-iframe/meme/?shortname=2ality
&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&templat
e_name=single&uid=z2KO8EWjU1lq]
    --[GetParent()]--> 0x1e47b7a00 [FragmentOrElement (xhtml) body http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[mAttrsAndChildren[i]]--> 0x1d307f400 [FragmentOrElement (xhtml) script http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[[via hash] mListenerManager]--> 0x1e41e5430 [EventListenerManager]
    --[mListeners event=onload listenerType=2 [i]]--> 0x1e40ae1f0 [JSEventHandler handlerName=onload]   
    --[mTypedHandler.Ptr()]--> 0x1e40ae0a0 [CallbackObject]
    --[mIncumbentGlobal]--> 0x1a60ae400 [nsGlobalWindowInner # 6442451338 inner http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[mDoc]--> 0x1a2fa6000 [nsDocument normal (xhtml) http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[mChildren[i]]--> 0x1a791cc00 [FragmentOrElement (xhtml) html http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[mAttrsAndChildren[i]]--> 0x1a791cd00 [FragmentOrElement (xhtml) head http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[mAttrsAndChildren[i]]--> 0x1b4caa280 [FragmentOrElement (xhtml) img http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]
    --[[via hash] mListenerManager]--> 0x1b4c80dc0 [EventListenerManager]
    --[mListeners event=onerror listenerType=2 [i]]--> 0x1aa899e20 [JSEventHandler handlerName=onerror] 
    --[mTypedHandler.Ptr()]--> 0x1aa899dc0 [CallbackObject]
    --[mIncumbentJSGlobal]--> 0x1ec474d80 [JS Object (Window)]
    --[CLASS_OBJECT(Array)]--> 0x1d90ca040 [JS Object (HTMLDocument)]
    --[Shadowing DOM proxy expando]--> 0x1b9564d00 [JS Object (Object)]
    --[getter]--> 0x1bdc860c0 [JS Object (Proxy)]
    --[proxy target]--> 0x1bda0c700 [JS Object (Function - get location)]
    --[group_global]--> 0x1d2e3b4c0 [JS Object (Window)]
    --[UnwrapDOMObject(obj)]--> 0x1acd78c00 [nsGlobalWindowInner # 6442451759 inner http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq]

    Root 0x1d30a9340 is a ref counted object with 1 unknown edge(s).
    known edges:
       0x1e47b7a00 [FragmentOrElement (xhtml) body http://disqusads.com/ads-iframe/meme/?shortname=2ality&sourceUrl=http%3A%2F%2F2ality.com%2F2016%2F01%2Fprivate-data-classes.html&colorScheme=light&template_name=single&uid=z2KO8EWjU1lq] --[mAttrsAndChildren[i]]--> 0x1d30a9340

bkelly@valen:/srv/tmp/cclogs$ /srv/heapgraph/find_roots.py gc-edges.721.1512160965.log -bro 0x1d30a9340
Parsing gc-edges.721.1512160965.log. Done loading graph.0x1d30a9340 is not in the graph.
Bug 1421681 also involves a leak rooted in a script element.
See Also: → 1421681
If you see this consistently, you could see if disabling the bytecode cache by setting dom.script_loader.bytecode_cache.enabled to false helps.
I believe the link causing this was http://2ality.com/2016/01/private-data-classes.html

FWIW It was acting up a lot at the time, playing an annoying ad with audio all the time, but the audio sounded like it was playing twice with a bit of an offset, and I had to fight with the page to scroll through it as it brought me back to watch the ad. When I try it now it doesn't do that, nor am I able to reproduce any ghost windows.

Originally, I also clicked on this link in the discus comments, in case it matters (it showed up in my History as a link):
https://disq.us/url?url=https%3A%2F%2Fgithub.com%2Ftc39%2Fproposal-private-methods%3ALEe6ZhtxnAqdYRC4FHni2H3gJrI&cuid=611304
Priority: -- → P1
See Also: 1421681
Are you still seeing this? Or should I close this as incomplete?
Flags: needinfo?(jib)
Probably bug 1409115. Will re-open if I see it again.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(jib)
Resolution: --- → INCOMPLETE
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.