I think we may be missing a ReleaseBindInfo() call in our HttpHandler::StartImpl(). That test case is ends up putting the http handler thru some contortions.
On Fri, Sep 12, 2008 at 12:42 AM, Nigel Tao <[EMAIL PROTECTED]> wrote: > Now that we're counting ProgressInputStream leaks, we do indeed seem > to be leaking them, on IE. In particular, > testPostRedirectBackToCache() in test/testcases/localserver_tests.js > is one test case that has a reliable leak. I think the key factors in > this case is that we're doing a HTTP POST to > /testcases/cgi/server_redirect.py, which as its name suggests, returns > a 302. Changing that HttpRequest to point to a URL that 404's, for > example, doesn't leak. > > I'm poking around in localserver/ie/http_request_ie.cc, but it's not > obvious to me what's going on, since I'm unfamiliar with urlmon, or > really the whole IMoniker thing. For example, should we be responsible > for calling ReleaseBindInfo at any point (currently we don't)? Does > calling BindToStorage with a CComPtr<IStream> be a possible source of > an unbalanced AddRef to ProgressInputStream and do we need to unbind > storage at some point? Is the fact that we're pushing the > ProgressInputStream into a stgmedData, in IEHttpRequest::GetBindInfo, > be related to this leak? > > I can keep poking around, but I was just wondering if you (Michael), > or anyone else, had any hints. >
