WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
50157
[GTK] dragn'drop related crashes in fast/events
https://bugs.webkit.org/show_bug.cgi?id=50157
Summary
[GTK] dragn'drop related crashes in fast/events
Philippe Normand
Reported
2010-11-29 08:10:36 PST
This doesn't seem to happen on the bots though. Example: fast/events/ondrop-text-html.html ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) (../../JavaScriptCore/wtf/HashTable.h:465 void WTF::HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::checkKey(const T&) [with T = GdkDragContext*, HashTranslator = WTF::HashMapTranslator<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::PtrHash<GdkDragContext*> >, Key = GdkDragContext*, Value = std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, Extractor = WTF::PairFirstExtractor<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> > >, HashFunctions = WTF::PtrHash<GdkDragContext*>, Traits = WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, KeyTraits = WTF::HashTraits<GdkDragContext*>]) Thread 1 (Thread 8627): #0 0x00007f5a715944ce in WTF::HashTable<GdkDragContext*, std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, WTF::PairFirstExtractor<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::PtrHash<GdkDragContext*>, WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::HashTraits<GdkDragContext*> >::checkKey<GdkDragContext*, WTF::HashMapTranslator<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::PtrHash<GdkDragContext*> > > (this=0x251c1e8, key=@0x7fff3e4f69a8) at ../../JavaScriptCore/wtf/HashTable.h:465 #1 0x00007f5a71593f75 in WTF::HashTable<GdkDragContext*, std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, WTF::PairFirstExtractor<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::PtrHash<GdkDragContext*>, WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::HashTraits<GdkDragContext*> >::add<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk>, WTF::HashMapTranslator<std::pair<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk> >, WTF::PairHashTraits<WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >, WTF::PtrHash<GdkDragContext*> > > (this=0x251c1e8, key=@0x7fff3e4f69a8, extra=...) at ../../JavaScriptCore/wtf/HashTable.h:630 #2 0x00007f5a71593c1d in WTF::HashMap<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk>, WTF::PtrHash<GdkDragContext*>, WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >::inlineAdd (this=0x251c1e8, key=@0x7fff3e4f69a8, mapped=...) at ../../JavaScriptCore/wtf/HashMap.h:241 #3 0x00007f5a71593af1 in WTF::HashMap<GdkDragContext*, WTF::RefPtr<WebCore::DataObjectGtk>, WTF::PtrHash<GdkDragContext*>, WTF::HashTraits<GdkDragContext*>, WTF::HashTraits<WTF::RefPtr<WebCore::DataObjectGtk> > >::set (this=0x251c1e8, key=@0x7fff3e4f69a8, mapped=...) at ../../JavaScriptCore/wtf/HashMap.h:248 #4 0x00007f5a7159355c in WebKit::DragClient::startDrag (this=0x2523370, image=0x0, dragImageOrigin=..., eventPos=..., clipboard=0x24d5f90, frame=0x2569200, linkDrag=false) at ../../WebKit/gtk/WebCoreSupport/DragClientGtk.cpp:109 #5 0x00007f5a710f8965 in WebCore::DragController::doSystemDrag (this=0x2524610, image=0x0, dragLoc=..., eventPos=..., clipboard=0x24d5f90, frame=0x2569200, forLink=false) at ../../WebCore/page/DragController.cpp:826 #6 0x00007f5a710f82cf in WebCore::DragController::startDrag(WebCore::Frame *, WebCore::Clipboard *, WebCore::<anonymous enum>, const WebCore::PlatformMouseEvent &, const WebCore::IntPoint &, bool) (this=0x2524610, src=0x2569200, clipboard=0x24d5f90, srcOp=4294967295, dragEvent=..., dragOrigin=..., isDHTMLDrag=false) at ../../WebCore/page/DragController.cpp:761 #7 0x00007f5a7110332b in WebCore::EventHandler::handleDrag (this=0x2569990, event=...) at ../../WebCore/page/EventHandler.cpp:2590 #8 0x00007f5a710fad66 in WebCore::EventHandler::handleMouseDraggedEvent (this=0x2569990, event=...) at ../../WebCore/page/EventHandler.cpp:508 #9 0x00007f5a710fe891 in WebCore::EventHandler::handleMouseMoveEvent (this=0x2569990, mouseEvent=..., hoveredNode=0x7fff3e4f73d0) at ../../WebCore/page/EventHandler.cpp:1517 #10 0x00007f5a710fdfce in WebCore::EventHandler::mouseMoved (this=0x2569990, event=...) at ../../WebCore/page/EventHandler.cpp:1395 #11 0x00007f5a715c2216 in webkit_web_view_motion_event (widget=0x251c040, event=0x26da8b0) at ../../WebKit/gtk/webkit/webkitwebview.cpp:881 #12 0x00007f5a6e2f5613 in _gtk_marshal_BOOLEAN__BOXED (closure=0x24ce310, return_value=0x7fff3e4f76e0, n_param_values=<value optimized out>, param_values=0x2539ad0, invocation_hint=<value optimized out>, marshal_data=0x7f5a715c2188) at gtkmarshalers.c:86 #13 0x00007f5a6cc5e02e in g_closure_invoke (closure=0x24ce310, return_value=0x7fff3e4f76e0, n_param_values=2, param_values=0x2539ad0, invocation_hint=0x7fff3e4f76a0) at gclosure.c:766 #14 0x00007f5a6cc76ce2 in signal_emit_unlocked_R (node=0x24ce380, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at gsignal.c:3290 #15 0x00007f5a6cc7866c in g_signal_emit_valist (instance=0x251c040, signal_id=<value optimized out>, detail=0, var_args=0x7fff3e4f7890) at gsignal.c:2993 #16 0x00007f5a6cc79053 in g_signal_emit (instance=0x7fff3e4f5e30, signal_id=0, detail=1799486976) at gsignal.c:3040 #17 0x00007f5a6e426fef in gtk_widget_event_internal (widget=0x251c040, event=0x26da8b0) at gtkwidget.c:4975 #18 0x00007f5a6e2ec303 in IA__gtk_propagate_event (widget=0x251c040, event=0x26da8b0) at gtkmain.c:2460 #19 0x00007f5a6e2ed4bb in IA__gtk_main_do_event (event=0x26da8b0) at gtkmain.c:1665 #20 0x000000000041e90f in dispatchEvent (event=0x26da8b0) at ../../WebKitTools/DumpRenderTree/gtk/EventSender.cpp:453 #21 0x000000000041ea9b in replaySavedEvents () at ../../WebKitTools/DumpRenderTree/gtk/EventSender.cpp:496 #22 0x000000000041e8a9 in sendOrQueueEvent (event=0x26da920, shouldReplaySavedEvents=true) at ../../WebKitTools/DumpRenderTree/gtk/EventSender.cpp:436 #23 0x000000000041e30f in mouseUpCallback (context=0x7f59d85d5078, function=0x7f5a641434c0, thisObject=0x7f5a64142bc0, argumentCount=0, arguments=0x7fff3e4f7b38, exception=0x7fff3e4f7bd8) at ../../WebKitTools/DumpRenderTree/gtk/EventSender.cpp:336 #24 0x00007f5a71923840 in JSC::JSCallbackFunction::call (exec=0x7f59d85d5078) at ../../JavaScriptCore/API/JSCallbackFunction.cpp:66 #25 0x00007f5a719c5371 in JSC::cti_op_call_NotJSFunction (args=0x7fff3e4f7d10) at ../../JavaScriptCore/jit/JITStubs.cpp:2208 #26 0x00007f5a719c039b in JSC::JITThunks::tryCacheGetByID (callFrame=0x7f59d85d5038, codeBlock=0x7fff3e4f7d10, returnAddress=..., baseValue=..., propertyName=Traceback (most recent call last): File "/home/phil/gst/jhbuild/build/WebKit/WebKitTools/gdb/webkit.py", line 121, in to_string return JSCUStringPrinter(self.val['m_string']).to_string() File "/home/phil/gst/jhbuild/build/WebKit/WebKitTools/gdb/webkit.py", line 111, in to_string if self.get_length() == 0: RuntimeError: Cannot access memory at address 0xfff4b5e90845894d , slot=..., stubInfo=0x2662600) at ../../JavaScriptCore/jit/JITStubs.cpp:974 #27 0x00007f5a719937c1 in JSC::JITCode::execute (this=0x269cf08, registerFile=0x25db548, callFrame=0x7f59d85d5038, globalData=0x2662600) at ../../JavaScriptCore/jit/JITCode.h:77 #28 0x00007f5a7199008c in JSC::Interpreter::execute (this=0x25db530, program=0x269cef0, callFrame=0x25c4678, scopeChain=0x25c4950, thisObj=0x7f5a64140000) at ../../JavaScriptCore/interpreter/Interpreter.cpp:778 #29 0x00007f5a71a2a401 in JSC::evaluate (exec=0x25c4678, scopeChain=..., source=..., thisValue=...) at ../../JavaScriptCore/runtime/Completion.cpp:62 #30 0x00007f5a70bd4b7f in WebCore::JSMainThreadExecState::evaluate (exec=0x25c4678, chain=..., source=..., thisValue=...) at ../../WebCore/bindings/js/JSMainThreadExecState.h:54 #31 0x00007f5a70bf4fda in WebCore::ScriptController::evaluateInWorld (this=0x25696d0, sourceCode=..., world=0x2665d10, shouldAllowXSS=WebCore::DoNotAllowXSS) at ../../WebCore/bindings/js/ScriptController.cpp:148 #32 0x00007f5a70bf51b3 in WebCore::ScriptController::evaluate (this=0x25696d0, sourceCode=..., shouldAllowXSS=WebCore::DoNotAllowXSS) at ../../WebCore/bindings/js/ScriptController.cpp:171 #33 0x00007f5a70c220ed in WebCore::ScriptController::executeScript (this=0x25696d0, sourceCode=..., shouldAllowXSS=WebCore::DoNotAllowXSS) at ../../WebCore/bindings/ScriptControllerBase.cpp:60 #34 0x00007f5a70de7822 in WebCore::ScriptElement::executeScript (this=0x25c41c0, sourceCode=...) at ../../WebCore/dom/ScriptElement.cpp:215 #35 0x00007f5a70f4bd36 in WebCore::HTMLScriptRunner::runScript (this=0x2563c20, script=0x25c4140, scriptStartPosition=...) at ../../WebCore/html/parser/HTMLScriptRunner.cpp:313 #36 0x00007f5a70f4b25d in WebCore::HTMLScriptRunner::execute (this=0x2563c20, scriptElement=..., scriptStartPosition=...) at ../../WebCore/html/parser/HTMLScriptRunner.cpp:173 #37 0x00007f5a70f40b6e in WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder (this=0x25d9920) at ../../WebCore/html/parser/HTMLDocumentParser.cpp:199 #38 0x00007f5a70f40e04 in WebCore::HTMLDocumentParser::pumpTokenizer (this=0x25d9920, mode=WebCore::HTMLDocumentParser::AllowYield) at ../../WebCore/html/parser/HTMLDocumentParser.cpp:235 #39 0x00007f5a70f409c7 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x25d9920, mode=WebCore::HTMLDocumentParser::AllowYield) at ../../WebCore/html/parser/HTMLDocumentParser.cpp:169 #40 0x00007f5a70f41214 in WebCore::HTMLDocumentParser::append (this=0x25d9920, source=...) at ../../WebCore/html/parser/HTMLDocumentParser.cpp:311 #41 0x00007f5a70d46cff in WebCore::DecodedDataDocumentParser::appendBytes (this=0x25d9920, writer=0x2569428, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578, shouldFlush=false) at ../../WebCore/dom/DecodedDataDocumentParser.cpp:54 #42 0x00007f5a7105d5ef in WebCore::DocumentWriter::addData (this=0x2569428, str=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., len=1578, flush=false) at ../../WebCore/loader/DocumentWriter.cpp:200 #43 0x00007f5a71052c34 in WebCore::DocumentLoader::commitData (this=0x2652b80, bytes=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578) at ../../WebCore/loader/DocumentLoader.cpp:308 #44 0x00007f5a7159ec99 in WebKit::FrameLoaderClient::committedLoad (this=0x2578a10, loader=0x2652b80, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578) at ../../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:286 #45 0x00007f5a71052b05 in WebCore::DocumentLoader::commitLoad (this=0x2652b80, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578) at ../../WebCore/loader/DocumentLoader.cpp:293 #46 0x00007f5a71052cf4 in WebCore::DocumentLoader::receivedData (this=0x2652b80, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578) at ../../WebCore/loader/DocumentLoader.cpp:320 #47 0x00007f5a7109cf9f in WebCore::MainResourceLoader::addData (this=0x25bafd0, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578, allAtOnce=false) at ../../WebCore/loader/MainResourceLoader.cpp:157 #48 0x00007f5a710a97b5 in WebCore::ResourceLoader::didReceiveData (this=0x25bafd0, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578, lengthReceived=1578, allAtOnce=false) at ../../WebCore/loader/ResourceLoader.cpp:276 #49 0x00007f5a7109e0e6 in WebCore::MainResourceLoader::didReceiveData (this=0x25bafd0, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578, lengthReceived=1578, allAtOnce=false) at ../../WebCore/loader/MainResourceLoader.cpp:436 #50 0x00007f5a710aa108 in WebCore::ResourceLoader::didReceiveData (this=0x25bafd0, data=0x2659f70 "<div id=\"dragme\">This test verifies that we can get text/html from the drag object\nduring an ondrop event. This test requires DRT.</div>\n\n<div id=\"droptarget\" contenteditable ondragover=\"dragover(eve"..., length=1578, lengthReceived=1578) at ../../WebCore/loader/ResourceLoader.cpp:429 #51 0x00007f5a715740bf in WebCore::readCallback (source=0x25dc860, asyncResult=0x25dc640, data=0x0) at ../../WebCore/platform/network/soup/ResourceHandleSoup.cpp:827 #52 0x00007f5a6cef6955 in async_ready_callback_wrapper (source_object=0x25dc860, res=0x25dc640, user_data=0x0) at ginputstream.c:470 #53 0x00007f5a6cf08778 in complete_in_idle_cb_for_thread (_data=<value optimized out>) at gsimpleasyncresult.c:813 #54 0x00007f5a6c37fde2 in g_main_dispatch (context=0x24b64c0) at gmain.c:2436 #55 g_main_context_dispatch (context=0x24b64c0) at gmain.c:3009 #56 0x00007f5a6c3844a8 in g_main_context_iterate (context=0x24b64c0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3087 #57 0x00007f5a6c3849b5 in g_main_loop_run (loop=0x25b9f00) at gmain.c:3295 #58 0x00007f5a6e2ed977 in IA__gtk_main () at gtkmain.c:1237 #59 0x000000000041ad32 in runTest (testPathOrURL=...) at ../../WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp:655 #60 0x000000000041a42e in runTestingServerLoop () at ../../WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp:469 #61 0x000000000041c308 in main (argc=2, argv=0x7fff3e4f96a8) at ../../WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp:1096
Attachments
Add attachment
proposed patch, testcase, etc.
Martin Robinson
Comment 1
2015-04-13 16:14:24 PDT
Going to close this one since it is a WebKit1 bug and we can re-approach failing drag and drop tests once WebKitTestRunner has support for running them.
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