Closed Bug 1263824 Opened 8 years ago Closed 8 years ago

telegram web app leaking ghost windows

Categories

(Core :: Storage: IndexedDB, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1261143
Tracking Status
firefox48 --- affected

People

(Reporter: bkelly, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [MemShrink])

I noticed today that the telegram web client:

  https://web.telegram.org/#/im

Appears to leak ghost windows even after the page is closed:

 3 (100.0%) -- ghost-windows
└──3 (100.0%) ── https://web.telegram.org/#/im?p=u112692817_6211853813731657837 [3]

This is somewhat problematic because telegram also happens to leak blob URLs until window close since it never calls revokeObjectURL().  So in this particular memory report I also have:


154 (100.0%) -- dom-media-stream-urls
├──153 (99.35%) ++ owner(https://web.telegram.org/#/im?p=u112692817_6211853813731657837)
└────1 (00.65%) ── owner unknown/blob:null/37d0eb03-eb04-1f42-b976-849f0eb490ad

Which is causing the corresponding ghost window to use ~28MB.
This is on mac os x 45.0.2.
I tried reproducing today, but was unable to do so.  I'll keep looking for this, though.  Try to get some STR.
I caught this again on my mac:

│    │   ├──41.85 MB (03.39%) -- ghost
│    │   │  ├──41.85 MB (03.39%) -- window(https://web.telegram.org/#/im?p=u112692817_6211853813731657837)
│    │   │  │  ├──22.62 MB (01.83%) -- (4 tiny)
│    │   │  │  │  ├──10.60 MB (00.86%) ++ js-compartment(https://web.telegram.org/#/im)
│    │   │  │  │  ├───7.42 MB (00.60%) -- dom
│    │   │  │  │  │   ├──4.45 MB (00.36%) ── orphan-nodes [3]
│    │   │  │  │  │   ├──1.97 MB (00.16%) ── element-nodes [3]
│    │   │  │  │  │   ├──0.61 MB (00.05%) ── text-nodes [3]
│    │   │  │  │  │   ├──0.35 MB (00.03%) ── comment-nodes [3]
│    │   │  │  │  │   ├──0.02 MB (00.00%) ── other [4]
│    │   │  │  │  │   └──0.00 MB (00.00%) ── event-targets
│    │   │  │  │  ├───4.56 MB (00.37%) ── style-sheets [3]
│    │   │  │  │  └───0.04 MB (00.00%) ── property-tables [3]
│    │   │  │  └──19.23 MB (01.56%) -- js-compartment(https://web.telegram.org/#/im?p=u112692817_6211853813731657837)
│    │   │  │     ├──17.25 MB (01.40%) ++ classes
│    │   │  │     └───1.99 MB (00.16%) ++ (4 tiny)

I sent the CC logs to Andrew in case he has time to look.
Andrew, did you get a chance to look at the logs?
Flags: needinfo?(continuation)
The leaking windows are being held alive by a DETH, with an unknown reference. It looks like this is an IDBTransaction.

0x128c936e0 [rc=2] DOMEventTargetHelper https://web.telegram.org/#/im?p=[...]
> 0x124453060 mScriptOwner
> 0x126b19600 mDatabase
> 0x11afceb80 mObjectStores[i]

I think that's all I can determine from the CC logs.
Blocks: GhostWindows
Component: General → DOM: IndexedDB
Flags: needinfo?(continuation)
ni myself to look at this next week.
Flags: needinfo?(khuey)
See Also: → 1266915
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Bug 1261143 sounds like the same issue, so I have duped it over there.
I tried reproducing this bug on multiple stations using Fx 48.0a1, build ID 20160411030231 and 20160331030231 but could not do so. Can you please verify the fix?
You need to log in before you can comment on or make changes to this bug.