Seems like _destroystream() (in ns4xPlugin.cpp) should do more cleaning up of the underlying necko streams than it does, like, closing it etc. And the ownership of the underlying stream is far from obvious, and should be clarified in the code.
From related code comments the primary concern seems to be what we store for stream ndata. I'm working on that code now, taking this.
Created attachment 625102 [details] [diff] [review] fix v1.0 I didn't find any problems during my review of stream cleanup, but there are some things that can be more clear. This patch is largely improving comments, but it also does a little bit of re-organization and makes owning references more clear. It pushes necessary strong references further down in the stream cleanup process to make their necessity clearer.
Try server run: https://tbpl.mozilla.org/?tree=Try&rev=f4b4a651e203
pushed to mozilla-inbound http://hg.mozilla.org/integration/mozilla-inbound/rev/407014e60866