Closed Bug 1421681 Opened 3 years ago Closed 2 years ago

ghost window on washingtonpost.com

Categories

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

57 Branch
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: bkelly, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [MemShrink])

Attachments

(1 file)

Attached file memory-report.json.gz
See attached memory report for full data, but in summary:

│    ├──510.17 MB (34.74%) -- top(none)/ghost
│    │  ├──450.45 MB (30.67%) ++ window(https://www.washingtonpost.com/)
│    │  └───59.72 MB (04.07%) -- (37 tiny)
│    │      ├──11.51 MB (00.78%) ++ window(about:blank)
│    │      ├───3.81 MB (00.26%) ++ window(https://www.youtube.com/embed/?el=adunit&controls=0&html5=1&playsinline=1&ps=gvn&showinfo=0&widget_referrer=https%3A%2F%2Fwww.washingtonpost.com%2F&enablejsapi=1&origin=https%3A%2F%2Fimasdk.googleapis.com&widgetid=1)
│    │      ├───1.94 MB (00.13%) ++ window(https://tpc.googlesyndication.com/safeframe/1-0-14/html/container.html)
│    │      ├───1.70 MB (00.12%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_261763436)
│    │      ├───1.70 MB (00.12%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_264542958)
│    │      ├───1.70 MB (00.12%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_2119200577)
│    │      ├───1.70 MB (00.12%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1321835674)
│    │      ├───1.69 MB (00.12%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1120237141)
│    │      ├───1.64 MB (00.11%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1045597476)
│    │      ├───1.58 MB (00.11%) ++ window(https://dtm.advertising.com/ids/411f1e96-3bde-4d85-b17e-63749e5f0695?secure=true)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_812069784)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1237034737)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1429956266)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_298014018)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_341651657)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_127952132)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1885445527)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1230921946)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1251581372)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_174137078)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_355581286)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_572455003)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_807536198)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_937005496)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1134923277)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_31338615)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_318623183)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_872900469)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_1606990657)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_716630294)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_932785242)
│    │      ├───1.33 MB (00.09%) ++ window(https://imasdk.googleapis.com/js/core/bridge3.185.2_en.html#goog_446335765)
│    │      ├───0.76 MB (00.05%) ++ window(https://cdn.krxd.net/partnerjs/xdi/proxy.3d2100fd7107262ecb55ce6847f01fa5.html#!kxcid=IbWIJ0xh&kxt=https%3A%2F%2Fwww.washingtonpost.com&kxcl=cdn&kxp=)
│    │      ├───0.32 MB (00.02%) ++ window(about:srcdoc)
│    │      ├───0.15 MB (00.01%) ++ window(https://s.effectivemeasure.net/html/frame_2.3.7.html)
│    │      ├───0.14 MB (00.01%) ++ window(https://connexity.net/c/cse?a=Q&B=30)
│    │      └───0.10 MB (00.01%) ++ window(https://a3865.casalemedia.com/ifnotify?c=E042C0&r=3FBBD076&t=5A1EE170&u=V1JCMWNzQW9KcEFBQUM5UUdzWUFBQUNX&m=0c8a45c27d5fcc7ce62183e2c7e3e408&wp=6F&aid=96518C078C9D7AD0&tid=13595&s=2B3D
This was on win10 59.0a1 (2017-11-27) (64-bit).
I tried to analyze some of the GC/CC logs:

Parsing cc-edges.14552.1511973769.log. Error: skipping unknown line:)
Error: skipping unknown line:)
Error: skipping unknown line:)
Error: skipping unknown line:)
Done loading graph. 

0000022D9719AAC0 [FragmentOrElement (xhtml) script https://www.washingtonpost.com/]
    --[Preserved wrapper]--> 0000022DCBC47760 [JS Object (HTMLScriptElement)]
    --[group_global]--> 0000022DA5BEBB00 [JS Object (Window)]
    --[UnwrapDOMObject(obj)]--> 0000022DAF75B400 [nsGlobalWindowInner # 15032385997 inner https://www.washingtonpost.com/]
    --[mTopInnerWindow]--> 0000022D8FFA2C00 [nsGlobalWindowInner # 15032385638 inner https://www.washingtonpost.com/]

    Root 0000022D9719AAC0 is a ref counted object with 1 unknown edge(s).
    known edges:
       0000022DC5831900 [FragmentOrElement (xhtml) head https://www.washingtonpost.com/] --[mAttrsAndChildren[i]]--> 0000022D9719AAC0
       0000022DCBC47760 [JS Object (HTMLScriptElement)] --[UnwrapDOMObject(obj)]--> 0000022D9719AAC0

bkelly@valen:/mnt/c/devel/tmp/cclogs$ /srv/heapgraph/find_roots.py gc-edges.14552.1511973769.log -bro 0000022D9719AAC0
Parsing gc-edges.14552.1511973769.log. Done loading graph.0000022D9719AAC0 is not in the graph.

Andrew, does this make any sense to you?
Flags: needinfo?(continuation)
We have a lot of cache and off main thread script things that probably hold strong references to script nodes. Bug 1395233 probably looks like that. If you can reproduce, you can try disabling the bytecode cache and seeing if it helps.

FWIW, I'm seeing a lot of ghost windows, for pages that I opened via links. I'll have to see if they are similar, or maybe they are bugs in the ghost window algorithm.
Flags: needinfo?(continuation)
I can't immediately reproduce by visiting the site unfortunately.  I think I just scrolled through looking at headlines.  I might have had a loading throbber when I closed the page.
(In reply to Andrew McCreight [:mccr8] from comment #3)
> We have a lot of cache and off main thread script things that probably hold
> strong references to script nodes. Bug 1395233 probably looks like that. If
> you can reproduce, you can try disabling the bytecode cache and seeing if it
> helps.

In particular the "encoding" part would be the one which holds a strong references.

If this is the encoder, you should be able to reproduce it:
 · Either by loading the page 5 times, after clearing the cache,
 · Or by loading the page, after setting "dom.script_loader.bytecode_cache.strategy" to -1 and clearing the cache.
Priority: -- → P2
See Also: → 1422413
At one point my bug 1409115 leak was held by a script element, so maybe this is the same thing.
Depends on: 1409115
See Also: 1422413
Are you still seeing this? Or should we close this as incomplete?
Flags: needinfo?(bkelly)
I haven't seen it recently.  I'm going to mark this incomplete to make room for all new leaks in 2018!
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(bkelly)
Resolution: --- → INCOMPLETE
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.