<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>194698</bug_id>
          
          <creation_ts>2019-02-15 01:55:31 -0800</creation_ts>
          <short_desc>[GTK] Crash while filling selection data during drag and drop</short_desc>
          <delta_ts>2019-02-18 15:15:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1677570</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1667596</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1677738</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1506526</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2019-02-15 01:55:31 -0800</bug_when>
    <thetext>We get these two reports in Fedora - one from Epiphany and the other on from yelp. The this@entry=0x8 seems suspicious.

Core was generated by `epiphany --application-mode --profile=/home/kusma/.config/epiphany/app-epiphany&apos;.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fd765b0398c in WTF::String::tryGetUtf8 (this=this@entry=0x8, mode=mode@entry=WTF::LenientConversion) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WTF/wtf/text/WTFString.cpp:843
[Current thread is 1 (Thread 0x7fd7609f7cc0 (LWP 18017))]

Thread 1 (Thread 0x7fd7609f7cc0 (LWP 18017)):
#0  0x00007fd765b0398c in WTF::String::tryGetUtf8 (this=this@entry=0x8, mode=mode@entry=WTF::LenientConversion) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WTF/wtf/text/WTFString.cpp:843
No locals.
#1  0x00007fd765b03a64 in WTF::String::utf8 (this=this@entry=0x8, mode=mode@entry=WTF::LenientConversion) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WTF/wtf/text/WTFString.cpp:854
        expectedString = {&lt;std::experimental::fundamentals_v3::__expected_detail::base&lt;WTF::CString, WTF::UTF8ConversionError&gt;&gt; = {s = {dummy = 0 &apos;\000&apos;, val = {m_buffer = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x0}}, err = WTF::UTF8ConversionError::None}, has = false}, &lt;No data fields&gt;}
#2  0x00007fd765b03b03 in WTF::String::utf8 (this=this@entry=0x8) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WTF/wtf/text/WTFString.cpp:861
No locals.
#3  0x00007fd767cff996 in WebCore::PasteboardHelper::fillSelectionData (this=&lt;optimized out&gt;, selection=..., info=&lt;optimized out&gt;, selectionData=0x7ffe54cdec30) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WebCore/platform/gtk/SelectionData.h:38
No locals.
#4  0x00007fd7692403dd in g_closure_invoke (closure=0x55b536b1be50, return_value=0x0, n_param_values=5, param_values=0x7ffe54cde2b0, invocation_hint=0x7ffe54cde230) at gclosure.c:810
        marshal = 0x7fd76923e8c0 &lt;g_type_class_meta_marshal&gt;
        marshal_data = 0x268
        in_marshal = 0
        real_closure = 0x55b536b1be30
        __func__ = &quot;g_closure_invoke&quot;
#5  0x00007fd7692531b4 in signal_emit_unlocked_R (node=node@entry=0x55b536b1e360, detail=detail@entry=0, instance=instance@entry=0x55b53747f810, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe54cde2b0) at gsignal.c:3673
        accumulator = 0x0
        emission = {next = 0x7ffe54cde7c0, instance = 0x55b53747f810, ihint = {signal_id = 110, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 94236795894320}
        class_closure = 0x55b536b1be50
        hlist = &lt;optimized out&gt;
        handler_list = &lt;optimized out&gt;
        return_accu = 0x0
        accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 110
        max_sequential_handler_number = 68308
        return_value_altered = 0
#6  0x00007fd76925caaa in g_signal_emit_valist (instance=instance@entry=0x55b53747f810, signal_id=signal_id@entry=110, detail=detail@entry=0, var_args=var_args@entry=0x7ffe54cde518) at gsignal.c:3391
        instance_and_params = 0x7ffe54cde2b0
        signal_return_type = &lt;optimized out&gt;
        param_values = 0x7ffe54cde2c8
        node = &lt;optimized out&gt;
        i = &lt;optimized out&gt;
        n_params = &lt;optimized out&gt;
        __func__ = &quot;g_signal_emit_valist&quot;
#7  0x00007fd76925d584 in g_signal_emit_by_name (instance=0x55b53747f810, detailed_signal=detailed_signal@entry=0x7fd7698234d6 &quot;drag-data-get&quot;) at gsignal.c:3487
        var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffe54cde650, reg_save_area = 0x7ffe54cde560}}
        detail = 0
        signal_id = 110
        itype = 94236795894320
        __func__ = &quot;g_signal_emit_by_name&quot;
#8  0x00007fd7697ec355 in gtk_drag_selection_get (widget=&lt;optimized out&gt;, selection_data=0x7ffe54cdec30, sel_info=&lt;optimized out&gt;, time=90823832, data=0x55b5389732d0) at gtkdnd.c:2725
        info = 0x55b5389732d0
        null_atom = 0x86
        target_info = 1
#9  0x00007fd7692403dd in g_closure_invoke (closure=0x55b538a1c120, return_value=0x0, n_param_values=4, param_values=0x7ffe54cde850, invocation_hint=0x7ffe54cde7d0) at gclosure.c:810
        marshal = 0x7fd769817300 &lt;_gtk_marshal_VOID__BOXED_UINT_UINT&gt;
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x55b538a1c100
        __func__ = &quot;g_closure_invoke&quot;
#10 0x00007fd769253983 in signal_emit_unlocked_R (node=node@entry=0x55b536b1dee0, detail=detail@entry=0, instance=instance@entry=0x55b536ae4d20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe54cde850) at gsignal.c:3635
        tmp = &lt;optimized out&gt;
        handler = 0x55b5379ecc40
        accumulator = 0x0
        emission = {next = 0x7ffe54cdef80, instance = 0x55b536ae4d20, ihint = {signal_id = 100, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x55b536adff20
        hlist = &lt;optimized out&gt;
        handler_list = 0x55b5379ecc40
        return_accu = 0x0
        accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 100
        max_sequential_handler_number = 68308
        return_value_altered = 0
#11 0x00007fd76925caaa in g_signal_emit_valist (instance=instance@entry=0x55b536ae4d20, signal_id=signal_id@entry=100, detail=detail@entry=0, var_args=var_args@entry=0x7ffe54cdeaa8) at gsignal.c:3391
        instance_and_params = 0x7ffe54cde850
        signal_return_type = &lt;optimized out&gt;
        param_values = 0x7ffe54cde868
        node = &lt;optimized out&gt;
        i = &lt;optimized out&gt;
        n_params = &lt;optimized out&gt;
        __func__ = &quot;g_signal_emit_valist&quot;
#12 0x00007fd76925d584 in g_signal_emit_by_name (instance=instance@entry=0x55b536ae4d20, detailed_signal=detailed_signal@entry=0x7fd76987de15 &quot;selection-get&quot;) at gsignal.c:3487
        var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffe54cdebe0, reg_save_area = 0x7ffe54cdeaf0}}
        detail = 0
        signal_id = 100
        itype = 94236795183872
        __func__ = &quot;g_signal_emit_by_name&quot;
#13 0x00007fd769704beb in gtk_selection_invoke_handler (widget=0x55b536ae4d20, data=0x7ffe54cdec30, time=90823832) at gtkselection.c:3085
        target_list = &lt;optimized out&gt;
        info = 1
        __func__ = &quot;gtk_selection_invoke_handler&quot;
        _g_boolean_var_ = &lt;optimized out&gt;
#14 0x00007fd769704e65 in gtk_selection_convert (widget=0x55b536ae5500, selection=0x46, target=0x4f, time_=90823832) at gtkselection.c:1157
        owner_widget = &lt;optimized out&gt;
        owner_widget_ptr = 0x55b536ae4d20
        selection_data = {selection = 0x46, target = 0x4f, type = 0x0, format = 0, data = 0x0, length = -1, display = 0x55b536ab5010}
        info = 0x7fd6c8001d20
        tmp_list = &lt;optimized out&gt;
        owner_window = &lt;optimized out&gt;
        display = 0x55b536ab5010
        id = &lt;optimized out&gt;
        __func__ = &quot;gtk_selection_convert&quot;
#15 0x00007fd766695059 in WebKit::DragAndDropHandler::dragDataSelection (this=this@entry=0x55b536f8f1e0, context=&lt;optimized out&gt;, context@entry=0x55b536ab88b0, position=..., time=time@entry=90823832) at /usr/include/c++/8/bits/unique_ptr.h:342
        droppingContext = @0x7fd750e25c48: {_M_t = {_M_t = {&lt;std::_Tuple_impl&lt;0, WebKit::DragAndDropHandler::DroppingContext*, std::default_delete&lt;WebKit::DragAndDropHandler::DroppingContext&gt; &gt;&gt; = {&lt;std::_Tuple_impl&lt;1, std::default_delete&lt;WebKit::DragAndDropHandler::DroppingContext&gt; &gt;&gt; = {&lt;std::_Head_base&lt;1, std::default_delete&lt;WebKit::DragAndDropHandler::DroppingContext&gt;, true&gt;&gt; = {&lt;std::default_delete&lt;WebKit::DragAndDropHandler::DroppingContext&gt;&gt; = {&lt;No data fields&gt;}, &lt;No data fields&gt;}, &lt;No data fields&gt;}, &lt;std::_Head_base&lt;0, WebKit::DragAndDropHandler::DroppingContext*, false&gt;&gt; = {_M_head_impl = 0x55b5389857d0}, &lt;No data fields&gt;}, &lt;No data fields&gt;}}}
#16 0x00007fd766695243 in WebKit::DragAndDropHandler::dragMotion (this=0x55b536f8f1e0, context=context@entry=0x55b536ab88b0, position=..., time=time@entry=90823832) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp:241
        selection = &lt;optimized out&gt;
        dragData = {m_clientPosition = {m_x = 0, m_y = 0}, m_globalPosition = {m_x = -2101622272, m_y = 474827403}, m_platformDragData = 0x55b5374a46a8, m_draggingSourceOperationMask = WebCore::DragOperationNone, m_applicationFlags = WebCore::DragApplicationNone, m_fileNames = {&lt;WTF::VectorBuffer&lt;WTF::String, 0&gt;&gt; = {&lt;WTF::VectorBufferBase&lt;WTF::String&gt;&gt; = {m_buffer = 0x7ffe54cdee90, m_capacity = 2193345024, m_size = 474827403}, &lt;No data fields&gt;}, &lt;No data fields&gt;}, m_dragDestinationAction = 1756547392}
        operation = &lt;optimized out&gt;
#17 0x00007fd766626b80 in webkitWebViewBaseDragMotion (widget=widget@entry=0x55b53747f810, context=0x55b536ab88b0, x=419, y=623, time=90823832) at /usr/src/debug/webkit2gtk3-2.22.5-1.fc29.x86_64/Source/WebCore/platform/graphics/IntPoint.h:72
No locals.
#18 0x00007fd769813496 in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT (closure=0x55b536b1c070, return_value=0x7ffe54cdefb0, n_param_values=&lt;optimized out&gt;, param_values=0x7ffe54cdf010, invocation_hint=&lt;optimized out&gt;, marshal_data=&lt;optimized out&gt;) at gtkmarshalers.c:713
        cc = 0x55b536b1c070
        data1 = 0x55b53747f810
        data2 = &lt;optimized out&gt;
        callback = 0x7fd766626b20 &lt;webkitWebViewBaseDragMotion(GtkWidget*, GdkDragContext*, gint, gint, guint)&gt;
        v_return = &lt;optimized out&gt;
        __func__ = &quot;_gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT&quot;
#19 0x00007fd7692403dd in g_closure_invoke (closure=0x55b536b1c070, return_value=0x7ffe54cdefb0, n_param_values=5, param_values=0x7ffe54cdf010, invocation_hint=0x7ffe54cdef90) at gclosure.c:810
        marshal = 0x7fd76923e8c0 &lt;g_type_class_meta_marshal&gt;
        marshal_data = 0x280
        in_marshal = 0
        real_closure = 0x55b536b1c050
        __func__ = &quot;g_closure_invoke&quot;
#20 0x00007fd7692531b4 in signal_emit_unlocked_R (node=node@entry=0x55b536b1e120, detail=detail@entry=0, instance=instance@entry=0x55b53747f810, emission_return=emission_return@entry=0x7ffe54cdf180, instance_and_params=instance_and_params@entry=0x7ffe54cdf010) at gsignal.c:3673
        accumulator = 0x55b536b1e190
        emission = {next = 0x0, instance = 0x55b53747f810, ihint = {signal_id = 108, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 94236795894320}
        class_closure = 0x55b536b1c070
        hlist = &lt;optimized out&gt;
        handler_list = &lt;optimized out&gt;
        return_accu = 0x7ffe54cdefb0
        accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 108
        max_sequential_handler_number = 68307
        return_value_altered = 0
#21 0x00007fd76925c123 in g_signal_emit_valist (instance=instance@entry=0x55b53747f810, signal_id=signal_id@entry=108, detail=detail@entry=0, var_args=var_args@entry=0x7ffe54cdf278) at gsignal.c:3401
        return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7ffe54cdf010
        signal_return_type = &lt;optimized out&gt;
        param_values = 0x7ffe54cdf028
        node = &lt;optimized out&gt;
        i = &lt;optimized out&gt;
        n_params = &lt;optimized out&gt;
        __func__ = &quot;g_signal_emit_valist&quot;
#22 0x00007fd76925d584 in g_signal_emit_by_name (instance=instance@entry=0x55b53747f810, detailed_signal=detailed_signal@entry=0x7fd769851e10 &quot;drag-motion&quot;) at gsignal.c:3487
        var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffe54cdf3b0, reg_save_area = 0x7ffe54cdf2c0}}
        detail = 0
        signal_id = 108
        itype = 94236795894320
        __func__ = &quot;g_signal_emit_by_name&quot;
#23 0x00007fd7697ed58e in gtk_drag_dest_motion (widget=0x55b53747f810, context=0x55b536ab88b0, x=419, y=623, time=90823832) at gtkdnd.c:1572
        site = 0x55b536ffc380
        action = &lt;optimized out&gt;
        retval = 1770673408
        __func__ = &quot;gtk_drag_dest_motion&quot;
#24 0x00007fd7697edaf8 in gtk_drag_find_widget (callback=0x7fd7697ed450 &lt;gtk_drag_dest_motion&gt;, time=90823832, y=&lt;optimized out&gt;, x=&lt;optimized out&gt;, info=0x7fd6b80018d0, context=0x55b536ab88b0, widget=0x55b53747f810) at gtkdnd.c:1270
        parent = 0x0
        hierarchy = 0x55b53786ae20
        found = 0
#25 _gtk_drag_dest_handle_event (toplevel=toplevel@entry=0x55b536ede460, event=event@entry=0x7fd744007b60) at gtkdnd.c:1091
        window = &lt;optimized out&gt;
        tx = 0
        ty = 0
        found = &lt;optimized out&gt;
        info = 0x7fd6b80018d0
        context = 0x55b536ab88b0
        __func__ = &quot;_gtk_drag_dest_handle_event&quot;
#26 0x00007fd76967da8b in gtk_main_do_event (event=&lt;optimized out&gt;) at gtkmain.c:1933
        grab_widget = &lt;optimized out&gt;
        window_group = 0x55b536edbca0
        rewritten_event = &lt;optimized out&gt;
        device = 0x55b536ab8960
        tmp_list = &lt;optimized out&gt;
        event_widget = 0x55b536ede460
        topmost_widget = &lt;optimized out&gt;
        grab_widget = &lt;optimized out&gt;
        rewritten_event = &lt;optimized out&gt;
        tmp_list = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        window = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        window = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        event_widget = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        window_group = &lt;optimized out&gt;
        device = &lt;optimized out&gt;
        event = 0x7fd744007b60
        __func__ = &quot;gtk_main_do_event&quot;
        topmost_widget = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        mnemonics_visible = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        event_widget = &lt;optimized out&gt;
        window_group = &lt;optimized out&gt;
        device = &lt;optimized out&gt;
        tmp_list = &lt;optimized out&gt;
        __func__ = &quot;gtk_main_do_event&quot;
        __inst = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        window = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
        mnemonics_visible = &lt;optimized out&gt;
        window = &lt;optimized out&gt;
        __inst = &lt;optimized out&gt;
        __t = &lt;optimized out&gt;
        __r = &lt;optimized out&gt;
#27 0x00007fd768bf0a39 in _gdk_event_emit (event=event@entry=0x7fd744007b60) at gdkevents.c:73
No locals.
#28 0x00007fd768c4d286 in gdk_event_source_dispatch (base=&lt;optimized out&gt;, callback=&lt;optimized out&gt;, data=&lt;optimized out&gt;) at gdkeventsource.c:124
        source = &lt;optimized out&gt;
        display = &lt;optimized out&gt;
        event = 0x7fd744007b60
#29 0x00007fd76915e06d in g_main_dispatch (context=0x55b536ac9980) at gmain.c:3182
        dispatch = 0x7fd768c4d260 &lt;gdk_event_source_dispatch&gt;
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = &lt;optimized out&gt;
        source = 0x55b536ade290
        current = 0x55b536a8ba30
        i = 0
        current = &lt;optimized out&gt;
        i = &lt;optimized out&gt;
        __func__ = &quot;g_main_dispatch&quot;
        source = &lt;optimized out&gt;
        _g_boolean_var_ = &lt;optimized out&gt;
        was_in_call = &lt;optimized out&gt;
        user_data = &lt;optimized out&gt;
        callback = &lt;optimized out&gt;
        cb_funcs = &lt;optimized out&gt;
        cb_data = &lt;optimized out&gt;
        need_destroy = &lt;optimized out&gt;
        dispatch = &lt;optimized out&gt;
        prev_source = &lt;optimized out&gt;
        _g_boolean_var_ = &lt;optimized out&gt;
#30 g_main_context_dispatch (context=context@entry=0x55b536ac9980) at gmain.c:3847
No locals.
#31 0x00007fd76915e438 in g_main_context_iterate (context=context@entry=0x55b536ac9980, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3920
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = &lt;optimized out&gt;
        allocated_nfds = 6
        fds = 0x55b536cc0ca0
#32 0x00007fd76915e4d0 in g_main_context_iteration (context=context@entry=0x55b536ac9980, may_block=may_block@entry=1) at gmain.c:3981
        retval = &lt;optimized out&gt;
#33 0x00007fd76932ed25 in g_application_run (application=0x55b536d921a0, argc=&lt;optimized out&gt;, argv=0x7ffe54cdf7f8) at gapplication.c:2470
        arguments = 0x55b536c458c0
        status = 0
        context = 0x55b536ac9980
        acquired_context = &lt;optimized out&gt;
        __func__ = &quot;g_application_run&quot;
#34 0x000055b53553cf5e in ?? ()
No symbol table info available.
#35 0x00007ffe54cdf7f8 in ?? ()
No symbol table info available.
#36 0x0000000168d6b5fd in ?? ()
No symbol table info available.
#37 0x00007fd7646007c2 in _g_module_symbol (symbol_name=0x7ffe54cdf7f8 &quot;^\020\316T\376\177&quot;, handle=0x7ffe54cdf7f0) at gmodule-dl.c:163
        p = &lt;optimized out&gt;
        msg = &lt;optimized out&gt;
        p = &lt;optimized out&gt;
        msg = &lt;optimized out&gt;
#38 g_module_symbol (module=&lt;optimized out&gt;, symbol_name=0x7ffe54cdf7f8 &quot;^\020\316T\376\177&quot;, symbol=0x1) at gmodule.c:800
        module_error = &lt;optimized out&gt;
        __func__ = &quot;g_module_symbol&quot;
#39 0x000055b53553dac0 in ?? ()
No symbol table info available.
#40 0x000055b53553d200 in ?? ()
No symbol table info available.
#41 0x00007ffe54cdf7f0 in ?? ()
No symbol table info available.
#42 0x00007fd768df7413 in __libc_start_main (main=0x55b53553c9b0, argc=4, argv=0x7ffe54cdf7f8, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffe54cdf7e8) at ../csu/libc-start.c:308
        self = &lt;optimized out&gt;
        result = &lt;optimized out&gt;
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 3686795047983546301, 94236772127232, 140730321205232, 0, 0, 7475099810769043389, 7489094244564762557}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffe54cdf820, 0x7fd769ce4150}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1422784544}}}
        not_first_call = &lt;optimized out&gt;
#43 0x000055b53553d22e in ?? ()
No symbol table info available.
#44 0x00007ffe54cdf7e8 in ?? ()
No symbol table info available.
#45 0x00007fd769ce3fa0 in ?? () from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#46 0x0000000000000004 in ?? ()
No symbol table info available.
#47 0x00007ffe54ce105e in ?? ()
No symbol table info available.
#48 0x0000000000000000 in ?? ()
No symbol table info available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506543</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-15 04:16:47 -0800</bug_when>
    <thetext>I can&apos;t reproduce this, but it seems that m_draggingSelectionData is nullptr in fillDragData(). That can happen when startDrag cancels a previous dnd operation, because the new m_draggingSelectionData is set before the current dnd operation si cancelled, which sets it to nullptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506544</commentid>
    <comment_count>2</comment_count>
      <attachid>362110</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-15 04:19:01 -0800</bug_when>
    <thetext>Created attachment 362110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506577</commentid>
    <comment_count>3</comment_count>
      <attachid>362110</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-15 08:23:02 -0800</bug_when>
    <thetext>Comment on attachment 362110
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=362110&amp;action=review

&gt; Source/WebKit/ChangeLog:9
&gt; +        I can&apos;t reproduce this, but it seems that m_draggingSelectionData is nullptr in fillDragData(). That can happen
&gt; +        when startDrag cancels a previous DND operation, because the new m_draggingSelectionData is set before the

Ughhh.

We have another bug here -- somewhere -- that&apos;s probably fixed by this. It&apos;s a frequent UI process crasher, and has been for years. I was always stumped because I didn&apos;t realize it was legal for GTK to call startDrag twice in a row like this. Reminds me to finish work on the similar load events problem we have right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507210</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-18 01:12:55 -0800</bug_when>
    <thetext>Committed r241659: &lt;https://trac.webkit.org/changeset/241659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507480</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-18 15:15:43 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; We have another bug here -- somewhere -- that&apos;s probably fixed by this. It&apos;s
&gt; a frequent UI process crasher, and has been for years. I was always stumped
&gt; because I didn&apos;t realize it was legal for GTK to call startDrag twice in a
&gt; row like this.

Just stumbled onto it: https://bugs.webkit.org/show_bug.cgi?id=168516#c7. Not clear to me if you solved it here or not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362110</attachid>
            <date>2019-02-15 04:19:01 -0800</date>
            <delta_ts>2019-02-15 08:23:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk-gtk-dnd-crash.diff</filename>
            <type>text/plain</type>
            <size>2808</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNTVkMzlmZDc3ZGUuLjZkMDU3Nzc4NmU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE5LTAyLTE1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGlsZSBmaWxsaW5nIHNlbGVjdGlvbiBkYXRh
IGR1cmluZyBkcmFnIGFuZCBkcm9wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTQ2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJIGNhbid0IHJlcHJvZHVjZSB0aGlzLCBidXQgaXQgc2VlbXMgdGhhdCBt
X2RyYWdnaW5nU2VsZWN0aW9uRGF0YSBpcyBudWxscHRyIGluIGZpbGxEcmFnRGF0YSgpLiBUaGF0
IGNhbiBoYXBwZW4KKyAgICAgICAgd2hlbiBzdGFydERyYWcgY2FuY2VscyBhIHByZXZpb3VzIERO
RCBvcGVyYXRpb24sIGJlY2F1c2UgdGhlIG5ldyBtX2RyYWdnaW5nU2VsZWN0aW9uRGF0YSBpcyBz
ZXQgYmVmb3JlIHRoZQorICAgICAgICBjdXJyZW50IERORCBvcGVyYXRpb24gaXMgY2FuY2VsbGVk
LCB3aGljaCBzZXRzIGl0IHRvIG51bGxwdHIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0Ry
YWdBbmREcm9wSGFuZGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYWdBbmREcm9wSGFuZGxl
cjo6c3RhcnREcmFnKTogRmluaXNoIHRoZSBwcmV2aW91cyBvcGVyYXRpb24gYmVmb3JlIHNldHRp
bmcgbV9kcmFnZ2luZ1NlbGVjdGlvbkRhdGEuCisKIDIwMTktMDItMTQgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0
ZSBPcHRpb25zR1RLLmNtYWtlIGFuZCBORVdTIGZvciAyLjIzLjkwIHJlbGVhc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9EcmFnQW5kRHJvcEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL0RyYWdBbmREcm9wSGFuZGxlci5jcHAKaW5kZXgg
NzVhMWJiNmZiMjkuLmMyOWMzZmE3MmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9ndGsvRHJhZ0FuZERyb3BIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9ndGsvRHJhZ0FuZERyb3BIYW5kbGVyLmNwcApAQCAtMTA3LDYgKzEwNywxNCBAQCBzdGF0
aWMgaW5saW5lIERyYWdPcGVyYXRpb24gZ2RrRHJhZ0FjdGlvblRvRHJhZ09wZXJhdGlvbihHZGtE
cmFnQWN0aW9uIGdka0FjdGlvbgogdm9pZCBEcmFnQW5kRHJvcEhhbmRsZXI6OnN0YXJ0RHJhZyhS
ZWY8U2VsZWN0aW9uRGF0YT4mJiBzZWxlY3Rpb24sIERyYWdPcGVyYXRpb24gZHJhZ09wZXJhdGlv
biwgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBkcmFnSW1hZ2UpCiB7CiAjaWYgR1RLX0NIRUNL
X1ZFUlNJT04oMywgMTYsIDApCisgICAgLy8gV2ViQ29yZTo6RXZlbnRIYW5kbGVyIGRvZXMgbm90
IHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBEbkQgb3BlcmF0aW9uIGF0IHRoZSBzYW1lIHRpbWUgZm9y
CisgICAgLy8gYSBnaXZlbiBwYWdlLCBzbyB3ZSBzaG91bGQgY2FuY2VsIGFueSBwcmV2aW91cyBv
cGVyYXRpb24gd2hvc2UgY29udGV4dCB3ZSBtaWdodCBoYXZlCisgICAgLy8gc3RvcmVkLCBzaG91
bGQgd2UgcmVjZWl2ZSBhIG5ldyBzdGFydERyYWcgZXZlbnQgYmVmb3JlIGZpbmlzaGluZyBhIHBy
ZXZpb3VzIERuRCBvcGVyYXRpb24uCisgICAgaWYgKG1fZHJhZ0NvbnRleHQpIHsKKyAgICAgICAg
Z3RrX2RyYWdfY2FuY2VsKG1fZHJhZ0NvbnRleHQuZ2V0KCkpOworICAgICAgICBtX2RyYWdDb250
ZXh0ID0gbnVsbHB0cjsKKyAgICB9CisKICAgICBtX2RyYWdnaW5nU2VsZWN0aW9uRGF0YSA9IFdU
Rk1vdmUoc2VsZWN0aW9uKTsKICAgICBHUmVmUHRyPEd0a1RhcmdldExpc3Q+IHRhcmdldExpc3Qg
PSBQYXN0ZWJvYXJkSGVscGVyOjpzaW5nbGV0b24oKS50YXJnZXRMaXN0Rm9yU2VsZWN0aW9uRGF0
YSgqbV9kcmFnZ2luZ1NlbGVjdGlvbkRhdGEpOwogI2Vsc2UKQEAgLTExOSwxMSArMTI3LDYgQEAg
dm9pZCBEcmFnQW5kRHJvcEhhbmRsZXI6OnN0YXJ0RHJhZyhSZWY8U2VsZWN0aW9uRGF0YT4mJiBz
ZWxlY3Rpb24sIERyYWdPcGVyYXRpb24KICAgICAgICAgR0RLX0JVVFRPTl9QUklNQVJZLCBjdXJy
ZW50RXZlbnQuZ2V0KCkpOwogCiAjaWYgR1RLX0NIRUNLX1ZFUlNJT04oMywgMTYsIDApCi0gICAg
Ly8gV2ViQ29yZTo6RXZlbnRIYW5kbGVyIGRvZXMgbm90IHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBE
bkQgb3BlcmF0aW9uIGF0IHRoZSBzYW1lIHRpbWUgZm9yCi0gICAgLy8gYSBnaXZlbiBwYWdlLCBz
byB3ZSBzaG91bGQgY2FuY2VsIGFueSBwcmV2aW91cyBvcGVyYXRpb24gd2hvc2UgY29udGV4dCB3
ZSBtaWdodCBoYXZlCi0gICAgLy8gc3RvcmVkLCBzaG91bGQgd2UgcmVjZWl2ZSBhIG5ldyBzdGFy
dERyYWcgZXZlbnQgYmVmb3JlIGZpbmlzaGluZyBhIHByZXZpb3VzIERuRCBvcGVyYXRpb24uCi0g
ICAgaWYgKG1fZHJhZ0NvbnRleHQpCi0gICAgICAgIGd0a19kcmFnX2NhbmNlbChtX2RyYWdDb250
ZXh0LmdldCgpKTsKICAgICBtX2RyYWdDb250ZXh0ID0gY29udGV4dDsKICNlbHNlCiAgICAgLy8g
V2UgZG9uJ3QgaGF2ZSBndGtfZHJhZ19jYW5jZWwoKSBpbiBHVEsrIDwgMy4xNiwgc28gd2UgdXNl
IHRoZSBvbGQgY29kZS4K
</data>
<flag name="review"
          id="378749"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>