Bug 1939295 Comment 36 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Bogdan Maris, Desktop Test Engineering [PTO until 13 Jan] from comment #35)
> I tried to reproduce the initial issue (seeing the ghost windows) using an affected build (Nightly from 2024-12-27 and Firefox 134.0b10) on Windows 11 and MacOS 13 but I am not sure how to see a 'ghost window' in about:memory or anywhere else. I used the steps from comment 27 with the value 1 or 2 of the `dom.ipc.processCount.webIsolated` pref but after I go to about:memory and measure, I have the following processes open for me:

It would be under `• weblsolated=https://google.com (pid 7328)`. Note that the definition of a ghost window is a window being detached for a minute and still not being purged, so an extra step is to wait for a minute after closing tabs.

Before the fix you would see either:

```
webIsolated=https://google.com (pid 16952)
Explicit Allocations

245.83 MB (100.0%) -- explicit
├──103.77 MB (42.21%) -- window-objects
│  ├───82.61 MB (33.61%) ++ top(https://docs.google.com/document/u/0/?tgif=d, id=53)
│  └───21.16 MB (08.61%) -- top(none)/detached
│      ├──16.71 MB (06.80%) -- window(https://docs.google.com/document/u/0/?tgif=d)
│      │  ├──14.69 MB (05.98%) -- js-realm(https://docs.google.com/document/u/0/?usp=direct_url)
│      │  │  ├──10.21 MB (04.15%) -- classes
│      │  │  │  ├───3.50 MB (01.42%) -- class(Function)/objects
│      │  │  │  │   ├──3.14 MB (01.28%) ── gc-heap
│      │  │  │  │   └──0.36 MB (00.15%) ── malloc-heap/slots
│      │  │  │  ├───2.98 MB (01.21%) ++ class(Object)/objects
│      │  │  │  ├───2.74 MB (01.11%) ++ class(Array)/objects
│      │  │  │  └───0.98 MB (00.40%) ++ (10 tiny)
│      │  │  ├───3.71 MB (01.51%) ++ scripts
│      │  │  └───0.78 MB (00.32%) ++ (6 tiny)
│      │  └───2.02 MB (00.82%) ++ (3 tiny)
│      ├───2.49 MB (01.01%) ++ window(https://ogs.google.com/u/0/widget/app?awwd=1&origin=https%3A%2F%2Fdocs.google.com&cn=app&pid=25&spid=25&hl=en)
│      └───1.96 MB (00.80%) ++ (5 tiny)
```

And one minute later:

```
116.39 MB (100.0%) -- explicit
├───51.05 MB (43.87%) -- window-objects
│   ├──34.39 MB (29.54%) ++ top(https://docs.google.com/document/u/0/?tgif=d, id=77)
│   └──16.67 MB (14.32%) -- top(none)
│      ├──16.53 MB (14.20%) -- ghost
│      │  ├──15.36 MB (13.20%) -- window(https://docs.google.com/document/u/0/?tgif=d)
│      │  │  ├──13.34 MB (11.46%) -- js-realm(https://docs.google.com/document/u/0/?tgif=d)
│      │  │  │  ├───9.61 MB (08.25%) -- classes
│      │  │  │  │   ├──3.47 MB (02.98%) -- class(Function)/objects
│      │  │  │  │   │  ├──3.11 MB (02.68%) ── gc-heap
│      │  │  │  │   │  └──0.36 MB (00.31%) ── malloc-heap/slots
│      │  │  │  │   ├──2.82 MB (02.42%) -- class(Object)/objects
│      │  │  │  │   │  ├──1.51 MB (01.30%) ── gc-heap
│      │  │  │  │   │  └──1.31 MB (01.12%) ++ malloc-heap
│      │  │  │  │   ├──2.44 MB (02.10%) -- class(Array)/objects
│      │  │  │  │   │  ├──1.58 MB (01.36%) -- malloc-heap
│      │  │  │  │   │  │  ├──1.40 MB (01.20%) ── elements/normal
│      │  │  │  │   │  │  └──0.18 MB (00.16%) ── slots
│      │  │  │  │   │  └──0.86 MB (00.74%) ── gc-heap
│      │  │  │  │   └──0.88 MB (00.76%) ++ (8 tiny)
│      │  │  │  ├───3.72 MB (03.20%) -- scripts
│      │  │  │  │   ├──1.96 MB (01.68%) ── gc-heap
│      │  │  │  │   └──1.76 MB (01.51%) ── malloc-heap/data
│      │  │  │  └───0.01 MB (00.01%) ++ (2 tiny)
│      │  │  └───2.02 MB (01.74%) ++ (3 tiny)
│      │  └───1.16 MB (01.00%) ++ (2 tiny)
│      └───0.14 MB (00.12%) -- detached/window(about:blank)
│          ├──0.14 MB (00.12%) ++ js-realm(https://docs.google.com/document/u/0/?tgif=d, about:blank)
│          ├──0.00 MB (00.00%) ++ dom
│          └──0.00 MB (00.00%) ── layout/style-sheets
```
(In reply to Bogdan Maris, Desktop Test Engineering [PTO until 13 Jan] from comment #35)
> I tried to reproduce the initial issue (seeing the ghost windows) using an affected build (Nightly from 2024-12-27 and Firefox 134.0b10) on Windows 11 and MacOS 13 but I am not sure how to see a 'ghost window' in about:memory or anywhere else. I used the steps from comment 27 with the value 1 or 2 of the `dom.ipc.processCount.webIsolated` pref but after I go to about:memory and measure, I have the following processes open for me:

It would be under `• weblsolated=https://google.com (pid 7328)`. Note that the definition of a ghost window is a window being detached for a minute and still not being purged, so an extra step is to wait for a minute after closing tabs.

Before the fix you would see either:

```
webIsolated=https://google.com (pid 16952)
Explicit Allocations

245.83 MB (100.0%) -- explicit
├──103.77 MB (42.21%) -- window-objects
│  ├───82.61 MB (33.61%) ++ top(https://docs.google.com/document/u/0/?tgif=d, id=53)
│  └───21.16 MB (08.61%) -- top(none)/detached
│      ├──16.71 MB (06.80%) -- window(https://docs.google.com/document/u/0/?tgif=d)
│      │  ├──14.69 MB (05.98%) -- js-realm(https://docs.google.com/document/u/0/?usp=direct_url)
│      │  │  ├──10.21 MB (04.15%) -- classes
│      │  │  │  ├───3.50 MB (01.42%) -- class(Function)/objects
│      │  │  │  │   ├──3.14 MB (01.28%) ── gc-heap
│      │  │  │  │   └──0.36 MB (00.15%) ── malloc-heap/slots
│      │  │  │  ├───2.98 MB (01.21%) ++ class(Object)/objects
│      │  │  │  ├───2.74 MB (01.11%) ++ class(Array)/objects
│      │  │  │  └───0.98 MB (00.40%) ++ (10 tiny)
│      │  │  ├───3.71 MB (01.51%) ++ scripts
│      │  │  └───0.78 MB (00.32%) ++ (6 tiny)
│      │  └───2.02 MB (00.82%) ++ (3 tiny)
│      ├───2.49 MB (01.01%) ++ window(https://ogs.google.com/u/0/widget/app?awwd=1&origin=https%3A%2F%2Fdocs.google.com&cn=app&pid=25&spid=25&hl=en)
│      └───1.96 MB (00.80%) ++ (5 tiny)
```

And one minute later it becomes a ghost:

```
116.39 MB (100.0%) -- explicit
├───51.05 MB (43.87%) -- window-objects
│   ├──34.39 MB (29.54%) ++ top(https://docs.google.com/document/u/0/?tgif=d, id=77)
│   └──16.67 MB (14.32%) -- top(none)
│      ├──16.53 MB (14.20%) -- ghost
│      │  ├──15.36 MB (13.20%) -- window(https://docs.google.com/document/u/0/?tgif=d)
│      │  │  ├──13.34 MB (11.46%) -- js-realm(https://docs.google.com/document/u/0/?tgif=d)
│      │  │  │  ├───9.61 MB (08.25%) -- classes
│      │  │  │  │   ├──3.47 MB (02.98%) -- class(Function)/objects
│      │  │  │  │   │  ├──3.11 MB (02.68%) ── gc-heap
│      │  │  │  │   │  └──0.36 MB (00.31%) ── malloc-heap/slots
│      │  │  │  │   ├──2.82 MB (02.42%) -- class(Object)/objects
│      │  │  │  │   │  ├──1.51 MB (01.30%) ── gc-heap
│      │  │  │  │   │  └──1.31 MB (01.12%) ++ malloc-heap
│      │  │  │  │   ├──2.44 MB (02.10%) -- class(Array)/objects
│      │  │  │  │   │  ├──1.58 MB (01.36%) -- malloc-heap
│      │  │  │  │   │  │  ├──1.40 MB (01.20%) ── elements/normal
│      │  │  │  │   │  │  └──0.18 MB (00.16%) ── slots
│      │  │  │  │   │  └──0.86 MB (00.74%) ── gc-heap
│      │  │  │  │   └──0.88 MB (00.76%) ++ (8 tiny)
│      │  │  │  ├───3.72 MB (03.20%) -- scripts
│      │  │  │  │   ├──1.96 MB (01.68%) ── gc-heap
│      │  │  │  │   └──1.76 MB (01.51%) ── malloc-heap/data
│      │  │  │  └───0.01 MB (00.01%) ++ (2 tiny)
│      │  │  └───2.02 MB (01.74%) ++ (3 tiny)
│      │  └───1.16 MB (01.00%) ++ (2 tiny)
│      └───0.14 MB (00.12%) -- detached/window(about:blank)
│          ├──0.14 MB (00.12%) ++ js-realm(https://docs.google.com/document/u/0/?tgif=d, about:blank)
│          ├──0.00 MB (00.00%) ++ dom
│          └──0.00 MB (00.00%) ── layout/style-sheets
```

Back to Bug 1939295 Comment 36