Open
Bug 759819
Opened 13 years ago
Updated 1 year ago
Various necko objects not releasing nsIRequestObservers after OnStop
Categories
(Core :: Networking, defect, P2)
Tracking
()
NEW
mozilla49
Tracking | Status | |
---|---|---|
firefox49 | --- | fixed |
People
(Reporter: jduell.mcbugs, Unassigned)
References
Details
(Whiteboard: [necko-backlog][necko-priority-next])
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
Necko channels have a contract (see nsIChannel::asyncOpen) where they release their ref to the listener after the last callback is completed. But as I'm finding in bug 748766 comment 10, we've got channels hanging onto some listeners (in this case, WebsocketChannels) until they're destroyed.
I'm doing a quick audit to see if there are other places in necko where we don't release after OnStop--another patch to follow (or maybe separate bug).
Attachment #628381 -
Flags: review?(mcmanus)
Comment 1•13 years ago
|
||
> Necko channels have a contract (see nsIChannel::asyncOpen) where they
> release their ref to the listener after the last callback is completed.
I don't have a problem believing this - indeed I do! But I don't see that clearly spelled out in nsIChannel as you indicate. Maybe we can make that explicit or am I missing it entirely?
Comment 2•13 years ago
|
||
Comment on attachment 628381 [details] [diff] [review]
teach 3 necko classes to release listeners after OnStopRequest
Review of attachment 628381 [details] [diff] [review]:
-----------------------------------------------------------------
this is good research!
::: netwerk/base/public/nsStreamListenerWrapper.h
@@ +25,5 @@
>
> + // Don't use NS_FORWARD_NSIREQUESTOBSERVER(mListener->) here, because we need
> + // to release mListener in OnStopRequest, and IDL-generated function doesn't.
> + NS_SCRIPTABLE NS_IMETHOD OnStartRequest(nsIRequest *aRequest,
> + nsISupports *aContext)
"and *a* IDL-ge.." ?
Attachment #628381 -
Flags: review?(mcmanus) → review+
Comment 3•13 years ago
|
||
Might be also related to bug 746255.
Comment 4•9 years ago
|
||
why is this r+ patch stalled?
Assignee: nobody → jduell.mcbugs
Flags: needinfo?(jduell.mcbugs)
Whiteboard: [necko-active]
Reporter | ||
Comment 5•9 years ago
|
||
Try run looks good:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5e742f847295
Flags: needinfo?(jduell.mcbugs)
Reporter | ||
Comment 6•9 years ago
|
||
Attachment #628381 -
Attachment is obsolete: true
Attachment #8753080 -
Flags: review+
Comment 8•9 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
Reporter | ||
Comment 9•9 years ago
|
||
Backed out for crashes (see bug 1274279)
https://hg.mozilla.org/integration/mozilla-inbound/rev/7f39530aedec
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reporter | ||
Comment 10•8 years ago
|
||
Not sure when I'll get to this again, so freeing it back to the necko backlog. If someone wants to give it a try, I recommend applying only some of the patch and see which part is breaking things.
Assignee: jduell.mcbugs → nobody
Whiteboard: [necko-active] → [necko-backlog]
Comment 11•7 years ago
|
||
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: -- → P1
Comment 12•7 years ago
|
||
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: P1 → P3
Updated•2 years ago
|
Severity: normal → S3
Comment 13•1 year ago
|
||
As far as I can tell, this got backed out for regressing XPCOM extensions. We no longer have those, and it seems the issue outlined in this patch is still valid.
Status: REOPENED → NEW
Priority: P3 → P2
Whiteboard: [necko-backlog] → [necko-backlog][necko-priority-next]
You need to log in
before you can comment on or make changes to this bug.
Description
•