Closed
Bug 1341973
Opened 9 years ago
Closed 9 years ago
stylo: Figure out why layout/reftests/css-sizing/min-intrinsic-with-max-width-percents-across-form-controls.html leaks
Categories
(Core :: CSS Parsing and Computation, defect, P2)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
| Tracking | Status | |
|---|---|---|
| firefox54 | --- | affected |
People
(Reporter: bzbarsky, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [Stylo:blocked])
Loading layout/reftests/css-sizing/min-intrinsic-with-max-width-percents-across-form-controls.html in a debug stylo build leaks. At shutdown we get:
###!!! ASSERTION: 1 dynamic atom(s) with non-zero refcount: anonymous-div:
'nonZeroRefcountAtomsCount == 0', file xpcom/ds/nsAtomTable.cpp, line 411
and
Leaked URLs:
resource://gre-resources/forms.css
Leak log says:
|<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
| | Per-Inst Leaked| Total Rem|
0 |TOTAL | 41 400| 129448 8|
389 |nsAuthURLParser | 24 24| 2 1|
554 |nsJSPrincipals | 24 24| 228 1|
569 |nsMainThreadPtrHolder<T> | 24 72| 588 3|
641 |nsStandardURL | 264 264| 1659 1|
645 |nsStringBuffer | 8 16| 22103 2|
| Reporter | ||
Comment 1•9 years ago
|
||
So at a guess, we are leaking a URLValue. That holds three nsMainThreadPtrHolders (to a principal, base URI, and referrer URI) and a stringbuffer for the url itself. The nsJSPrincipals is the principal we own, presumably we have no referrer, our base URI is resource://gre-resources/forms.css and holds a second stringbuffer.
| Reporter | ||
Comment 2•9 years ago
|
||
Minimalish leak testcase:
data:text/html,<input%20type=number>
I did try logging ctor/dtor for URLValueData and we seem to be destroying all the ones we create... unless servo is creating some directly, not via the Gecko ctor/dtor? Bu I don't think we do that.
| Reporter | ||
Comment 3•9 years ago
|
||
A bit more data:
1) If I stop creating the -moz-number-text anonymous <input>, the leak goes away.
2) If I comment out the -moz-binding bit of the "input" styles in forms.css, the leak loses all the
URL-related and principal-related stuff but we still leak an nsStrinGbuffer and the anonymous-div atom.
Presumably the leaked stringbuffer is the one in the atom.
3) We seem to not leak any nsStyleContext or StyleSheetInfo or URLValueData instances, if I added my
CTOR/DTOR logging correctly.
Something here is fishy with the pseudo-element bits...
Comment 4•9 years ago
|
||
Ok. I'm working on my patches for the pseudo-element bits today, we'll see if the problem persists.
Updated•9 years ago
|
Priority: -- → P2
Updated•9 years ago
|
Whiteboard: [Stylo:blocked]
Comment 5•9 years ago
|
||
I don't see any leaks on min-intrinsic-with-max-width-percents-across-form-controls.html on today's mozilla-central. As I wrote bug 1321754 comment 48, I think leaks somewhat related to pseudo elements has gone now.
| Reporter | ||
Comment 6•9 years ago
|
||
So with the patches in bug 1361235 is this fixed at least in terms of the leak? Can we reenable these tests?
Do we need a followup for us not finding these elements to restyle?
Flags: needinfo?(cam)
Comment 7•9 years ago
|
||
The min-intrisic-with-max-width-percents-across-form-controls.html tests have been re-enabled. I'm looking into the underlying issue of not finding these elements in bug 1364361.
Flags: needinfo?(cam)
Updated•9 years ago
|
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•