Skip to content

Memory leak: browser windows are not released after NoScript popups are closed

Every 100 opened and closed windows (e.g. to allow video) add ~500 MB to the main process and stall entire browser for ~5 sec every JS GC. For example, 155 leftovers look like

Main Process (pid 1704)
Explicit Allocations

1,183.62 MB (100.0%) -- explicit
├────618.73 MB (52.27%) -- window-objects
│    ├──542.10 MB (45.80%) -- top(none)/detached/window(chrome://browser/content/browser.xhtml)
│    │  ├──287.48 MB (24.29%) -- js-realm([System Principal], about:blank)
│    │  │  ├──170.10 MB (14.37%) -- classes
│    │  │  │  ├──125.50 MB (10.60%) -- class(Function)/objects
│    │  │  │  │  ├──122.58 MB (10.36%) ── gc-heap [155]
│    │  │  │  │  └────2.92 MB (00.25%) ── malloc-heap/slots [155]
│    │  │  │  ├───27.98 MB (02.36%) ++ (5 tiny)
│    │  │  │  └───16.62 MB (01.40%) ++ class(<non-notable classes>)/objects
│    │  │  ├──116.95 MB (09.88%) -- scripts
│    │  │  │  ├───66.71 MB (05.64%) ── malloc-heap/data [155]
│    │  │  │  └───50.24 MB (04.24%) ── gc-heap [155]
│    │  │  └────0.43 MB (00.04%) ── sundries/malloc-heap [155]
│    │  ├──240.13 MB (20.29%) -- dom
│    │  │  ├──166.15 MB (14.04%) ── element-nodes [155]
│    │  │  ├───36.00 MB (03.04%) ── orphan-nodes [155]
│    │  │  ├───31.82 MB (02.69%) ── other [155]
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information