I'm seeing a bunch of leaks when running even simple layout tests (i.e. run-webkit-tests --debug --leaks fast/js/typeof-syntax.html). This ring any bells for anyone?: start main dumpRenderTree(int, char const**) runTestingServerLoop() runTest(std::basic_string<char, std::char_traits<char>, std::allocator<char>
const&) -[NSRunLoop(NSRunLoop) runMode:beforeDate:] CFRunLoopRunInMode CFRunLoopRunSpecific MultiplexerSource::perform() URLConnectionClient::processEvents() URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) _NSURLConnectionDidFinishLoading -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) WebCore::SubresourceLoader::didFinishLoading() WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) WebCore::CachedCSSStyleSheet::data(WTF::PassRefPtr<WebCore::SharedBuffer>, bool) WebCore::CachedCSSStyleSheet::checkNotify() WebCore::HTMLLinkElement::setCSSStyleSheet(WebCore::String const&, WebCore::String const&, WebCore::CachedCSSStyleSheet const*) WebCore::CSSStyleSheet::checkLoaded() WebCore::HTMLLinkElement::sheetLoaded() WebCore::Document::removePendingSheet() WebCore::HTMLTokenizer::executeScriptsWaitingForStylesheets() WebCore::HTMLTokenizer::notifyFinished(WebCore::CachedResource*) WebCore::HTMLTokenizer::scriptExecution(WebCore::ScriptSourceCode const&, WebCore::HTMLTokenizer::State) WebCore::FrameLoader::executeScript(WebCore::ScriptSourceCode const&) WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) JSC::evaluate(JSC::ExecState*, JSC::ScopeChain&, JSC::SourceCode const&, JSC::JSValue) WTF::PassRefPtr<JSC::ProgramNode> JSC::Parser::parse<JSC::ProgramNode>(JSC::ExecState*, JSC::Debugger*, JSC::SourceCode const&, int*, JSC::UString*) JSC::Parser::parse(JSC::JSGlobalData*, int*, JSC::UString*) jscyyparse(void*) JSC::ParserArenaDeletable::operator new(unsigned long) WTF::fastMalloc(unsigned long) malloc malloc_zone_malloc
On Thu, Aug 13, 2009 at 12:09 PM, Drew Wilson <atwilson@google.com> wrote:
WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) JSC::evaluate(JSC::ExecState*, JSC::ScopeChain&, JSC::SourceCode const&, JSC::JSValue) WTF::PassRefPtr<JSC::ProgramNode> JSC::Parser::parse<JSC::ProgramNode>(JSC::ExecState*, JSC::Debugger*, JSC::SourceCode const&, int*, JSC::UString*) JSC::Parser::parse(JSC::JSGlobalData*, int*, JSC::UString*) jscyyparse(void*) JSC::ParserArenaDeletable::operator new(unsigned long) WTF::fastMalloc(unsigned long) malloc malloc_zone_malloc
Is it expected that we wind up in JSC::Parser? That seems odd to me, I would have expected us to be in V8::something. PK
On Thu, Aug 13, 2009 at 12:20 PM, Peter Kasting <pkasting@google.com> wrote:
Is it expected that we wind up in JSC::Parser? That seems odd to me, I would have expected us to be in V8::something.
Wow, I misread run-webkit-tests as run_webkit_tests (the Chromium script) AND thought this was a chrome-team email instead of a webkit-dev one. Don't I look retarded. Sorry for the noise :P PK
I believe this is a regression from <http://trac.webkit.org/changeset/47089
.
This can be fixed by using the version of operator new that takes a JSGlobalData* when creating FuncDeclNode and FuncExprNode objects. Should be very quick to do. -- Darin
On 2009-08-13, at 12:22, Darin Adler wrote:
I believe this is a regression from <http://trac.webkit.org/changeset/47089
.
This can be fixed by using the version of operator new that takes a JSGlobalData* when creating FuncDeclNode and FuncExprNode objects. Should be very quick to do.
I had been looking at this before I saw this thread and came to the same conclusion. I landed the fix in <http://trac.webkit.org/changeset/47225
. It dramatically reduces the leakiness.
- Mark
participants (4)
-
Darin Adler
-
Drew Wilson
-
Mark Rowe
-
Peter Kasting