WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
16623
ASSERTION FAILED: Uncaught exception - lockFocus sent to a view whose window is deferred and does not yet have a corresponding platform window
https://bugs.webkit.org/show_bug.cgi?id=16623
Summary
ASSERTION FAILED: Uncaught exception - lockFocus sent to a view whose window ...
David Kilzer (:ddkilzer)
Reported
2007-12-27 07:04:33 PST
* SUMMARY Either a specific Yahoo! Mail message or the Fandango web site is triggering an uncaught exception in WebKit. I haven't determined what's causing the issue; will investigate further. * CONSOLE 2007-12-27 08:58:10.405 Safari[9564] *** Assertion failure in -[WebNetscapePluginDocumentView lockFocus], AppKit.subproj/NSView.m:3248 ASSERTION FAILED: Uncaught exception - lockFocus sent to a view whose window is deferred and does not yet have a corresponding platform window 0 (/path/to/WebKit/WebCore/platform/mac/BlockExceptions.mm:36 ReportBlockedObjCException) * STACK Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_INVALID_ADDRESS (0x0001) at 0xbbadbeef Thread 0 Crashed: 0 com.apple.WebCore 0x0102bc34 ReportBlockedObjCException(NSException*) + 88 (BlockExceptions.mm:36) 1 com.apple.WebCore 0x01576f40 WebCore::Widget::addToSuperview(NSView*) + 212 (WidgetMac.mm:262) 2 com.apple.WebCore 0x0151664c WebCore::ScrollView::addChild(WebCore::Widget*) + 452 (ScrollViewMac.mm:313) 3 com.apple.WebCore 0x0144beb0 WebCore::RenderWidget::setWidget(WebCore::Widget*) + 936 (RenderWidget.cpp:150) 4 com.apple.WebCore 0x013f2630 WebCore::RenderPart::setWidget(WebCore::Widget*) + 168 (RenderPart.cpp:68) 5 com.apple.WebCore 0x011a49c0 WebCore::FrameLoader::loadPlugin(WebCore::RenderPart*, WebCore::KURL const&, WebCore::String const&, WTF::Vector<WebCore::String, (unsigned long)0> const&, WTF::Vector<WebCore::String, (unsigned long)0> const&, bool) + 600 (FrameLoader.cpp:1628) 6 com.apple.WebCore 0x011b32a4 WebCore::FrameLoader::requestObject(WebCore::RenderPart*, WebCore::String const&, WebCore::AtomicString const&, WebCore::String const&, WTF::Vector<WebCore::String, (unsigned long)0> const&, WTF::Vector<WebCore::String, (unsigned long)0> const&) + 484 (FrameLoader.cpp:1581) 7 com.apple.WebCore 0x013f46e8 WebCore::RenderPartObject::updateWidget(bool) + 4276 (RenderPartObject.cpp:262) 8 com.apple.WebCore 0x011bc718 WebCore::FrameView::performPostLayoutTasks() + 308 (FrameView.cpp:876) 9 com.apple.WebCore 0x011bd6a4 WebCore::FrameView::layout(bool) + 3504 (FrameView.cpp:499) 10 com.apple.WebCore 0x01133b94 WebCore::Document::updateLayout() + 260 (Document.cpp:1146) 11 com.apple.WebCore 0x01141d64 WebCore::Document::updateLayoutIgnorePendingStylesheets() + 256 (Document.cpp:1178) 12 com.apple.WebCore 0x011e02e4 WebCore::HTMLEmbedElement::getInstance() const + 288 (HTMLEmbedElement.cpp:84) 13 com.apple.WebCore 0x015adeb4 WebCore::getRuntimeObject(KJS::ExecState*, WebCore::Node*) + 288 (kjs_dom.cpp:103) 14 com.apple.WebCore 0x015b1380 WebCore::runtimeObjectCustomGetOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&, WebCore::JSHTMLElement*, WebCore::HTMLElement*) + 64 (kjs_html.cpp:103) 15 com.apple.WebCore 0x012aa9bc WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&) + 80 (JSHTMLEmbedElementCustom.cpp:39) 16 com.apple.WebCore 0x012aa130 WebCore::JSHTMLEmbedElement::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&) + 144 (JSHTMLEmbedElement.cpp:147) 17 com.apple.JavaScriptCore 0x0061dcbc KJS::JSObject::getPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&) + 88 (object.h:550) 18 com.apple.JavaScriptCore 0x0056f958 KJS::JSObject::get(KJS::ExecState*, KJS::Identifier const&) const + 52 (object.cpp:163) 19 com.apple.JavaScriptCore 0x0066f1fc KJS::DotAccessorNode::inlineEvaluate(KJS::ExecState*) + 184 (nodes.cpp:803) 20 com.apple.JavaScriptCore 0x005ad9fc KJS::DotAccessorNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:808) 21 com.apple.JavaScriptCore 0x005ac848 KJS::TypeOfValueNode::evaluate(KJS::ExecState*) + 84 (nodes.cpp:1705) 22 com.apple.JavaScriptCore 0x0066df70 KJS::NotEqualNode::inlineEvaluateToBoolean(KJS::ExecState*) + 84 (nodes.cpp:2804) 23 com.apple.JavaScriptCore 0x005aad38 KJS::NotEqualNode::evaluateToBoolean(KJS::ExecState*) + 40 (nodes.cpp:2819) 24 com.apple.JavaScriptCore 0x005aa458 KJS::LogicalAndNode::evaluateToBoolean(KJS::ExecState*) + 212 (nodes.cpp:3027) 25 com.apple.JavaScriptCore 0x005aa3d8 KJS::LogicalAndNode::evaluateToBoolean(KJS::ExecState*) + 84 (nodes.cpp:3025) 26 com.apple.JavaScriptCore 0x005aa3d8 KJS::LogicalAndNode::evaluateToBoolean(KJS::ExecState*) + 84 (nodes.cpp:3025) 27 com.apple.JavaScriptCore 0x005aa3d8 KJS::LogicalAndNode::evaluateToBoolean(KJS::ExecState*) + 84 (nodes.cpp:3025) 28 com.apple.JavaScriptCore 0x005a86b8 KJS::IfElseNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3667) 29 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 30 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 31 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 32 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 33 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 34 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 35 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 36 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 37 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 38 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 39 com.apple.JavaScriptCore 0x005a886c KJS::IfNode::execute(KJS::ExecState*) + 208 (nodes.cpp:3654) 40 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 41 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 42 com.apple.JavaScriptCore 0x005a7cec KJS::ForInNode::execute(KJS::ExecState*) + 2036 (nodes.cpp:3909) 43 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 44 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 45 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 46 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 47 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 48 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 49 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 50 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 51 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 52 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 53 com.apple.JavaScriptCore 0x005a886c KJS::IfNode::execute(KJS::ExecState*) + 208 (nodes.cpp:3654) 54 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 55 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 56 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 57 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 58 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 59 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 60 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 61 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 62 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 63 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 64 com.apple.JavaScriptCore 0x005a5700 KJS::TryNode::execute(KJS::ExecState*) + 84 (nodes.cpp:4179) 65 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 66 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 67 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 68 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 69 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 70 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 71 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 72 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 73 com.apple.JavaScriptCore 0x005a8734 KJS::IfElseNode::execute(KJS::ExecState*) + 208 (nodes.cpp:3671) 74 com.apple.JavaScriptCore 0x005a8778 KJS::IfElseNode::execute(KJS::ExecState*) + 276 (nodes.cpp:3673) 75 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 76 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 77 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 78 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 79 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 80 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 81 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 82 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 83 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 84 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 85 com.apple.JavaScriptCore 0x005a7fb0 KJS::ForNode::execute(KJS::ExecState*) + 332 (nodes.cpp:3784) 86 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 87 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 88 com.apple.JavaScriptCore 0x005a54f0 KJS::FunctionBodyNode::execute(KJS::ExecState*) + 264 (nodes.cpp:4480) 89 com.apple.JavaScriptCore 0x005af524 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 200 (function.cpp:74) 90 com.apple.JavaScriptCore 0x00596f30 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 304 (object.cpp:96) 91 com.apple.JavaScriptCore 0x0066ff3c KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState*) + 944 (nodes.cpp:1212) 92 com.apple.JavaScriptCore 0x005bae54 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 40 (nodes.cpp:1217) 93 com.apple.JavaScriptCore 0x005a89a8 KJS::ExprStatementNode::execute(KJS::ExecState*) + 84 (nodes.cpp:3617) 94 com.apple.JavaScriptCore 0x005a8734 KJS::IfElseNode::execute(KJS::ExecState*) + 208 (nodes.cpp:3671) 95 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 96 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 97 com.apple.JavaScriptCore 0x005a8778 KJS::IfElseNode::execute(KJS::ExecState*) + 276 (nodes.cpp:3673) 98 com.apple.JavaScriptCore 0x00581198 KJS::statementListExecute(WTF::Vector<WTF::RefPtr<KJS::StatementNode>, (unsigned long)0>&, KJS::ExecState*) + 128 (nodes.cpp:3570) 99 com.apple.JavaScriptCore 0x005812b0 KJS::BlockNode::execute(KJS::ExecState*) + 48 (nodes.cpp:3595) 100 com.apple.JavaScriptCore 0x005a5690 KJS::ProgramNode::execute(KJS::ExecState*) + 56 (nodes.cpp:4460) 101 com.apple.JavaScriptCore 0x005cb188 KJS::Interpreter::evaluate(KJS::ExecState*, KJS::UString const&, int, KJS::UChar const*, int, KJS::JSValue*) + 888 (interpreter.cpp:123) 102 com.apple.WebCore 0x015b46d4 WebCore::KJSProxy::evaluate(WebCore::String const&, int, WebCore::String const&) + 292 (kjs_proxy.cpp:90) 103 com.apple.WebCore 0x0121f72c WebCore::HTMLScriptElement::evaluateScript(WebCore::String const&, WebCore::String const&) + 176 (HTMLScriptElement.cpp:262) 104 com.apple.WebCore 0x0121f828 WebCore::HTMLScriptElement::notifyFinished(WebCore::CachedResource*) + 228 (HTMLScriptElement.cpp:167) 105 com.apple.WebCore 0x0107c98c WebCore::CachedScript::checkNotify() + 108 (CachedScript.cpp:97) 106 com.apple.WebCore 0x0107cb68 WebCore::CachedScript::data(WTF::PassRefPtr<WebCore::SharedBuffer>, bool) + 336 (CachedScript.cpp:89) 107 com.apple.WebCore 0x015bca74 WebCore::Loader::didFinishLoading(WebCore::SubresourceLoader*) + 376 (loader.cpp:116) 108 com.apple.WebCore 0x01537e48 WebCore::SubresourceLoader::didFinishLoading() + 204 (SubresourceLoader.cpp:195) 109 com.apple.WebCore 0x01456a30 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) + 60 (ResourceLoader.cpp:363) 110 com.apple.WebCore 0x014544a8 -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 204 (ResourceHandleMac.mm:456) 111 com.apple.Foundation 0x92c1a7ec -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 188 112 com.apple.Foundation 0x92c18a58 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 556 113 com.apple.Foundation 0x92c187b0 _sendCallbacks + 156 114 com.apple.CoreFoundation 0x907df30c __CFRunLoopDoSources0 + 384 115 com.apple.CoreFoundation 0x907de83c __CFRunLoopRun + 452 116 com.apple.CoreFoundation 0x907de2bc CFRunLoopRunSpecific + 268 117 com.apple.HIToolbox 0x932a0b20 RunCurrentEventLoopInMode + 264 118 com.apple.HIToolbox 0x932a012c ReceiveNextEventCommon + 244 119 com.apple.HIToolbox 0x932a0020 BlockUntilNextEventMatchingListInMode + 96 120 com.apple.AppKit 0x937a6bc4 _DPSNextEvent + 384 121 com.apple.AppKit 0x937a6888 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116 122 com.apple.Safari 0x000095e0 0x1000 + 34272 123 com.apple.AppKit 0x937a2dcc -[NSApplication run] + 472 124 com.apple.AppKit 0x93893974 NSApplicationMain + 452 125 com.apple.Safari 0x0009bad4 0x1000 + 633556 126 com.apple.Safari 0x000022fc 0x1000 + 4860
Attachments
Add attachment
proposed patch, testcase, etc.
David Kilzer (:ddkilzer)
Comment 1
2007-12-27 07:14:10 PST
* STEPS TO REPRODUCE 1. Launch a DEBUG build of WebKit with Safari. 2. Go to URL:
http://www.fandango.com/
* RESULTS WebKit crashes with an assertion failure (see
Comment #0
). * NOTES Reproduced with a local debug build of WebKit
r29000
with Safari 3.0.4 (523.12.2) on Mac OS X 10.4.11 (8S165).
David Kilzer (:ddkilzer)
Comment 2
2007-12-27 07:17:45 PST
<
rdar://problem/5663902
>
Mark Rowe (bdash)
Comment 3
2008-01-02 07:43:43 PST
Kevin Decker has a patch for this issue that he was working on before the holidays.
Mark Rowe (bdash)
Comment 4
2008-01-02 07:44:36 PST
***
Bug 16710
has been marked as a duplicate of this bug. ***
David Kilzer (:ddkilzer)
Comment 5
2008-01-19 11:47:10 PST
Fixed in
r29126
.
http://trac.webkit.org/projects/webkit/changeset/29126
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug