Closed
Bug 948755
Opened 11 years ago
Closed 11 years ago
Log incremental cycle collector roots
Categories
(Core :: XPCOM, defect)
Core
XPCOM
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: mccr8, Assigned: mccr8)
References
Details
Attachments
(1 file)
(deleted),
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
With ICC enabled, nodes can be treated as live for reasons other than having unknown references, in ScanIncrementalRoots. We should note these in the cycle collector.
Assignee | ||
Comment 1•11 years ago
|
||
I think this needs to be done before it can be preffed on by default. I've hit at least one case where it was necessary for an investigation.
One simple way to do this is to add a fake rooted object to the graph, and add all the incrementally rooted objects as fields of that object. Though I suppose that will mess up the ref counts, so I should do something more correct, like add a new callback to indicate that it is an incremental root.
Assignee: nobody → continuation
Assignee | ||
Comment 2•11 years ago
|
||
I've also updated my scripts to handle incremental roots.
Attachment #8391225 -
Flags: review?(bugs)
Comment 3•11 years ago
|
||
Comment on attachment 8391225 [details] [diff] [review]
Log incremental cycle collector roots.
How do you create a log from icc? With env variables only?
Since I thought DOMWindowUtils way makes us create non-icc log.
Could you add a comment why GraphWalker<ScanBlackVisitor>(ScanBlackVisitor(mWhiteNodeCount, failed)).Walk(pi); handling can be
a bit inconsistent. (Like, if we're black, it is no-op anyway)
update uuid of nsICycleCollectorListener
Attachment #8391225 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 4•11 years ago
|
||
(In reply to Olli Pettay [:smaug] from comment #3)
> How do you create a log from icc? With env variables only?
> Since I thought DOMWindowUtils way makes us create non-icc log.
Yup. If you are interested in analyzing a leak, I don't think you want an ICC log, but it is important for diagnosing ICC issues.
> Could you add a comment why
> GraphWalker<ScanBlackVisitor>(ScanBlackVisitor(mWhiteNodeCount,
> failed)).Walk(pi); handling can be
> a bit inconsistent. (Like, if we're black, it is no-op anyway)
Yeah, I should explain that whole section, as it is pretty weird.
> update uuid of nsICycleCollectorListener
Oops, thanks.
Assignee | ||
Comment 5•11 years ago
|
||
Comment 6•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•