Bug 4469
| Summary: | LEAKS: there are leaks when you surf to http://www.spiegel.de | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Denis Ahrens <denis> |
| Component: | WebKit Misc. | Assignee: | Chris Blumenberg <cblu> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | ||
| Priority: | P2 | ||
| Version: | 420+ | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
| URL: | http://www.spiegel.de | ||
Denis Ahrens
Process 3416: 57572 nodes malloced for 10678 KB
Process 3416: 1 leak for 16 total leaked bytes.
Leak: 0x0c2f27b0 size=16 string 'Safari'
Call stack: [thread 26df]: | 0x1 | 0x57190 | 0x26e0 | NSApplicationMain | -[NSApplication run] |
0x7038 | -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] | _DPSNextEvent |
BlockUntilNextEventMatchingListInMode | ReceiveNextEventCommon | RunCurrentEventLoopInMode |
CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoSources0 | _sendCallbacks | -
[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] | -[NSURLConnection
(NSURLConnectionInternal) _sendDidReceiveDataCallback] | -[WebLoader
connection:didReceiveData:lengthReceived:] | -[WebMainResourceLoader
didReceiveData:lengthReceived:] | -[WebLoader didReceiveData:lengthReceived:] | -
[WebMainResourceLoader addData:] | -[WebDataSource(WebPrivate) _receivedData:] | KHTMLPart::write
(char const*, int) | khtml::HTMLTokenizer::write(khtml::TokenizerString const&, bool) |
khtml::HTMLTokenizer::parseTag(khtml::TokenizerString&) | khtml::HTMLTokenizer::parseSpecial
(khtml::TokenizerString&) | khtml::HTMLTokenizer::scriptHandler() |
khtml::HTMLTokenizer::scriptExecution(QString const&, QString, int) | KHTMLPart::executeScript
(QString, int, DOM::NodeImpl*, QString const&) | KJSProxyImpl::evaluate(QString, int, QString const&,
DOM::NodeImpl*) | KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UString const&,
KJS::ValueImp*) | KJS::InterpreterImp::evaluate(KJS::UString const&, KJS::ValueImp*, KJS::UString const&,
int) | KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::ExprStatementNode::execute(KJS::ExecState*) | KJS::FunctionCallResolveNode::evaluate
(KJS::ExecState*) | KJS::ObjectImp::call(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::DeclaredFunctionImp::execute(KJS::ExecState*) | KJS::BlockNode::execute(KJS::ExecState*) |
KJS::SourceElementsNode::execute(KJS::ExecState*) | KJS::IfNode::execute(KJS::ExecState*) |
KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::ExprStatementNode::execute(KJS::ExecState*) | KJS::FunctionCallDotNode::evaluate(KJS::ExecState*)
| KJS::ObjectImp::call(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::HTMLDocFunction::callAsFunction(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
DOM::DocumentImpl::write(DOM::DOMString const&) | DOM::DocumentImpl::write(QString const&) |
khtml::HTMLTokenizer::write(khtml::TokenizerString const&, bool) |
khtml::HTMLTokenizer::parseSpecial(khtml::TokenizerString&) | khtml::HTMLTokenizer::scriptHandler()
| khtml::HTMLTokenizer::scriptExecution(QString const&, QString, int) | KHTMLPart::executeScript
(QString, int, DOM::NodeImpl*, QString const&) | KJSProxyImpl::evaluate(QString, int, QString const&,
DOM::NodeImpl*) | KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UString const&,
KJS::ValueImp*) | KJS::InterpreterImp::evaluate(KJS::UString const&, KJS::ValueImp*, KJS::UString const&,
int) | KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::IfNode::execute(KJS::ExecState*) | KJS::BlockNode::execute(KJS::ExecState*) |
KJS::SourceElementsNode::execute(KJS::ExecState*) | KJS::ExprStatementNode::execute(KJS::ExecState*) |
KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) | KJS::ObjectImp::call(KJS::ExecState*,
KJS::ObjectImp*, KJS::List const&) | KJS::HTMLDocFunction::callAsFunction(KJS::ExecState*,
KJS::ObjectImp*, KJS::List const&) | DOM::DocumentImpl::write(DOM::DOMString const&) |
DOM::DocumentImpl::write(QString const&) | khtml::HTMLTokenizer::write(khtml::TokenizerString
const&, bool) | khtml::HTMLTokenizer::parseTag(khtml::TokenizerString&) |
khtml::HTMLTokenizer::processToken() | HTMLParser::parseToken(khtml::Token*) |
HTMLParser::insertNode(DOM::NodeImpl*, bool) | khtml::RenderPartObject::updateWidget() |
KHTMLPart::requestObject(khtml::RenderPart*, QString const&, QString const&, QStringList const&,
QStringList const&) | KHTMLPart::requestObject(khtml::ChildFrame*, KURL const&, KParts::URLArgs
const&) | KHTMLPart::processObjectRequest(khtml::ChildFrame*, KURL const&, QString const&) |
KWQKHTMLPart::createPart(khtml::ChildFrame const&, KURL const&, QString const&) | -[WebBridge
viewForPluginWithURL:attributeNames:attributeValues:MIMEType:] | -
[WebNetscapePluginEmbeddedView
initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:] | -
[WebNetscapePluginPackage load] | 0xa9449b4 | 0xa944ac8 | GetDiskFragment |
PCFragPrepareClosureFromFile | malloc
[flashlie:~] denis%
[flashlie:~] denis%
[flashlie:~] denis%
[flashlie:~] denis% leaks Safari
Process 3416: 60966 nodes malloced for 9365 KB
Process 3416: 3 leaks for 256 total leaked bytes.
Leak: 0x09779db0 size=160
0x0000000c 0x00000001 0x00000000 0x00000053 ...............S
0x92920268 0x09751800 0x00000a6c 0x9397b7e4 ...h.u.....l....
0x09724e20 0x00000a6d 0x9397b7e4 0x0c2e4af0 .rN ...m......J.
0x00000a6b 0x9397b7e4 0x09722a40 0x00000a55 ...k.....r*@...U
0x9397b7e4 0x0972dc10 0x00000a57 0x9397b7e4 .....r.....W....
0x0972a830 0x0000098d 0x9397b7e4 0x09729560 .r.0.........r.`
0x00000137 0x9397b7e4 0x09737ad0 0x00000138 ...7.....sz....8
0x9397b7e4 0x09735a40 0x00000000 0x00000008 .....sZ@........
...
Call stack: [thread 26df]: | 0x1 | 0x57190 | 0x26e0 | NSApplicationMain | -[NSApplication run] |
0x7038 | -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] | _DPSNextEvent |
BlockUntilNextEventMatchingListInMode | ReceiveNextEventCommon | RunCurrentEventLoopInMode |
CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoObservers | _handleWindowNeedsDisplay |
0x17598 | -[NSWindow displayIfNeeded] | -[NSView displayIfNeeded] | -[NSViewHierarchyLock
lockForReadingWithExceptionHandler:] | _NSAddExceptionHandlerForLock | _NSAddAltHandler2 | malloc
Leak: 0x09751800 size=80
0x00000008 0x00000000 0x09726890 0x00000000 .........rh.....
0x0065c590 0x00000000 0x0c28de20 0x00000000 .e.......(. ....
0x00000000 0x00000000 0x00000000 0x00000000 ................
0x00000000 0x00000000 0x93683841 0x00000000 .........h8A....
0x00000000 0x00000000 0x00000000 0x00000005 ................
Call stack: [thread 26df]: | 0x1 | 0x57190 | 0x26e0 | NSApplicationMain | -[NSApplication run] |
0x7038 | -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] | _DPSNextEvent |
BlockUntilNextEventMatchingListInMode | ReceiveNextEventCommon | RunCurrentEventLoopInMode |
CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoObservers | _handleWindowNeedsDisplay |
0x17598 | -[NSWindow displayIfNeeded] | -[NSView displayIfNeeded] | -[NSViewHierarchyLock
lockForReadingWithExceptionHandler:] | _NSAddExceptionHandlerForLock
Leak: 0x0c2f27b0 size=16 string 'Safari'
Call stack: [thread 26df]: | 0x1 | 0x57190 | 0x26e0 | NSApplicationMain | -[NSApplication run] |
0x7038 | -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] | _DPSNextEvent |
BlockUntilNextEventMatchingListInMode | ReceiveNextEventCommon | RunCurrentEventLoopInMode |
CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoSources0 | _sendCallbacks | -
[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] | -[NSURLConnection
(NSURLConnectionInternal) _sendDidReceiveDataCallback] | -[WebLoader
connection:didReceiveData:lengthReceived:] | -[WebMainResourceLoader
didReceiveData:lengthReceived:] | -[WebLoader didReceiveData:lengthReceived:] | -
[WebMainResourceLoader addData:] | -[WebDataSource(WebPrivate) _receivedData:] | KHTMLPart::write
(char const*, int) | khtml::HTMLTokenizer::write(khtml::TokenizerString const&, bool) |
khtml::HTMLTokenizer::parseTag(khtml::TokenizerString&) | khtml::HTMLTokenizer::parseSpecial
(khtml::TokenizerString&) | khtml::HTMLTokenizer::scriptHandler() |
khtml::HTMLTokenizer::scriptExecution(QString const&, QString, int) | KHTMLPart::executeScript
(QString, int, DOM::NodeImpl*, QString const&) | KJSProxyImpl::evaluate(QString, int, QString const&,
DOM::NodeImpl*) | KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UString const&,
KJS::ValueImp*) | KJS::InterpreterImp::evaluate(KJS::UString const&, KJS::ValueImp*, KJS::UString const&,
int) | KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::ExprStatementNode::execute(KJS::ExecState*) | KJS::FunctionCallResolveNode::evaluate
(KJS::ExecState*) | KJS::ObjectImp::call(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::DeclaredFunctionImp::execute(KJS::ExecState*) | KJS::BlockNode::execute(KJS::ExecState*) |
KJS::SourceElementsNode::execute(KJS::ExecState*) | KJS::IfNode::execute(KJS::ExecState*) |
KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::ExprStatementNode::execute(KJS::ExecState*) | KJS::FunctionCallDotNode::evaluate(KJS::ExecState*)
| KJS::ObjectImp::call(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
KJS::HTMLDocFunction::callAsFunction(KJS::ExecState*, KJS::ObjectImp*, KJS::List const&) |
DOM::DocumentImpl::write(DOM::DOMString const&) | DOM::DocumentImpl::write(QString const&) |
khtml::HTMLTokenizer::write(khtml::TokenizerString const&, bool) |
khtml::HTMLTokenizer::parseSpecial(khtml::TokenizerString&) | khtml::HTMLTokenizer::scriptHandler()
| khtml::HTMLTokenizer::scriptExecution(QString const&, QString, int) | KHTMLPart::executeScript
(QString, int, DOM::NodeImpl*, QString const&) | KJSProxyImpl::evaluate(QString, int, QString const&,
DOM::NodeImpl*) | KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UString const&,
KJS::ValueImp*) | KJS::InterpreterImp::evaluate(KJS::UString const&, KJS::ValueImp*, KJS::UString const&,
int) | KJS::BlockNode::execute(KJS::ExecState*) | KJS::SourceElementsNode::execute(KJS::ExecState*) |
KJS::IfNode::execute(KJS::ExecState*) | KJS::BlockNode::execute(KJS::ExecState*) |
KJS::SourceElementsNode::execute(KJS::ExecState*) | KJS::ExprStatementNode::execute(KJS::ExecState*) |
KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) | KJS::ObjectImp::call(KJS::ExecState*,
KJS::ObjectImp*, KJS::List const&) | KJS::HTMLDocFunction::callAsFunction(KJS::ExecState*,
KJS::ObjectImp*, KJS::List const&) | DOM::DocumentImpl::write(DOM::DOMString const&) |
DOM::DocumentImpl::write(QString const&) | khtml::HTMLTokenizer::write(khtml::TokenizerString
const&, bool) | khtml::HTMLTokenizer::parseTag(khtml::TokenizerString&) |
khtml::HTMLTokenizer::processToken() | HTMLParser::parseToken(khtml::Token*) |
HTMLParser::insertNode(DOM::NodeImpl*, bool) | khtml::RenderPartObject::updateWidget() |
KHTMLPart::requestObject(khtml::RenderPart*, QString const&, QString const&, QStringList const&,
QStringList const&) | KHTMLPart::requestObject(khtml::ChildFrame*, KURL const&, KParts::URLArgs
const&) | KHTMLPart::processObjectRequest(khtml::ChildFrame*, KURL const&, QString const&) |
KWQKHTMLPart::createPart(khtml::ChildFrame const&, KURL const&, QString const&) | -[WebBridge
viewForPluginWithURL:attributeNames:attributeValues:MIMEType:] | -
[WebNetscapePluginEmbeddedView
initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:] | -
[WebNetscapePluginPackage load] | 0xa9449b4 | 0xa944ac8 | GetDiskFragment |
PCFragPrepareClosureFromFile | malloc
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
John Sullivan
There are three different leaks listed here, one in PCFragPrepareClosureFromFile, and two involving
_NSAddExceptionHandlerForLock. All of these are covered by existing Radar bugs, and are problems in
other components (not WebKit). Closing as a duplicate of one of the existing reports of the
PCFragPrepareClosureFromFile bug, 4599.
*** This bug has been marked as a duplicate of 4599 ***