Closed Bug 14121 Opened 25 years ago Closed 25 years ago

MLK: load group or docloader

Categories

(Core :: Networking, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bruce, Assigned: rpotts)

Details

When loading test #1 in viewer, a loadgroup leaks, but this may just as well be
a docloader leak.  Build from morning of September 16.
Assignee: gagan → rpotts
assigining to the guru who understands this
Status: NEW → ASSIGNED
This is really starting to piss me off :-)
I've found the problem...  Any page with images causes the loadgroup to leak
because of incorrect nsCOMPtr usage...

I'm building the fixes right now and will check them in as soon as they are
verified...
You might want to open a new bug on this one:  I checked things out a bit with
viewer on Solaris (GTK).  We create 2 docloaders during startup, then a document
bind info.  After the page loads, the document bind info object is destroyed.
During shutdown, one of the docloaders is destroyed, but not both.  If I knew
what created docloaders in viewer, I might be able to help.  I'm assuming one
for throbber and one for content?  (This was with test #0 btw.)
The leaking loadgroups seem to be caused by the following chain:
   nsLoadGroup <-- nsImageNetContext <-- nsImageRequestImpl

It appears that this only happens when accessing http:// urls...  Why? I don't
know...  I've been deep in the imagelib for the last two days trying to figure
out what's going on.

I believe that with the changes that I've checked in so far, file:// URLs should
*not* leak load groups in the viewer...

Unfortunately, this will *only* fix the viewer.  It appears that nsXULDocument
is leaking.  This also has a reference to the LoadGroup - as well as a boat-load
of other things :-(
See bug #14291 for the XUL document leaking which is now fixed.
I've made the nsILoadGroup a weak reference in the ImageNetContext...  I think
that is should also be weak in nsDocument.

This doesn't resolve the issue that ImagenetContexts are leaking - of course...
It looks like the problem there is that IL_Shutdown(...) is not being called
because the nsImageManager is *not* a service, so it has a global static
reference...
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
I've made the references to the LoadGroup in nsDocument into nsWeakPtrs.  This
means that the only hard references to the LoadGroup are by the nsDocLoader and
the necko channels...
bruce, can you help us verify this bug? If you agree the resolution is correct,
please mark it as Verified. Thanks.
Bulk move of all Necko (to be deleted component) bugs to new Networking

component.
old bug - marking verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.