[Webkit-unassigned] [Bug 29101] New: Simulating image drag in a layout test crashes DRT
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Sep 9 11:56:57 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=29101
Summary: Simulating image drag in a layout test crashes DRT
Product: WebKit
Version: 528+ (Nightly build)
Platform: Macintosh Intel
OS/Version: Mac OS X 10.5
Status: NEW
Severity: Normal
Priority: P2
Component: Tools / Tests
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: snej at chromium.org
Using the eventSender API to simulate dragging an image element crashes DRT if
the test actions occur while the file is loading.
To work around this, I had to wait until the onload event is sent, and run the
test code then. All of the drag-related tests I've seen (in
LayoutTests/fast/events) seem to work the same way.
Attached is a modified version of a new layout test, which reproduces the
crash. (I'm submitting the test with another patch, in the form that works
successfully.)
The following is written to stderr:
ASSERTION FAILED: !image->filenameExtension().isEmpty()
(/Chromium/src/third_party/WebKit/WebCore/page/DragController.cpp:664 bool
WebCore::DragController::startDrag(WebCore::Frame*, WebCore::Clipboard*,
WebCore::DragOperation, const WebCore::PlatformMouseEvent&, const
WebCore::IntPoint&, bool))
Here's the relevant prt of crash log:
Process: DumpRenderTree [51277]
Path:
/Chromium/src/third_party/WebKit/WebKitBuild/Debug/DumpRenderTree
Identifier: DumpRenderTree
Version: ??? (???)
Code Type: X86 (Native)
Parent Process: perl [51199]
Date/Time: 2009-09-09 11:23:46.449 -0700
OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6
Anonymous UUID: 59108E33-207B-442A-AD70-0A0F9E6AC86E
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
Crashed Thread: 0
Thread 0 Crashed:
0 com.apple.WebCore 0x03d547ca
WebCore::DragController::startDrag(WebCore::Frame*, WebCore::Clipboard*,
WebCore::DragOperation, WebCore::PlatformMouseEvent const&, WebCore::IntPoint
const&, bool) + 1074 (DragController.cpp:661)
1 com.apple.WebCore 0x03d7a7ed
WebCore::EventHandler::handleDrag(WebCore::MouseEventWithHitTestResults const&)
+ 2203 (EventHandler.cpp:2285)
2 com.apple.WebCore 0x03d7b922
WebCore::EventHandler::handleMouseDraggedEvent(WebCore::MouseEventWithHitTestResults
const&) + 32 (EventHandler.cpp:412)
3 com.apple.WebCore 0x03d7c226
WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&,
WebCore::HitTestResult*) + 1720 (EventHandler.cpp:1384)
4 com.apple.WebCore 0x03d819dc
WebCore::EventHandler::mouseDragged(NSEvent*) + 324 (EventHandlerMac.mm:569)
5 com.apple.WebKit 0x009e7c3d -[WebHTMLView mouseDragged:] +
307 (WebHTMLView.mm:3411)
6 DumpRenderTree 0x0001006d -[EventSendingController
mouseMoveToX:Y:] + 957 (EventSendingController.mm:415)
7 com.apple.CoreFoundation 0x9214791d __invoking___ + 29
8 com.apple.CoreFoundation 0x92147308 -[NSInvocation invoke] + 136
9 DumpRenderTree 0x000104b0 +[EventSendingController
replaySavedEvents] + 140 (EventSendingController.mm:462)
10 DumpRenderTree 0x0000f8c7 -[EventSendingController
mouseUp:] + 255 (EventSendingController.mm:343)
11 com.apple.CoreFoundation 0x9214791d __invoking___ + 29
12 com.apple.CoreFoundation 0x92147308 -[NSInvocation invoke] + 136
13 com.apple.WebCore 0x041b4b30
JSC::Bindings::ObjcInstance::invokeMethod(JSC::ExecState*,
WTF::Vector<JSC::Bindings::Method*, 0ul> const&, JSC::ArgList const&) + 1726
(objc_instance.mm:221)
14 com.apple.WebCore 0x0430f83c
__ZN3JSCL17callRuntimeMethodEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE
+ 446 (runtime_method.cpp:114)
15 com.apple.JavaScriptCore 0x005c7817 cti_op_call_NotJSFunction +
597 (JITStubs.cpp:1601)
16 com.apple.JavaScriptCore 0x005bfb50 jscGeneratedNativeCode + 0
(JITStubs.cpp:798)
17 com.apple.JavaScriptCore 0x0059f5a9
JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*,
JSC::JSValue*) + 67 (JITCode.h:79)
18 com.apple.JavaScriptCore 0x0058b964
JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*,
JSC::ScopeChainNode*, JSC::JSObject*, JSC::JSValue*) + 796
(Interpreter.cpp:655)
19 com.apple.JavaScriptCore 0x004dfd03 JSC::evaluate(JSC::ExecState*,
JSC::ScopeChain&, JSC::SourceCode const&, JSC::JSValue) + 297
(Completion.cpp:60)
20 com.apple.WebCore 0x0431beb7
WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 541
(ScriptController.cpp:115)
21 com.apple.WebCore 0x03dcd280
WebCore::FrameLoader::executeScript(WebCore::ScriptSourceCode const&) + 176
(FrameLoader.cpp:776)
22 com.apple.WebCore 0x03e9af36
WebCore::HTMLTokenizer::scriptExecution(WebCore::ScriptSourceCode const&,
WebCore::HTMLTokenizer::State) + 202 (HTMLTokenizer.cpp:561)
23 com.apple.WebCore 0x03e9bbdb
WebCore::HTMLTokenizer::scriptHandler(WebCore::HTMLTokenizer::State) + 1699
(HTMLTokenizer.cpp:503)
24 com.apple.WebCore 0x03e9c287
WebCore::HTMLTokenizer::parseNonHTMLText(WebCore::SegmentedString&,
WebCore::HTMLTokenizer::State) + 1067 (HTMLTokenizer.cpp:350)
25 com.apple.WebCore 0x03e9e788
WebCore::HTMLTokenizer::parseTag(WebCore::SegmentedString&,
WebCore::HTMLTokenizer::State) + 7904 (HTMLTokenizer.cpp:1520)
26 com.apple.WebCore 0x03e9f218
WebCore::HTMLTokenizer::write(WebCore::SegmentedString const&, bool) + 1710
(HTMLTokenizer.cpp:1748)
27 com.apple.WebCore 0x03e9b4b9
WebCore::HTMLTokenizer::notifyFinished(WebCore::CachedResource*) + 887
(HTMLTokenizer.cpp:2053)
28 com.apple.WebCore 0x03b3e2e0
WebCore::CachedScript::checkNotify() + 86 (CachedScript.cpp:104)
29 com.apple.WebCore 0x03b3e3a6
WebCore::CachedScript::data(WTF::PassRefPtr<WebCore::SharedBuffer>, bool) + 142
(CachedScript.cpp:96)
30 com.apple.WebCore 0x04158274
WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) + 464
(loader.cpp:367)
31 com.apple.WebCore 0x0437f096
WebCore::SubresourceLoader::didFinishLoading() + 176
(SubresourceLoader.cpp:185)
32 com.apple.WebCore 0x04302c48
WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) + 24
(ResourceLoader.cpp:404)
33 com.apple.WebCore 0x042ffec7
-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 215
(ResourceHandleMac.mm:724)
34 com.apple.Foundation 0x94b75497
-[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 87
35 com.apple.Foundation 0x94b75403
_NSURLConnectionDidFinishLoading + 147
36 com.apple.CFNetwork 0x92642ba4
URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*)
+ 212
37 com.apple.CFNetwork 0x926438fa
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long) + 310
38 com.apple.CFNetwork 0x92643baa
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long) + 998
39 com.apple.CFNetwork 0x92642370
URLConnectionClient::processEvents() + 104
40 com.apple.CFNetwork 0x925efd03 MultiplexerSource::perform() +
189
41 com.apple.CoreFoundation 0x920c83c5 CFRunLoopRunSpecific + 3141
42 com.apple.CoreFoundation 0x920c8aa8 CFRunLoopRunInMode + 88
43 com.apple.Foundation 0x94b443d5 -[NSRunLoop(NSRunLoop)
runMode:beforeDate:] + 213
44 DumpRenderTree 0x0000bfdf
runTest(std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&) + 1583
45 DumpRenderTree 0x0000c429 runTestingServerLoop() + 117
46 DumpRenderTree 0x0000c5b5 dumpRenderTree(int, char
const**) + 241
47 DumpRenderTree 0x0000c7d0 main + 94
(DumpRenderTree.mm:631)
48 DumpRenderTree 0x00002e76 start + 54
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list