Bug 16623 - ASSERTION FAILED: Uncaught exception - lockFocus sent to a view whose window is deferred and does not yet have a corresponding platform window
Summary: ASSERTION FAILED: Uncaught exception - lockFocus sent to a view whose window ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Plug-ins (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Nobody
URL: http://www.fandango.com/
Keywords: InRadar, NeedsReduction
: 16710 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-12-27 07:04 PST by David Kilzer (:ddkilzer)
Modified: 2008-01-19 11:47 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Kilzer (:ddkilzer) 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
Comment 1 David Kilzer (:ddkilzer) 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).

Comment 2 David Kilzer (:ddkilzer) 2007-12-27 07:17:45 PST
<rdar://problem/5663902>
Comment 3 Mark Rowe (bdash) 2008-01-02 07:43:43 PST
Kevin Decker has a patch for this issue that he was working on before the holidays.
Comment 4 Mark Rowe (bdash) 2008-01-02 07:44:36 PST
*** Bug 16710 has been marked as a duplicate of this bug. ***
Comment 5 David Kilzer (:ddkilzer) 2008-01-19 11:47:10 PST
Fixed in r29126.

http://trac.webkit.org/projects/webkit/changeset/29126