Closed Bug 1269364 Opened 8 years ago Closed 3 years ago

m.trulia.com reliably leaks windows on firefox for android

Categories

(Firefox for Android Graveyard :: General, defect)

defect
Not set
normal

Tracking

(fennec+)

RESOLVED INCOMPLETE
Tracking Status
fennec + ---

People

(Reporter: bkelly, Unassigned)

References

Details

(Whiteboard: [MemShrink:P2])

STR:

1) Launch a fresh firefox for android process.
2) Navigate to m.trulia.com
3) Click on a property
4) Scroll down the property page
5) Close the trulia window
6) Open about:memory
7) Click minimize memory usage
8) Click measure

At this point you should see an entry like:

  top(none)/detached
    window(http://m.trulia.com/property/...)
See Also: → 1269368
I tried with Settings > Advanced > Plugins set to disabled, but it still leaked.  So its probably not flash.
tracking-fennec: --- → ?
Whiteboard: [MemShrink] → [MemShrink:P2]
tracking-fennec: ? → +
Andrew, any hints on how to hunt down the "1 unknown edge" here?

$ /c/devel/heapgraph/find_roots.py cc-edges.26140.1464481627.log 0xb7766000
Parsing cc-edges.26140.1464481627.log. Done loading graph.

0xc2fe8560 [FragmentOrElement (xhtml) div class='overlayContainer' (orphan) http://m.trulia.com/prop
erty/3222512124-400-E-54th-St-16D-New-York-NY-10022]
    --[Preserved wrapper]--> 0xc42211c0 [JS Object (HTMLDivElement)]
    --[global]--> 0xca0de160 [JS Object (Window)]
    --[UnwrapDOMObject(obj)]--> 0xb7766000 [nsGlobalWindow #204 inner http://m.trulia.com/property/3
222512124-400-E-54th-St-16D-New-York-NY-10022]

    Root 0xc2fe8560 is a ref counted object with 1 unknown edge(s).
    known edges:
       0xc59acda0 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xc59406a0 [Touch] --[mTarget]--> 0xc2fe8560
       0xc2cfc300 [nsGenericDOMDataNode (len=5)] --[GetParent()]--> 0xc2fe8560
       0xc59ad3c0 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xc3085510 [FragmentOrElement (xhtml) div class='line mbxs' (orphan) http://m.trulia.com/prop
erty/3222512124-400-E-54th-St-16D-New-York-NY-10022] --[GetParent()]--> 0xc2fe8560
       0xc4dd8320 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xc42211c0 [JS Object (HTMLDivElement)] --[UnwrapDOMObject(obj)]--> 0xc2fe8560
       0xc2fe8150 [FragmentOrElement (xhtml) div class='propertyGroupCardView' (orphan) http://m.tru
lia.com/property/3222512124-400-E-54th-St-16D-New-York-NY-10022] --[mAttrsAndChildren[i]]--> 0xc2fe8
560
       0xc2e736c0 [nsGenericDOMDataNode (len=5)] --[GetParent()]--> 0xc2fe8560
       0xc59404e0 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xc2f30240 [nsGenericDOMDataNode (len=2)] --[GetParent()]--> 0xc2fe8560
       0xc3085060 [FragmentOrElement (xhtml) div class='line mbxs' (orphan) http://m.trulia.com/prop
erty/3222512124-400-E-54th-St-16D-New-York-NY-10022] --[GetParent()]--> 0xc2fe8560
       0xc41b7820 [Touch] --[mTarget]--> 0xc2fe8560
       0xc4dd9f20 [Touch] --[mTarget]--> 0xc2fe8560
       0xc5940be0 [Touch] --[mTarget]--> 0xc2fe8560
       0xc5940710 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xc2cdf6c0 [nsGenericDOMDataNode (len=3)] --[GetParent()]--> 0xc2fe8560
       0xc2fe85b0 [FragmentOrElement (xhtml) div class='line mbxs' (orphan) http://m.trulia.com/prop
erty/3222512124-400-E-54th-St-16D-New-York-NY-10022] --[GetParent()]--> 0xc2fe8560
       0xc4dd9c10 [Event] --[mEvent->target, mEvent->originalTarget]--> 0xc2fe8560
       0xbf96d400 [Touch] --[mTarget]--> 0xc2fe8560
Flags: needinfo?(continuation)
Kats, do we have any android builds handy with c++ apz?  Since I had a slow fling still active I wonder if this leak is the java apzc in fennec.
Flags: needinfo?(bugmail.mozilla)
The C++ APZ is the default in Fennec in 48+ (so currently Aurora and Nightly builds).
Flags: needinfo?(bugmail.mozilla)
Ok, I tried in latest nightly and it still reproduces.  So probably unrelated to apzc.
(In reply to Ben Kelly [:bkelly] from comment #2)
> Andrew, any hints on how to hunt down the "1 unknown edge" here?

Like Olli said, the "easiest" thing to do is to use a debugger to watch the release of this class, then exit and see what the stacks are. You can also do refcount logging, though that's a pain. DMD also can give you a snapshot of the heap and then you can dig around and try to figure out what points to the leaking object. I've never debugged a leak on Android so I don't know how it would work there.
Flags: needinfo?(continuation)
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.