Closed
Bug 465493
Opened 16 years ago
Closed 16 years ago
Console logs "Camino *** _NSAutoreleaseNoPool() - just leaking" when visiting https site
Categories
(Camino Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Camino2.0
People
(Reporter: suishouen, Assigned: stuart.morgan+bugzilla)
References
Details
(Keywords: memory-leak, regression)
Attachments
(2 files, 1 obsolete file)
13.73 KB,
text/plain
|
Details | |
3.13 KB,
patch
|
mikepinkerton
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en; rv:1.9.0.5pre) Gecko/2008111800 Camino/2.0b1pre (like Firefox/3.0.5pre)
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en; rv:1.9.0.5pre) Gecko/2008111800 Camino/2.0b1pre (like Firefox/3.0.5pre)
Console logs Camino *** _NSAutoreleaseNoPool() - just leaking
Console Log:
------
2008-11-18 18:13:39.343 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x127a2e00 of class NSCFString autoreleased with no pool in place - just leaking
2008-11-18 18:13:39.343 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x1279ae30 of class NSCFString autoreleased with no pool in place - just leaking
2008-11-18 18:13:39.343 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x127a48d0 of class NSCFString autoreleased with no pool in place - just leaking
2008-11-18 18:13:39.343 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x1276afb0 of class NSCFCharacterSet autoreleased with no pool in place - just leaking
2008-11-18 18:13:39.343 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x12760f90 of class NSConcreteScanner autoreleased with no pool in place - just leaking
2008-11-18 18:13:42.350 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x125ef910 of class NSCFString autoreleased with no pool in place - just leaking
2008-11-18 18:13:42.350 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x12585b20 of class NSCFCharacterSet autoreleased with no pool in place - just leaking
2008-11-18 18:13:42.350 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x1271c2c0 of class NSCFString autoreleased with no pool in place - just leaking
2008-11-18 18:13:42.350 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x125dca50 of class NSCFCharacterSet autoreleased with no pool in place - just leaking
2008-11-18 18:13:42.350 Camino[28934] *** _NSAutoreleaseNoPool(): Object 0x103379c0 of class NSCFString autoreleased with no pool in place - just leaking
------
Reproducible: Always
Steps to Reproduce:
1. Open <https://bugzilla.mozilla.org/buglist.cgi?product=Camino&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bugidtype=include&changedin=1&chfieldfrom=&chfieldto=Now&chfieldvalue=&&order=bugs.bug_id&query_based_on=>
2. Open in a new tab Bug 395113
This happens since 2008-11-18-00-2.0-M1.9.
2008-11-17-01-2.0-M1.9 has no Console log.
![]() |
||
Comment 1•16 years ago
|
||
With those STR, that only seems to happen when _not_ logged in into bugzilla.
(and it doesn't matter which bug you load)
Another case:STR
1) Open http://www.macsurfer.com/
2) Open a link InternetNews.com (OS X > News) in a new tab.
Assignee | ||
Comment 3•16 years ago
|
||
Is this a recent regression? If so, it would be great if we knew which build it started in.
![]() |
||
Comment 5•16 years ago
|
||
Sam will be thrilled to learn that a leak was landed on a stable branch.
Severity: normal → critical
Keywords: mlk,
regression
I should add, those are all Core checkins, and nothing that even looks Mac-specific :-(
Do you see the Console spew in the corresponding Firefox 3.0.x/GranParadiso nightlies?
![]() |
||
Comment 9•16 years ago
|
||
Test case that triggers this reliably.:
https://bugzilla.mozilla.org/attachment.cgi?id=348832
(attached to bug 465574)
Unfortunately, I can't repro it with either Minefield or Gran Paradiso (20081118 builds), at least with those pages that trigger it in Camino.
![]() |
||
Comment 10•16 years ago
|
||
(In reply to comment #9)
> Test case that triggers this reliably.:
> https://bugzilla.mozilla.org/attachment.cgi?id=348832
> (attached to bug 465574)
When served over https only
Reporter | ||
Comment 11•16 years ago
|
||
(In reply to comment #10)
> When served over https only
Yes.
It seems to happen when to open https pages.
Sample Case : <https://wwws.clamav.net/bugzilla/>
Since the NSS checkins in there should be on NSS trunk (and therefore shouldn't be part of the pull), the most likely looking changes to me are from Blake and Boris, though none of them really jump out at me.
As I have time, I'm going to check out by date through those checkins and see if I can narrow it down more. Blake or Boris, do either of you have any idea which one of those checkins might be causing these?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Console logs Camino *** _NSAutoreleaseNoPool() - just leaking → Console logs "Camino *** _NSAutoreleaseNoPool() - just leaking" when visiting https site
OK, this broke between
make -f client.mk checkout MOZ_CO_DATE="17 Nov 2008 07:24 PST" (no console spew)
make -f client.mk checkout MOZ_CO_DATE="17 Nov 2008 08:00 PST" (console spew)
That should be Boris in bug 462806.
(Camino 1.6.6pre/2008111801 on the MOZILLA_1_8_BRANCH doesn't suffer from this problem, despite a version of that patch landing there.)
Blocks: 462806
Attached is a more complete section of console.log, with the full error messages (not sure if it's useful or not).
Also, this reminded me a bit of the bug I filed on xpcshell leaking during MochiTests (see bug 432189 comment 1 where Waldo is talking about loading jars being the source; maybe that's just coincidence/red-herring).
Reporter | ||
Comment 15•16 years ago
|
||
Just for reference:
1) Backing out libjar files checked in for Bug 462806;
-mozilla/modules/libjar/nsJAR.h: Version 1.54 --> Version 1.53
-mozilla/modules/libjar/nsJAR.cpp: Version 1.132 --> Version 1.130
2) Pulling latest sources (2008/11/19 05:00 PST) except for libjar two files
3) I build Camino/2.0b1pre for test.
4) Results: Console logs nothing when opening https pages
![]() |
||
Comment 16•16 years ago
|
||
Interesting. All I did was move PSM initialization from startup to the first time you load an https page (or perform some other crypto operation).
Given that nsAppShell::nsAppShell sets up an autorelease pool, as far as I can see, I don't see how these messages can really come up. Camino certainly uses nsAppShell, right?
Are autorelease pools per-thread? Can someone get me a stack to one of those deallocations that can't find a pool?
Assignee | ||
Comment 17•16 years ago
|
||
(In reply to comment #16)
> Camino certainly uses nsAppShell, right?
Yep, and our event loop has its own enclosing pool provided automatically by AppKit.
> Are autorelease pools per-thread?
Yes, a new thread that works with autoreleased objects is responsible for creating and managing its own pool.
Assignee | ||
Comment 18•16 years ago
|
||
Camino is pretty much the only user of NSScanner; maybe one of our methods is now being called from a background thread that doesn't have a pool set up? I'll try to debug this a bit tonight.
Assignee | ||
Comment 19•16 years ago
|
||
This was our fault; we didn't take into account the possibility of string lookups happening on a background thread. We shouldn't have been assuming that a pool would be in place for this function.
I also noticed that we forgot to do exception handling, so I went ahead and fixed that as well.
Assignee: nobody → stuart.morgan+bugzilla
Status: NEW → ASSIGNED
Attachment #349129 -
Flags: superreview?(mikepinkerton)
Assignee | ||
Comment 20•16 years ago
|
||
Removing the blocking relationship, since the bug was already here; bug 462806 just made it easy to trigger.
No longer blocks: 462806
Comment 21•16 years ago
|
||
+ if (!overrideStr || [overrideStr isEqualToString:keyStr])
+ return NS_ERROR_FAILURE;
leaks the pool
Assignee | ||
Comment 22•16 years ago
|
||
Now with less leaking.
Attachment #349129 -
Attachment is obsolete: true
Attachment #349800 -
Flags: superreview?(mikepinkerton)
Attachment #349129 -
Flags: superreview?(mikepinkerton)
Updated•16 years ago
|
Attachment #349800 -
Flags: superreview?(mikepinkerton) → superreview+
Comment 23•16 years ago
|
||
Comment on attachment 349800 [details] [diff] [review]
v2
sr=pink
Assignee | ||
Comment 24•16 years ago
|
||
Landed on CVS trunk.
Severity: critical → major
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Target Milestone: --- → Camino2.0
You need to log in
before you can comment on or make changes to this bug.
Description
•