Closed Bug 1217218 Opened 9 years ago Closed 9 years ago

Intermittent LeakSanitizer | leak at nsPerformanceGroup::Make, nsPerformanceStatsService::nsPerformanceStatsService, nsPerformanceStatsServiceConstructor

Categories

(DevTools :: Performance Tools (Profiler/Timeline), defect)

defect
Not set
normal

Tracking

(firefox45 fixed)

RESOLVED FIXED
Firefox 45
Tracking Status
firefox45 --- fixed

People

(Reporter: KWierso, Assigned: Yoric)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure, memory-leak, Whiteboard: [MemShrink])

Attachments

(1 file)

Possibly fallout from bug 1208747?
Flags: needinfo?(dteller)
Most likely, yes.
I'll wait until we have a few more samples to determine what's going on.
Flags: needinfo?(dteller)
Keywords: mlk
Whiteboard: [MemShrink]
This is happening very frequently, across a number of test suites.
(In reply to Andrew McCreight [:mccr8] from comment #4) > This is happening very frequently, across a number of test suites. Well, all ASan. I just meant, in different mochitest chunks.
(In reply to David Rajchenbach-Teller [:Yoric] (use "needinfo") from comment #3) > I'll wait until we have a few more samples to determine what's going on. Do you have a fix for this, or should bug 1208747 get backed out? Thanks.
Flags: needinfo?(dteller)
I still have only a single log to work on, so there are only so many things I can do at this stage. Andrew, is it always a leak of a single PerformanceGroup? However, based on this log, it looks like a single js::PerformanceGroup is leaking. There are very few structures that can hold references to a js::PerformanceGroup: - a JS Compartment holds one (released when the compartment is destroyed); - a JS Runtime holds a few (any leaking reference is released when the JS Runtime is destroyed); - the nsPerformanceGroupService holds one. There are also a few references on the stack. Could it be possible that a single JS Compartment is never garbage-collected? Could it be possible that we finish the process from a nested event loop which prevents the stack-based reference from being released?
Flags: needinfo?(dteller) → needinfo?(continuation)
Oh, I missed some information. I see which reference is not collected, I hope to have a patch shortly.
(In reply to David Rajchenbach-Teller [:Yoric] (use "needinfo") from comment #7) > I still have only a single log to work on, so there are only so many things > I can do at this stage. If you click on the link in the "Orange factor" section in the upper right part of this page, you'll get a list of all of the times this has been marked.
Flags: needinfo?(continuation)
(In reply to Andrew McCreight [:mccr8] from comment #9) > If you click on the link in the "Orange factor" section in the upper right > part of this page, you'll get a list of all of the times this has been > marked. I have no such link, either on Bugzilla or in the Treeherder link.
Bug 1217218 - nsPerformanceStatsService now clears the reference to mTopGroup in Dispose();r?froydnj
Attachment #8677608 - Flags: review?(nfroyd)
(In reply to David Rajchenbach-Teller [:Yoric] (use "needinfo") from comment #10) > I have no such link, either on Bugzilla or in the Treeherder link. Here's the link: https://brasstacks.mozilla.com/orangefactor/?display=Bug&bugid=1217218
(In reply to David Rajchenbach-Teller [:Yoric] (use "needinfo") from comment #10) > (In reply to Andrew McCreight [:mccr8] from comment #9) > > If you click on the link in the "Orange factor" section in the upper right > > part of this page, you'll get a list of all of the times this has been > > marked. > > I have no such link, either on Bugzilla or in the Treeherder link. I believe that's not available with the new modal interface. (bug 1153105)
Blocks: 1217681
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj https://reviewboard.mozilla.org/r/22973/#review20565
Attachment #8677608 - Flags: review?(nfroyd) → review+
Assignee: nobody → dteller
I don't think this is really MemShrink, as solving this bug won't change the memory footprint of Firefox by a single byte.
Whiteboard: [MemShrink]
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Bug 1217218 - nsPerformanceStatsService now clears the reference to mTopGroup in Dispose();r=froydnj
Attachment #8677608 - Attachment description: MozReview Request: Bug 1217218 - nsPerformanceStatsService now clears the reference to mTopGroup in Dispose();r?froydnj → MozReview Request: Bug 1217218 - nsPerformanceStatsService now clears the reference to mTopGroup in Dispose();r=froydnj
(In reply to David Rajchenbach-Teller [:Yoric] (use "needinfo") from comment #16) > I don't think this is really MemShrink, as solving this bug won't change the > memory footprint of Firefox by a single byte. It obviously isn't a major issue, but maintaining the integrity of our memory testing infrastructure is an important part of monitoring Firefox's memory usage.
Whiteboard: [MemShrink]
I don't know why MozReview => Try doesn't work for me atm.
Attachment #8677608 - Attachment description: MozReview Request: Bug 1217218 - nsPerformanceStatsService now clears the reference to mTopGroup in Dispose();r=froydnj → MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r?froydnj
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r?froydnj In e10s tests, the content process version of nsPerformanceStatsService doesn't always shut down correctly. Apparently, this is due to content-child-shutdown not always being received - or possibly just not being received on time. We fix this by extending shutdown to also shutdown the service in reaction to xpcom-will-shutdown. This raises an additional issue with JS code being able to request a snapshot after shutdown of the service, so we add a sanity check to ensure that such calls always fail once the service is shutdown.
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Oh, forgot to re-r? it.
Attachment #8677608 - Flags: review?(nfroyd)
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Apparently reviewboard got confused because I had already reviewed the patch, or something?
Attachment #8677608 - Flags: review?(nfroyd) → review+
this failed to apply : patching file toolkit/components/perfmonitoring/nsPerformanceStats.cpp Hunk #4 FAILED at 501 Hunk #5 FAILED at 641 2 out of 5 hunks FAILED -- saving rejects to file toolkit/components/perfmonitoring/nsPerformanceStats.cpp.rej patch failed to apply could you rebase this too ?
Flags: needinfo?(dteller)
Keywords: checkin-needed
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r?froydnj In e10s tests, the content process version of nsPerformanceStatsService doesn't always shut down correctly. Apparently, this is due to content-child-shutdown not always being received - or possibly just not being received on time. We fix this by extending shutdown to also shutdown the service in reaction to xpcom-will-shutdown. This raises an additional issue with JS code being able to request a snapshot after shutdown of the service, so we add a sanity check to ensure that such calls always fail once the service is shutdown.
Attachment #8677608 - Flags: review+
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj
Attachment #8677608 - Attachment description: MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r?froydnj → MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj
Comment on attachment 8677608 [details] MozReview Request: Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj Bug 1217218 - Consolidating shutdown of nsPerformanceStatsService;r=froydnj
Rebased.
Flags: needinfo?(dteller)
Keywords: checkin-needed
Summary: Intermittent TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at nsPerformanceGroup::Make, nsPerformanceStatsService::nsPerformanceStatsService, nsPerformanceStatsServiceConstructor → Intermittent LeakSanitizer | leak at nsPerformanceGroup::Make, nsPerformanceStatsService::nsPerformanceStatsService, nsPerformanceStatsServiceConstructor
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 45
removing the b2g 2.5 flag since this commit has been reverted due to an incorrect merge, sorry for the confusion
Blocks: LSan
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: