RESOLVED FIXED 10834
FileChooser constructor in FileChooserMac appears to overretain m_controller
https://bugs.webkit.org/show_bug.cgi?id=10834
Summary FileChooser constructor in FileChooserMac appears to overretain m_controller
Mark Rowe (bdash)
Reported 2006-09-13 05:56:09 PDT
m_controller's initializer (http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/platform/mac/FileChooserMac.mm?rev=16323#L92) reads: , m_controller([[[OpenPanelController alloc] initWithFileChooser:this] retain]) Allocing and then retaining the OpenPanelController seems incorrect to me. If this is intended, it should have some form of explanatory comment as it's not standard practice.
Attachments
Patch (1.21 KB, patch)
2006-09-13 15:50 PDT, Mark Rowe (bdash)
aroben: review+
Mark Rowe (bdash)
Comment 1 2006-09-13 06:10:43 PDT
After trawling through some of Buildbot's leak output, I noticed: Call stack: [thread 252f87]: | 0x0 | start | _start | main | runTest | -[NSRunLoop runMode:beforeDate:] | CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoSources0 | _sendCallbacks | -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] | -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] | -[WebLoader connectionDidFinishLoading:] | -[WebSubresourceLoader didFinishLoading] | -[WebCoreResourceLoaderImp finishWithData:] | -[WebCoreResourceLoaderImp finishJobAndHandle:] | WebCore::Loader::receivedAllData(WebCore::ResourceLoader*, NSData*) | WebCore::CachedScript::data(WTF::Vector<char, (unsigned long)0>&, bool) | WebCore::CachedScript::checkNotify() | WebCore::HTMLTokenizer::notifyFinished(WebCore::CachedResource*) | WebCore::HTMLTokenizer::write(WebCore::SegmentedString const&, bool) | WebCore::HTMLTokenizer::parseTag(WebCore::SegmentedString&, WebCore::HTMLTokenizer::State) | WebCore::HTMLTokenizer::processToken() | WebCore::HTMLParser::parseToken(WebCore::Token*) | WebCore::HTMLParser::insertNode(WebCore::Node*, bool) | WebCore::HTMLInputElement::attach() | WebCore::HTMLGenericFormElement::attach() | WebCore::Element::attach() | WebCore::Node::createRendererIfNeeded() | WebCore::HTMLInputElement::createRenderer(WebCore::RenderArena*, WebCore::RenderStyle*) | WebCore::RenderFileUploadControl::RenderFileUploadControl[in-charge](WebCore::Node*) | WebCore::FileChooser::FileChooser[in-charge](WebCore::Document*, WebCore::RenderFileUploadControl*) | NSAllocateObject | _internal_class_createInstanceFromZone Leak: 0x1d406050 size=16 instance of 'OpenPanelController' (http://build.webkit.org/results/post-commit-leaks-powerpc-mac-os-x/2531/DumpRenderTree-leaks.txt) This seems to confirm that it is being overretained.
Mark Rowe (bdash)
Comment 2 2006-09-13 15:50:09 PDT
Adam Roben (:aroben)
Comment 3 2006-09-13 15:56:39 PDT
Comment on attachment 10550 [details] Patch r=me. Thanks for catching this!
Mark Rowe (bdash)
Comment 4 2006-09-13 21:57:09 PDT
Landed in r16358.
Note You need to log in before you can comment on or make changes to this bug.