Closed Bug 634702 Opened 9 years ago Closed 9 years ago

__NSAutoreleaseNoPool(): Object 0x117918a20 of class NSCFString autoreleased with no pool in place - just leaking

Categories

(Core :: Widget: Cocoa, defect, critical)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: ssvpvq, Assigned: jfkthame)

Details

(Whiteboard: [fixed-in-cedar])

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b11) Gecko/20100101 Firefox/4.0b11
Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b11) Gecko/20100101 Firefox/4.0b11

2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x117918a20 of class NSCFString autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791bff0 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791c260 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x101e0a2b0 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x101e0a0a0 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x101e05e40 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x101e09200 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x101e79640 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791c110 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791c150 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791cb60 of class NSPathStore2 autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791c830 of class __NSCFDate autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791da20 of class NSCFString autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791cde0 of class NSCFString autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791ca30 of class NSCFSet autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791da10 of class __NSCFDate autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x11791d010 of class NSCFTimer autoreleased with no pool in place - just leaking
2/16/11 1:03:59 PM	firefox-bin[275]	*** __NSAutoreleaseNoPool(): Object 0x103581600 of class __NSCFDate autoreleased with no pool in place - just leaking

Reproducible: Always

Steps to Reproduce:
1. I start firefox
2. The memory leak starts
3. It won't stop
Actual Results:  
I've clear all user/system caches and still the same result.


Using default theme.
Group: core-security
Summary: Major Memory Leak → __NSAutoreleaseNoPool(): Object 0x117918a20 of class NSCFString autoreleased with no pool in place - just leaking
This has gotten worse... I just logged the __NSAutoreleaseNoPool() messages issued while Minefield was starting up, and there were 180 of them.

They all seem to originate from Cocoa methods called from the nsNativeThemeCocoa constructor; I assume this gets used during startup to create the browser window, before the main event loop (with its autorelease pool) has been set up.
Status: UNCONFIRMED → NEW
Ever confirmed: true
This catches all those 180 objects and releases them properly.
Assignee: nobody → jfkthame
Attachment #524797 - Flags: review?(joshmoz)
Component: General → Widget: Cocoa
Product: Firefox → Core
QA Contact: general → cocoa
Comment on attachment 524797 [details] [diff] [review]
patch, add a local autorelease pool to nsNativeThemeCocoa constructor

Please put it inside the exception guards if possible.
Attachment #524797 - Flags: review?(joshmoz) → review+
> Please put it inside the exception guards if possible.

Done; pushed to cedar:

  http://hg.mozilla.org/projects/cedar/rev/1682b9967a8a
Whiteboard: [fixed-in-cedar]
Pushed to m-c http://hg.mozilla.org/mozilla-central/rev/1682b9967a8a
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
This seems to have fixed (or solved … ?) bug 577599; or is that accidental ?
(In reply to comment #6)
> This seems to have fixed (or solved … ?) bug 577599; or is that accidental ?

Yes, I think that was really the same bug. Any execution path that created a window prior to initializing the event loop could trigger this. Changes to startup behavior could easily affect the precise scenarios where it happens, but all the examples look like plausible cases of this.
You need to log in before you can comment on or make changes to this bug.