Bug 205861
Summary: | [GTK][Flatpak SDK] Crashes in GTK drag and drop | ||
---|---|---|---|
Product: | WebKit | Reporter: | Philippe Normand <pnormand> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | bugs-noreply, cgarcia |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Philippe Normand
In my flatpak-ng setup I have GTK 3.24.10 (from the FDO SDK). Tests like editing/pasteboard/4947130.html now crash:
Thread 1 (LWP 48):
#0 0x00007f623e4770b5 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007f623e478386 in g_logv () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f623e478553 in g_log () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f623e94cd9d in gdk_cursor_new_from_pixbuf () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#4 0x00007f623edd95b1 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#5 0x00007f623eddb6fd in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#6 0x00007f623eddc1ac in gtk_drag_begin () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#7 0x00007f624af8fd0e in _ZN6WebKit18DragAndDropHandler9startDragEON3WTF3RefIN7WebCore13SelectionDataENS1_13DumbPtrTraitsIS4_EEEENS3_13DragOperationEONS1_6RefPtrINS_15ShareableBitmapENS5_ISB_EEEE (this=0x7f620c6f4e00, selection=..., dragOperation=WebCore::DragOperationEvery, dragImage=...) at ../../Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp:121
#8 0x00007f624ae426d4 in _ZN6WebKit14PageClientImpl9startDragEON3WTF3RefIN7WebCore13SelectionDataENS1_13DumbPtrTraitsIS4_EEEENS3_13DragOperationEONS1_6RefPtrINS_15ShareableBitmapENS5_ISB_EEEE (this=0x7f620c6df900, selection=..., dragOperation=WebCore::DragOperationEvery, dragImage=...) at ../../Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:305
#9 0x00007f624abf3e12 in _ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE (this=0x7f620c2fd800, selection=..., dragOperation=4294967295, dragImageHandle=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2347
#10 0x00007f624a51006a in _ZN3IPC22callMemberFunctionImplIN6WebKit12WebPageProxyEMS2_FvONS1_16WebSelectionDataEmRKNS1_15ShareableBitmap6HandleEESt5tupleIJS3_mS6_EEJLm0ELm1ELm2EEEEvPT_T0_OT1_St16integer_sequenceImJXspT2_EEE (object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, WebKit::WebSelectionData &&, unsigned long, const WebKit::ShareableBitmap::Handle &)) 0x7f624abf3d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>, args=...) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:41
#11 0x00007f624a4fabf0 in _ZN3IPC18callMemberFunctionIN6WebKit12WebPageProxyEMS2_FvONS1_16WebSelectionDataEmRKNS1_15ShareableBitmap6HandleEESt5tupleIJS3_mS6_EESt16integer_sequenceImJLm0ELm1ELm2EEEEEvOT1_PT_T0_ (args=..., object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, WebKit::WebSelectionData &&, unsigned long, const WebKit::ShareableBitmap::Handle &)) 0x7f624abf3d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:47
#12 0x00007f624a4e7fa6 in _ZN3IPC13handleMessageIN8Messages12WebPageProxy9StartDragEN6WebKit12WebPageProxyEMS5_FvONS4_16WebSelectionDataEmRKNS4_15ShareableBitmap6HandleEEEEvRNS_7DecoderEPT0_T1_ (decoder=..., object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, WebKit::WebSelectionData &&, unsigned long, const WebKit::ShareableBitmap::Handle &)) 0x7f624abf3d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:120
#13 0x00007f624a4d410c in _ZN6WebKit12WebPageProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7f620c2fd800, connection=..., decoder=...) at DerivedSources/WebKit/WebPageProxyMessageReceiver.cpp:1555
#14 0x00007f624aa2bc12 in _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE (this=0x7f620c6c7538, connection=..., decoder=...) at ../../Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:123
#15 0x00007f624ab59c41 in _ZN6WebKit21AuxiliaryProcessProxy15dispatchMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7f620c6c7500, connection=..., decoder=...) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:196
#16 0x00007f624acc6e72 in _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7f620c6c7500, connection=..., decoder=...) at ../../Source/WebKit/UIProcess/WebProcessProxy.cpp:718
#17 0x00007f624aa0c0cd in _ZN3IPC10Connection15dispatchMessageERNS_7DecoderE (this=0x7f620c6b9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1008
#18 0x00007f624aa0c7b9 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7f620c6b9000, message=std::unique_ptr<IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1077
#19 0x00007f624aa12b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7f620c692a00) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#20 0x00007f624aa07df8 in _ZN3IPC10Connection16SyncMessageState16dispatchMessagesEv (this=0x7f6254799d08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>) at ../../Source/WebKit/Platform/IPC/Connection.cpp:179
#21 0x00007f624aa0bb12 in _ZN3IPC10Connection19dispatchSyncMessageERNS_7DecoderE (this=0x7f620c6b9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:926
#22 0x00007f624aa0c799 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7f620c6b9000, message=std::unique_ptr<IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1075
#23 0x00007f624aa12b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7f620c6b3700) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#24 0x00007f624aa07df8 in _ZN3IPC10Connection16SyncMessageState16dispatchMessagesEv (this=0x7f6254799d08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>) at ../../Source/WebKit/Platform/IPC/Connection.cpp:179
#25 0x00007f624aa0a211 in _ZN3IPC10Connection16waitForSyncReplyEmNS_15StringReferenceES1_N3WTF7SecondsENS2_9OptionSetINS_14SendSyncOptionEEE (this=0x7f620c6b9000, syncRequestID=3, messageReceiverName=..., messageName=..., timeout=..., sendSyncOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:637
#26 0x00007f624aa0a05c in _ZN3IPC10Connection15sendSyncMessageEmSt10unique_ptrINS_7EncoderESt14default_deleteIS2_EEN3WTF7SecondsENS6_9OptionSetINS_14SendSyncOptionEEE (this=0x7f620c6b9000, syncRequestID=3, encoder=std::unique_ptr<IPC::Encoder> = {...}, timeout=..., sendSyncOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:610
#27 0x00007f624aa09531 in _ZN3IPC10Connection11sendMessageESt10unique_ptrINS_7EncoderESt14default_deleteIS2_EEN3WTF9OptionSetINS_10SendOptionEEE (this=0x7f620c6b9000, encoder=std::unique_ptr<IPC::Encoder> = {...}, sendOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:461
#28 0x00007f624ab59a41 in _ZN6WebKit21AuxiliaryProcessProxy11sendMessageESt10unique_ptrIN3IPC7EncoderESt14default_deleteIS3_EEN3WTF9OptionSetINS2_10SendOptionEEEONS7_8OptionalISt4pairINS7_17CompletionHandlerIFvPNS2_7DecoderEEEEmEEE (this=0x7f620c6c7500, encoder=std::unique_ptr<IPC::Encoder> = {...}, sendOptions=..., asyncReplyInfo=...) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:157
#29 0x00007f624ac08f1c in _ZN6WebKit12WebPageProxy11sendMessageESt10unique_ptrIN3IPC7EncoderESt14default_deleteIS3_EEN3WTF9OptionSetINS2_10SendOptionEEEONS7_8OptionalISt4pairINS7_17CompletionHandlerIFvPNS2_7DecoderEEEEmEEE (this=0x7f620c2fd800, encoder=std::unique_ptr<IPC::Encoder> = {...}, sendOptions=..., asyncReplyInfo=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:6122
#30 0x00007f624ac54e87 in _ZN3IPC13MessageSender4sendIN8Messages7WebPage10MouseEventEEEbRKT_mN3WTF9OptionSetINS_10SendOptionEEE (this=0x7f620c2fd830, message=..., destinationID=7, sendOptions=...) at ../../Source/WebKit/Platform/IPC/MessageSender.h:49
#31 0x00007f624ac38d07 in _ZN3IPC13MessageSender4sendIN8Messages7WebPage10MouseEventEEEbRKT_N3WTF9OptionSetINS_10SendOptionEEE (this=0x7f620c2fd830, message=..., sendOptions=...) at ../../Source/WebKit/Platform/IPC/MessageSender.h:39
#32 0x00007f624abf4549 in _ZN6WebKit12WebPageProxy27processNextQueuedMouseEventEv (this=0x7f620c2fd800) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2474
#33 0x00007f624abf436d in _ZN6WebKit12WebPageProxy16handleMouseEventERKNS_19NativeWebMouseEventE (this=0x7f620c2fd800, event=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2450
#34 0x00007f624ae663d9 in webkitWebViewBaseHandleMouseEvent(WebKitWebViewBase*, GdkEvent*) (webViewBase=0x5569bb05e640, event=0x5569bab1ddb0) at ../../Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:879
#35 0x00007f624ae66969 in webkitWebViewBaseMotionNotifyEvent(GtkWidget*, GdkEventMotion*) (widget=0x5569bb05e640, event=0x5569bab1ddb0) at ../../Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:988
#36 0x00007f623ee0173f in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#37 0x00007f623e55b996 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007f623e577dbb in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007f623e5789a3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007f623edac3b3 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#41 0x00007f623ec68bd8 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007f623ec6adeb in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#43 0x00005569b9f49276 in _ZN3WTR16EventSenderProxy13dispatchEventEP9_GdkEvent (this=0x7f620c6ec0b0, event=0x5569bab1ddb0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:160
#44 0x00005569b9f492f0 in _ZN3WTR16EventSenderProxy17replaySavedEventsEv (this=0x7f620c6ec0b0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:171
#45 0x00005569b9f4937c in _ZN3WTR16EventSenderProxy16sendOrQueueEventEP9_GdkEvent (this=0x7f620c6ec0b0, event=0x5569bab1ddb0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:183
#46 0x00005569b9f49ed2 in _ZN3WTR16EventSenderProxy11mouseMoveToEdd (this=0x7f620c6ec0b0, x=60, y=111) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:386
#47 0x00005569b9ef6ba2 in _ZN3WTR14TestController46didReceiveSynchronousMessageFromInjectedBundleEPK14OpaqueWKStringPKvPK23OpaqueWKMessageListener (this=0x7ffd43c8e5d0, messageName=0x7f620c694a98, messageBody=0x7f620c6ebdc8, listener=0x7f620c6bfc80) at ../../Tools/WebKitTestRunner/TestController.cpp:2031
#48 0x00005569b9ef598c in _ZN3WTR14TestController62didReceiveSynchronousPageMessageFromInjectedBundleWithListenerEPK12OpaqueWKPagePK14OpaqueWKStringPKvPK23OpaqueWKMessageListenerS8_ (page=0x7f620c2fd800, messageName=0x7f620c694a98, messageBody=0x7f620c6ebdc8, listener=0x7f620c6bfc80, clientInfo=0x7ffd43c8e5d0) at ../../Tools/WebKitTestRunner/TestController.cpp:1839
#49 0x00007f624abe81b1 in _ZN6WebKit27WebPageInjectedBundleClient46didReceiveSynchronousMessageFromInjectedBundleEPNS_12WebPageProxyERKN3WTF6StringEPN3API6ObjectEONS3_17CompletionHandlerIFvNS3_6RefPtrIS8_NS3_13DumbPtrTraitsIS8_EEEEEEE (this=0x7f620c6fa5c8, page=0x7f620c2fd800, messageName="EventSender", messageBody=0x7f620c6ebdc8, completionHandler=...) at ../../Source/WebKit/UIProcess/WebPageInjectedBundleClient.cpp:58
#50 0x00007f624abebb75 in _ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE (this=0x7f620c2fd800, connection=..., messageName="EventSender", messageBody=..., completionHandler=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:735
#51 0x00007f624a519284 in _ZN3IPC22callMemberFunctionImplIN6WebKit12WebPageProxyEMS2_FvRNS_10ConnectionERKN3WTF6StringERKNS1_8UserDataEONS5_17CompletionHandlerIFvOS9_EEEEFvSB_ESt5tupleIJS6_S9_EEJLm0ELm1EEEEvS4_PT_T0_ONSC_IT1_EEOT2_St16integer_sequenceImJXspT3_EEE (connection=..., object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, IPC::Connection &, const WTF::String &, const WebKit::UserData &, WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7f624abeb9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>, completionHandler=..., args=...) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:69
#52 0x00007f624a4ffcd9 in _ZN3IPC18callMemberFunctionIN6WebKit12WebPageProxyEMS2_FvRNS_10ConnectionERKN3WTF6StringERKNS1_8UserDataEONS5_17CompletionHandlerIFvOS9_EEEEFvSB_ESt5tupleIJS6_S9_EESt16integer_sequenceImJLm0ELm1EEEEEvS4_OT2_ONSC_IT1_EEPT_T0_ (connection=..., args=..., completionHandler=..., object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, IPC::Connection &, const WTF::String &, const WebKit::UserData &, WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7f624abeb9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:75
#53 0x00007f624a4ef167 in _ZN3IPC39handleMessageSynchronousWantsConnectionIN8Messages12WebPageProxy24HandleSynchronousMessageEN6WebKit12WebPageProxyEMS5_FvRNS_10ConnectionERKN3WTF6StringERKNS4_8UserDataEONS8_17CompletionHandlerIFvOSC_EEEEEEvS7_RNS_7DecoderERSt10unique_ptrINS_7EncoderESt14default_deleteISP_EEPT0_T1_ (connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> = {...}, object=0x7f620c2fd800, function=(void (WebKit::WebPageProxy::*)(WebKit::WebPageProxy * const, IPC::Connection &, const WTF::String &, const WebKit::UserData &, WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7f624abeb9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:164
#54 0x00007f624a4d64d4 in _ZN6WebKit12WebPageProxy21didReceiveSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7f620c2fd800, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> = {...}) at DerivedSources/WebKit/WebPageProxyMessageReceiver.cpp:2416
#55 0x00007f624aa2bd82 in _ZN3IPC18MessageReceiverMap19dispatchSyncMessageERNS_10ConnectionERNS_7DecoderERSt10unique_ptrINS_7EncoderESt14default_deleteIS6_EE (this=0x7f620c6c7538, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> = {...}) at ../../Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:140
#56 0x00007f624ab59c78 in _ZN6WebKit21AuxiliaryProcessProxy19dispatchSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7f620c6c7500, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> = {...}) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:201
#57 0x00007f624acc6f55 in _ZN6WebKit15WebProcessProxy21didReceiveSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7f620c6c7500, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> = {...}) at ../../Source/WebKit/UIProcess/WebProcessProxy.cpp:734
#58 0x00007f624aa0bb4f in _ZN3IPC10Connection19dispatchSyncMessageERNS_7DecoderE (this=0x7f620c6b9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:929
#59 0x00007f624aa0c799 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7f620c6b9000, message=std::unique_ptr<IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1075
#60 0x00007f624aa12b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7f620c6b3300) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#61 0x00007f624aa07f83 in _ZN3IPC10Connection16SyncMessageState64dispatchMessagesAndResetDidScheduleDispatchMessagesForConnectionERS0_ (this=0x7f6254799d08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>, connection=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:197
#62 0x00007f624aa07b08 in IPC::Connection::SyncMessageState::<lambda()>::operator()(void) (__closure=0x7f620c6a9140) at ../../Source/WebKit/Platform/IPC/Connection.cpp:159
#63 0x00007f624aa126c6 in WTF::Detail::CallableWrapper<IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::unique_ptr<IPC::Decoder>&)::<lambda()>, void>::call(void) (this=0x7f620c6a9138) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#64 0x00005569b9f05e6f in _ZNK3WTF8FunctionIFvvEEclEv (this=0x7ffd43c8d7e0) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#65 0x00007f623cc7dbde in _ZN3WTF7RunLoop11performWorkEv (this=0x7f620c6f6000) at ../../Source/WTF/wtf/RunLoop.cpp:107
#66 0x00007f623ccfccac in WTF::RunLoop::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, userData=0x7f620c6f6000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#67 0x00007f623ccfccd0 in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:70
#68 0x00007f623ccfcc5e in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x5569bb0593e0, callback=0x7f623ccfccb3 <WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer)>, userData=0x7f620c6f6000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#69 0x00007f623ccfcc8e in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#70 0x00007f623e470eef in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#71 0x00007f623e4712c0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#72 0x00007f623e4715f3 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#73 0x00007f623ccfd1ca in _ZN3WTF7RunLoop3runEv () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#74 0x00005569b9f4fca1 in _ZN3WTR14TestController16platformRunUntilERbN3WTF7SecondsE (this=0x7ffd43c8e5d0, done=@0x7f620c6ea19b: false, timeout=...) at ../../Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp:80
#75 0x00005569b9ef584b in _ZN3WTR14TestController8runUntilERbN3WTF7SecondsE (this=0x7ffd43c8e5d0, done=@0x7f620c6ea19b: false, timeout=...) at ../../Tools/WebKitTestRunner/TestController.cpp:1810
#76 0x00005569b9f1ff67 in _ZN3WTR14TestInvocation6invokeEv (this=0x7f620c6ea000) at ../../Tools/WebKitTestRunner/TestInvocation.cpp:185
#77 0x00005569b9ef54fa in _ZN3WTR14TestController7runTestEPKc (this=0x7ffd43c8e5d0, inputLine=0x7ffd43c8dd30 "/app/webkit/LayoutTests/editing/pasteboard/4947130.html'--timeout'30000") at ../../Tools/WebKitTestRunner/TestController.cpp:1740
#78 0x00005569b9ef5725 in _ZN3WTR14TestController20runTestingServerLoopEv (this=0x7ffd43c8e5d0) at ../../Tools/WebKitTestRunner/TestController.cpp:1786
#79 0x00005569b9ef577a in _ZN3WTR14TestController3runEv (this=0x7ffd43c8e5d0) at ../../Tools/WebKitTestRunner/TestController.cpp:1794
#80 0x00005569b9eedf66 in _ZN3WTR14TestControllerC2EiPPKc (this=0x7ffd43c8e5d0, argc=2, argv=0x7ffd43c8e958) at ../../Tools/WebKitTestRunner/TestController.cpp:167
#81 0x00005569b9f52f85 in main(int, char**) (argc=2, argv=0x7ffd43c8e958) at ../../Tools/WebKitTestRunner/gtk/main.cpp:45
STDERR:
STDERR: (WebKitTestRunner:48): Gdk-CRITICAL **: 15:00:21.752: gdk_cursor_new_from_pixbuf: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
Looking at the cursors in libgtk:
sh-5.0$ gresource list /usr/lib/x86_64-linux-gnu/libgtk-3.so|grep cursor
/org/gtk/libgtk/cursor/dnd-ask.png
/org/gtk/libgtk/cursor/dnd-copy.png
/org/gtk/libgtk/cursor/dnd-link.png
/org/gtk/libgtk/cursor/dnd-move.png
/org/gtk/libgtk/cursor/dnd-none.png
Doesn't seem to match with what's in the code:
https://gitlab.gnome.org/GNOME/gtk/blob/3.24.10/gtk/gtkdnd.c#L281
{ GDK_ACTION_ASK, "dnd-ask", NULL, NULL },
{ GDK_ACTION_COPY, "copy", NULL, NULL },
{ GDK_ACTION_MOVE, "move", NULL, NULL },
{ GDK_ACTION_LINK, "alias", NULL, NULL },
{ 0 , "no-drop", NULL, NULL },
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Philippe Normand
I'm trying to get a more verbose backtrace, installing the FDO Debug SDK. Hold on.
Philippe Normand
Thread 1 (Thread 0x7fdb1629f9c0 (LWP 48)):
#0 0x00007fdb1f5a90b5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554
#1 0x00007fdb1f5aa386 in g_logv (log_domain=0x7fdb1faee017 "Gdk", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffe25537b50) at ../glib/gmessages.c:1371
#2 0x00007fdb1f5aa553 in g_log (log_domain=log_domain@entry=0x7fdb1faee017 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7fdb1f5fa4a8 "%s: assertion '%s' failed") at ../glib/gmessages.c:1413
#3 0x00007fdb1f5aad4d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7fdb1faee017 "Gdk", pretty_function=pretty_function@entry=0x7fdb1faeee50 <__func__.41851> "gdk_cursor_new_from_pixbuf", expression=expression@entry=0x7fdb1faeeacf "GDK_IS_PIXBUF (pixbuf)") at ../glib/gmessages.c:2767
#4 0x00007fdb1fa7ed9d in gdk_cursor_new_from_pixbuf (display=display@entry=0x556e05c2a0e0 [GdkX11Display], pixbuf=<optimized out>, x=x@entry=0, y=y@entry=0) at ../../gdk/gdkcursor.c:346
#5 0x00007fdb1ff0b5b1 in gtk_drag_get_cursor (display=0x556e05c2a0e0 [GdkX11Display], action=action@entry=GDK_ACTION_COPY, info=info@entry=0x0, widget=0x556e0619c640 [WebKitWebViewBase]) at ../../gtk/gtkdnd.c:814
#6 0x00007fdb1ff0d6fd in gtk_drag_begin_internal (widget=widget@entry=0x556e0619c640 [WebKitWebViewBase], out_needs_icon=out_needs_icon@entry=0x0, target_list=target_list@entry=0x556e062323c0, actions=actions@entry=(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE), button=button@entry=1, event=event@entry=0x556e05c5ad10, x=<optimized out>, y=<optimized out>) at ../../gtk/gtkdnd.c:1739
#7 0x00007fdb1ff0e1ac in gtk_drag_begin (widget=0x556e0619c640 [WebKitWebViewBase], targets=0x556e062323c0, actions=(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE), button=1, event=0x556e05c5ad10) at ../../gtk/gtkdnd.c:2027
#8 0x00007fdb2c0c1d0e in _ZN6WebKit18DragAndDropHandler9startDragEON3WTF3RefIN7WebCore13SelectionDataENS1_13DumbPtrTraitsIS4_EEEENS3_13DragOperationEONS1_6RefPtrINS_15ShareableBitmapENS5_ISB_EEEE (this=0x7fdae4ef4e00, selection=..., dragOperation=WebCore::DragOperationEvery, dragImage=...) at ../../Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp:121
#9 0x00007fdb2bf746d4 in _ZN6WebKit14PageClientImpl9startDragEON3WTF3RefIN7WebCore13SelectionDataENS1_13DumbPtrTraitsIS4_EEEENS3_13DragOperationEONS1_6RefPtrINS_15ShareableBitmapENS5_ISB_EEEE (this=0x7fdae4edf900, selection=..., dragOperation=WebCore::DragOperationEvery, dragImage=...) at ../../Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:305
#10 0x00007fdb2bd25e12 in _ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE (this=0x7fdae4afd800, selection=..., dragOperation=4294967295, dragImageHandle=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2347
#11 0x00007fdb2b64206a in _ZN3IPC22callMemberFunctionImplIN6WebKit12WebPageProxyEMS2_FvONS1_16WebSelectionDataEmRKNS1_15ShareableBitmap6HandleEESt5tupleIJS3_mS6_EEJLm0ELm1ELm2EEEEvPT_T0_OT1_St16integer_sequenceImJXspT2_EEE (object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, struct WebKit::WebSelectionData &&, unsigned long, const class WebKit::ShareableBitmap::Handle &)) 0x7fdb2bd25d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>, args=...) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:41
#12 0x00007fdb2b62cbf0 in _ZN3IPC18callMemberFunctionIN6WebKit12WebPageProxyEMS2_FvONS1_16WebSelectionDataEmRKNS1_15ShareableBitmap6HandleEESt5tupleIJS3_mS6_EESt16integer_sequenceImJLm0ELm1ELm2EEEEEvOT1_PT_T0_ (args=..., object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, struct WebKit::WebSelectionData &&, unsigned long, const class WebKit::ShareableBitmap::Handle &)) 0x7fdb2bd25d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:47
#13 0x00007fdb2b619fa6 in _ZN3IPC13handleMessageIN8Messages12WebPageProxy9StartDragEN6WebKit12WebPageProxyEMS5_FvONS4_16WebSelectionDataEmRKNS4_15ShareableBitmap6HandleEEEEvRNS_7DecoderEPT0_T1_ (decoder=..., object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, struct WebKit::WebSelectionData &&, unsigned long, const class WebKit::ShareableBitmap::Handle &)) 0x7fdb2bd25d5a <_ZN6WebKit12WebPageProxy9startDragEONS_16WebSelectionDataEmRKNS_15ShareableBitmap6HandleE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:120
#14 0x00007fdb2b60610c in _ZN6WebKit12WebPageProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7fdae4afd800, connection=..., decoder=...) at DerivedSources/WebKit/WebPageProxyMessageReceiver.cpp:1555
#15 0x00007fdb2bb5dc12 in _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE (this=0x7fdae4ec7538, connection=..., decoder=...) at ../../Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:123
#16 0x00007fdb2bc8bc41 in _ZN6WebKit21AuxiliaryProcessProxy15dispatchMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7fdae4ec7500, connection=..., decoder=...) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:196
#17 0x00007fdb2bdf8e72 in _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE (this=0x7fdae4ec7500, connection=..., decoder=...) at ../../Source/WebKit/UIProcess/WebProcessProxy.cpp:718
#18 0x00007fdb2bb3e0cd in _ZN3IPC10Connection15dispatchMessageERNS_7DecoderE (this=0x7fdae4eb9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1008
#19 0x00007fdb2bb3e7b9 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7fdae4eb9000, message=std::unique_ptr<class IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1077
#20 0x00007fdb2bb44b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7fdae4e91a00) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#21 0x00007fdb2bb39df8 in _ZN3IPC10Connection16SyncMessageState16dispatchMessagesEv (this=0x7fdb358cbd08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>) at ../../Source/WebKit/Platform/IPC/Connection.cpp:179
#22 0x00007fdb2bb3db12 in _ZN3IPC10Connection19dispatchSyncMessageERNS_7DecoderE (this=0x7fdae4eb9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:926
#23 0x00007fdb2bb3e799 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7fdae4eb9000, message=std::unique_ptr<class IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1075
#24 0x00007fdb2bb44b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7fdae4eb3700) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#25 0x00007fdb2bb39df8 in _ZN3IPC10Connection16SyncMessageState16dispatchMessagesEv (this=0x7fdb358cbd08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>) at ../../Source/WebKit/Platform/IPC/Connection.cpp:179
#26 0x00007fdb2bb3c211 in _ZN3IPC10Connection16waitForSyncReplyEmNS_15StringReferenceES1_N3WTF7SecondsENS2_9OptionSetINS_14SendSyncOptionEEE (this=0x7fdae4eb9000, syncRequestID=3, messageReceiverName=..., messageName=..., timeout=..., sendSyncOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:637
#27 0x00007fdb2bb3c05c in _ZN3IPC10Connection15sendSyncMessageEmSt10unique_ptrINS_7EncoderESt14default_deleteIS2_EEN3WTF7SecondsENS6_9OptionSetINS_14SendSyncOptionEEE (this=0x7fdae4eb9000, syncRequestID=3, encoder=std::unique_ptr<class IPC::Encoder> = {...}, timeout=..., sendSyncOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:610
#28 0x00007fdb2bb3b531 in _ZN3IPC10Connection11sendMessageESt10unique_ptrINS_7EncoderESt14default_deleteIS2_EEN3WTF9OptionSetINS_10SendOptionEEE (this=0x7fdae4eb9000, encoder=std::unique_ptr<class IPC::Encoder> = {...}, sendOptions=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:461
#29 0x00007fdb2bc8ba41 in _ZN6WebKit21AuxiliaryProcessProxy11sendMessageESt10unique_ptrIN3IPC7EncoderESt14default_deleteIS3_EEN3WTF9OptionSetINS2_10SendOptionEEEONS7_8OptionalISt4pairINS7_17CompletionHandlerIFvPNS2_7DecoderEEEEmEEE (this=0x7fdae4ec7500, encoder=std::unique_ptr<class IPC::Encoder> = {...}, sendOptions=..., asyncReplyInfo=...) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:157
#30 0x00007fdb2bd3af1c in _ZN6WebKit12WebPageProxy11sendMessageESt10unique_ptrIN3IPC7EncoderESt14default_deleteIS3_EEN3WTF9OptionSetINS2_10SendOptionEEEONS7_8OptionalISt4pairINS7_17CompletionHandlerIFvPNS2_7DecoderEEEEmEEE (this=0x7fdae4afd800, encoder=std::unique_ptr<class IPC::Encoder> = {...}, sendOptions=..., asyncReplyInfo=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:6122
#31 0x00007fdb2bd86e87 in _ZN3IPC13MessageSender4sendIN8Messages7WebPage10MouseEventEEEbRKT_mN3WTF9OptionSetINS_10SendOptionEEE (this=0x7fdae4afd830, message=..., destinationID=7, sendOptions=...) at ../../Source/WebKit/Platform/IPC/MessageSender.h:49
#32 0x00007fdb2bd6ad07 in _ZN3IPC13MessageSender4sendIN8Messages7WebPage10MouseEventEEEbRKT_N3WTF9OptionSetINS_10SendOptionEEE (this=0x7fdae4afd830, message=..., sendOptions=...) at ../../Source/WebKit/Platform/IPC/MessageSender.h:39
#33 0x00007fdb2bd26549 in _ZN6WebKit12WebPageProxy27processNextQueuedMouseEventEv (this=0x7fdae4afd800) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2474
#34 0x00007fdb2bd2636d in _ZN6WebKit12WebPageProxy16handleMouseEventERKNS_19NativeWebMouseEventE (this=0x7fdae4afd800, event=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:2450
#35 0x00007fdb2bf983d9 in webkitWebViewBaseHandleMouseEvent(WebKitWebViewBase*, GdkEvent*) (webViewBase=0x556e0619c640 [WebKitWebViewBase], event=0x556e05c5adb0) at ../../Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:879
#36 0x00007fdb2bf98969 in webkitWebViewBaseMotionNotifyEvent(GtkWidget*, GdkEventMotion*) (widget=0x556e0619c640 [WebKitWebViewBase], event=0x556e05c5adb0) at ../../Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:988
#37 0x00007fdb1ff3373f in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x556e05c6c320, return_value=0x7ffe255396a0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x556e05c6c350) at gtkmarshalers.c:129
#38 0x00007fdb1f68d996 in _g_closure_invoke_va (closure=0x556e05c6c320, return_value=0x7ffe255396a0, instance=0x556e0619c640, args=0x7ffe25539770, n_params=1, param_types=0x556e05c6c350) at ../gobject/gclosure.c:873
#39 0x00007fdb1f6a9dbb in g_signal_emit_valist (instance=0x556e0619c640, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe25539770) at ../gobject/gsignal.c:3300
#40 0x00007fdb1f6aa9a3 in g_signal_emit (instance=instance@entry=0x556e0619c640, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
#41 0x00007fdb1fede3b3 in gtk_widget_event_internal (event=0x556e05c5adb0, widget=0x556e0619c640 [WebKitWebViewBase]) at ../../gtk/gtkwidget.c:7789
#42 0x00007fdb1fede3b3 in gtk_widget_event_internal (widget=0x556e0619c640 [WebKitWebViewBase], event=0x556e05c5adb0) at ../../gtk/gtkwidget.c:7658
#43 0x00007fdb1fd9abd8 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x556e0619c640 [WebKitWebViewBase]) at ../../gtk/gtkmain.c:2582
#44 0x00007fdb1fd9abd8 in propagate_event (widget=<optimized out>, event=0x556e05c5adb0, captured=<optimized out>, topmost=0x0) at ../../gtk/gtkmain.c:2685
#45 0x00007fdb1fd9cdeb in gtk_main_do_event (event=0x556e05c5adb0) at ../../gtk/gtkmain.c:1915
#46 0x00007fdb1fd9cdeb in gtk_main_do_event (event=<optimized out>) at ../../gtk/gtkmain.c:1685
#47 0x0000556e0425a276 in _ZN3WTR16EventSenderProxy13dispatchEventEP9_GdkEvent (this=0x7fdae4eec0b0, event=0x556e05c5adb0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:160
#48 0x0000556e0425a2f0 in _ZN3WTR16EventSenderProxy17replaySavedEventsEv (this=0x7fdae4eec0b0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:171
#49 0x0000556e0425a37c in _ZN3WTR16EventSenderProxy16sendOrQueueEventEP9_GdkEvent (this=0x7fdae4eec0b0, event=0x556e05c5adb0) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:183
#50 0x0000556e0425aed2 in _ZN3WTR16EventSenderProxy11mouseMoveToEdd (this=0x7fdae4eec0b0, x=60, y=111) at ../../Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:386
#51 0x0000556e04207ba2 in _ZN3WTR14TestController46didReceiveSynchronousMessageFromInjectedBundleEPK14OpaqueWKStringPKvPK23OpaqueWKMessageListener (this=0x7ffe2553b240, messageName=0x7fdae4eaeae0, messageBody=0x7fdae4eebdc8, listener=0x7fdae4ebfc80) at ../../Tools/WebKitTestRunner/TestController.cpp:2031
#52 0x0000556e0420698c in _ZN3WTR14TestController62didReceiveSynchronousPageMessageFromInjectedBundleWithListenerEPK12OpaqueWKPagePK14OpaqueWKStringPKvPK23OpaqueWKMessageListenerS8_ (page=0x7fdae4afd800, messageName=0x7fdae4eaeae0, messageBody=0x7fdae4eebdc8, listener=0x7fdae4ebfc80, clientInfo=0x7ffe2553b240) at ../../Tools/WebKitTestRunner/TestController.cpp:1839
#53 0x00007fdb2bd1a1b1 in _ZN6WebKit27WebPageInjectedBundleClient46didReceiveSynchronousMessageFromInjectedBundleEPNS_12WebPageProxyERKN3WTF6StringEPN3API6ObjectEONS3_17CompletionHandlerIFvNS3_6RefPtrIS8_NS3_13DumbPtrTraitsIS8_EEEEEEE (this=0x7fdae4efa5c8, page=0x7fdae4afd800, messageName="EventSender", messageBody=0x7fdae4eebdc8, completionHandler=...) at ../../Source/WebKit/UIProcess/WebPageInjectedBundleClient.cpp:58
#54 0x00007fdb2bd1db75 in _ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE (this=0x7fdae4afd800, connection=..., messageName="EventSender", messageBody=..., completionHandler=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:735
#55 0x00007fdb2b64b284 in _ZN3IPC22callMemberFunctionImplIN6WebKit12WebPageProxyEMS2_FvRNS_10ConnectionERKN3WTF6StringERKNS1_8UserDataEONS5_17CompletionHandlerIFvOS9_EEEEFvSB_ESt5tupleIJS6_S9_EEJLm0ELm1EEEEvS4_PT_T0_ONSC_IT1_EEOT2_St16integer_sequenceImJXspT3_EEE (connection=..., object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, class IPC::Connection &, const class WTF::String &, const class WebKit::UserData &, class WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7fdb2bd1d9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>, completionHandler=..., args=...) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:69
#56 0x00007fdb2b631cd9 in _ZN3IPC18callMemberFunctionIN6WebKit12WebPageProxyEMS2_FvRNS_10ConnectionERKN3WTF6StringERKNS1_8UserDataEONS5_17CompletionHandlerIFvOS9_EEEEFvSB_ESt5tupleIJS6_S9_EESt16integer_sequenceImJLm0ELm1EEEEEvS4_OT2_ONSC_IT1_EEPT_T0_ (connection=..., args=..., completionHandler=..., object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, class IPC::Connection &, const class WTF::String &, const class WebKit::UserData &, class WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7fdb2bd1d9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:75
#57 0x00007fdb2b621167 in _ZN3IPC39handleMessageSynchronousWantsConnectionIN8Messages12WebPageProxy24HandleSynchronousMessageEN6WebKit12WebPageProxyEMS5_FvRNS_10ConnectionERKN3WTF6StringERKNS4_8UserDataEONS8_17CompletionHandlerIFvOSC_EEEEEEvS7_RNS_7DecoderERSt10unique_ptrINS_7EncoderESt14default_deleteISP_EEPT0_T1_ (connection=..., decoder=..., replyEncoder=std::unique_ptr<class IPC::Encoder> = {...}, object=0x7fdae4afd800, function=(void (WebKit::WebPageProxy::*)(class WebKit::WebPageProxy * const, class IPC::Connection &, const class WTF::String &, const class WebKit::UserData &, class WTF::CompletionHandler<void(WebKit::UserData&&)> &&)) 0x7fdb2bd1d9ec <_ZN6WebKit12WebPageProxy24handleSynchronousMessageERN3IPC10ConnectionERKN3WTF6StringERKNS_8UserDataEONS4_17CompletionHandlerIFvOS8_EEE>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:164
#58 0x00007fdb2b6084d4 in _ZN6WebKit12WebPageProxy21didReceiveSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7fdae4afd800, connection=..., decoder=..., replyEncoder=std::unique_ptr<class IPC::Encoder> = {...}) at DerivedSources/WebKit/WebPageProxyMessageReceiver.cpp:2416
#59 0x00007fdb2bb5dd82 in _ZN3IPC18MessageReceiverMap19dispatchSyncMessageERNS_10ConnectionERNS_7DecoderERSt10unique_ptrINS_7EncoderESt14default_deleteIS6_EE (this=0x7fdae4ec7538, connection=..., decoder=..., replyEncoder=std::unique_ptr<class IPC::Encoder> = {...}) at ../../Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:140
#60 0x00007fdb2bc8bc78 in _ZN6WebKit21AuxiliaryProcessProxy19dispatchSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7fdae4ec7500, connection=..., decoder=..., replyEncoder=std::unique_ptr<class IPC::Encoder> = {...}) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:201
#61 0x00007fdb2bdf8f55 in _ZN6WebKit15WebProcessProxy21didReceiveSyncMessageERN3IPC10ConnectionERNS1_7DecoderERSt10unique_ptrINS1_7EncoderESt14default_deleteIS7_EE (this=0x7fdae4ec7500, connection=..., decoder=..., replyEncoder=std::unique_ptr<class IPC::Encoder> = {...}) at ../../Source/WebKit/UIProcess/WebProcessProxy.cpp:734
#62 0x00007fdb2bb3db4f in _ZN3IPC10Connection19dispatchSyncMessageERNS_7DecoderE (this=0x7fdae4eb9000, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:929
#63 0x00007fdb2bb3e799 in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE (this=0x7fdae4eb9000, message=std::unique_ptr<class IPC::Decoder> = {...}) at ../../Source/WebKit/Platform/IPC/Connection.cpp:1075
#64 0x00007fdb2bb44b08 in _ZN3IPC10Connection16SyncMessageState28ConnectionAndIncomingMessage8dispatchEv (this=0x7fdae4eb3300) at ../../Source/WebKit/Platform/IPC/Connection.cpp:119
#65 0x00007fdb2bb39f83 in _ZN3IPC10Connection16SyncMessageState64dispatchMessagesAndResetDidScheduleDispatchMessagesForConnectionERS0_ (this=0x7fdb358cbd08 <_ZZN3IPC10Connection16SyncMessageState9singletonEvE16syncMessageState+8>, connection=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:197
#66 0x00007fdb2bb39b08 in IPC::Connection::SyncMessageState::<lambda()>::operator()(void) (__closure=0x7fdae4ea9140) at ../../Source/WebKit/Platform/IPC/Connection.cpp:159
#67 0x00007fdb2bb446c6 in WTF::Detail::CallableWrapper<IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::unique_ptr<IPC::Decoder>&)::<lambda()>, void>::call(void) (this=0x7fdae4ea9138) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#68 0x0000556e04216e6f in _ZNK3WTF8FunctionIFvvEEclEv (this=0x7ffe2553a450) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#69 0x00007fdb1ddafbde in _ZN3WTF7RunLoop11performWorkEv (this=0x7fdae4ef6000) at ../../Source/WTF/wtf/RunLoop.cpp:107
#70 0x00007fdb1de2ecac in WTF::RunLoop::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, userData=0x7fdae4ef6000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#71 0x00007fdb1de2ecd0 in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:70
#72 0x00007fdb1de2ec5e in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x556e06198390, callback=0x7fdb1de2ecb3 <WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer)>, userData=0x7fdae4ef6000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#73 0x00007fdb1de2ec8e in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#74 0x00007fdb1f5a2eef in g_main_dispatch (context=0x556e05c60b70) at ../glib/gmain.c:3189
#75 0x00007fdb1f5a2eef in g_main_context_dispatch (context=context@entry=0x556e05c60b70) at ../glib/gmain.c:3854
#76 0x00007fdb1f5a32c0 in g_main_context_iterate (context=0x556e05c60b70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927
#77 0x00007fdb1f5a35f3 in g_main_loop_run (loop=0x556e06198370) at ../glib/gmain.c:4123
#78 0x00007fdb1de2f1ca in _ZN3WTF7RunLoop3runEv () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#79 0x0000556e04260ca1 in _ZN3WTR14TestController16platformRunUntilERbN3WTF7SecondsE (this=0x7ffe2553b240, done=@0x7fdae4eea19b: false, timeout=...) at ../../Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp:80
#80 0x0000556e0420684b in _ZN3WTR14TestController8runUntilERbN3WTF7SecondsE (this=0x7ffe2553b240, done=@0x7fdae4eea19b: false, timeout=...) at ../../Tools/WebKitTestRunner/TestController.cpp:1810
#81 0x0000556e04230f67 in _ZN3WTR14TestInvocation6invokeEv (this=0x7fdae4eea000) at ../../Tools/WebKitTestRunner/TestInvocation.cpp:185
#82 0x0000556e042064fa in _ZN3WTR14TestController7runTestEPKc (this=0x7ffe2553b240, inputLine=0x7ffe2553a9a0 "/app/webkit/LayoutTests/editing/pasteboard/4947130.html'--timeout'30000") at ../../Tools/WebKitTestRunner/TestController.cpp:1740
#83 0x0000556e04206725 in _ZN3WTR14TestController20runTestingServerLoopEv (this=0x7ffe2553b240) at ../../Tools/WebKitTestRunner/TestController.cpp:1786
#84 0x0000556e0420677a in _ZN3WTR14TestController3runEv (this=0x7ffe2553b240) at ../../Tools/WebKitTestRunner/TestController.cpp:1794
#85 0x0000556e041fef66 in _ZN3WTR14TestControllerC2EiPPKc (this=0x7ffe2553b240, argc=2, argv=0x7ffe2553b5c8) at ../../Tools/WebKitTestRunner/TestController.cpp:167
#86 0x0000556e04263f85 in main(int, char**) (argc=2, argv=0x7ffe2553b5c8) at ../../Tools/WebKitTestRunner/gtk/main.cpp:45
Carlos Garcia Campos
I don't think this is a WebKit bug... The problem is that for some reason GTK is failing to create a cursor. It first fails with gdk_cursor_new_from_name() which is called with "copy", so it should always work, it's one of the recommended set. Then gdk_pixbuf_new_from_stream() is failing too in ensure_drag_cursor_pixbuf (or g_resources_open_stream is returning null, we would need to debug it to know it for sure). I would patch GTK to handle errors of both g_resources_open_stream() and gdk_pixbuf_new_from_stream() to see why they are failing. Is this Wayland or X11?
Carlos Garcia Campos
(In reply to Philippe Normand from comment #0)
[...]
>
> Looking at the cursors in libgtk:
> sh-5.0$ gresource list /usr/lib/x86_64-linux-gnu/libgtk-3.so|grep cursor
> /org/gtk/libgtk/cursor/dnd-ask.png
> /org/gtk/libgtk/cursor/dnd-copy.png
> /org/gtk/libgtk/cursor/dnd-link.png
> /org/gtk/libgtk/cursor/dnd-move.png
> /org/gtk/libgtk/cursor/dnd-none.png
>
> Doesn't seem to match with what's in the code:
> https://gitlab.gnome.org/GNOME/gtk/blob/3.24.10/gtk/gtkdnd.c#L281
> { GDK_ACTION_ASK, "dnd-ask", NULL, NULL },
> { GDK_ACTION_COPY, "copy", NULL, NULL },
> { GDK_ACTION_MOVE, "move", NULL, NULL },
> { GDK_ACTION_LINK, "alias", NULL, NULL },
> { 0 , "no-drop", NULL, NULL },
Ah, good catch! This is probably the reason why ensure_drag_cursor_pixbuf() si failing then. I guess nobody noticed before because gdk_cursor_new_from_name() always works with "copy". So, I think there are actually two separate issues:
1.- gdk_cursor_new_from_name() is failing
2.- The cursor names don't match the resources names.
It should be easy to fix 2. we could do:
char *path = g_strconcat ("/org/gtk/libgtk/cursor/dnd-", drag_cursors[i].name, ".png", NULL);
and rename dnd-ask to ask. In any case, not a WebKit bug for sure.
Philippe Normand
X11
Philippe Normand
Updating to 3.24.13 fixed the problem, I suppose gdk_cursor_new_from_name() now succeeds, somehow :)