Closed Bug 509929 Opened 11 years ago Closed 11 years ago

Reference cycle between nsProgressNotificationProxy and nsHttpChannel on channel redirect


(Core :: Networking, defect)

Not set





(Reporter: bholley, Assigned: bholley)



(Keywords: memory-leak)


(1 file, 1 obsolete file)

Some slight modification (not sure which one) in the behavior of imgRequest that I implemented in bug 435296 uncovered a memory leak that can be reproduced reliably by running
with the current bug 435296 patch applied.

I banged my head against it for about a day and a half before convincing myself that I wasn't doing anything wrong imagelib side and that it was probably a necko bug. I then had the bright idea of asking biesi to look at it, and he diagnosed the problem in 15 minutes.

Basically, we need to set mCallbacks and mProgressSink to null here:

nsProgressEventSink should also implement nsIChannelEventSink so that it can update mChannel when the channel changes.

Patch coming soon.
Attached patch patch v1 (obsolete) — Splinter Review
Added a patch. Flagging biesi for review.
Attachment #394014 - Flags: review?(cbiesinger)
Comment on attachment 394014 [details] [diff] [review]
patch v1

+    // ..and the old callbacks

maybe make that 3 dots for consistency?
Attachment #394014 - Flags: review?(cbiesinger) → review+
fwiw, this is not an issue with redirects in general, just when the redirect is due to PAC. (and in that case, it could also cause memory leaks in other places)
Keywords: mlk
OS: Mac OS X → All
Hardware: x86 → All
Blocks: 435296
Attached patch patch v2Splinter Review
fixed the .
Attachment #394014 - Attachment is obsolete: true
pushed to mc in 7b05cc2cb9ee.

Resolving as fixed.
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.