Crash in meta_selection_source_wayland_deactivated
I hit this random full-desktop crash with mutter-3.34.0-5.fc31:
(gdb) bt full
#0 0x00007fdabd6743e8 in wl_resource_post_event (resource=0x564522a0a500, opcode=2) at src/wayland-server.c:245
args =
{{i = 1985309072, u = 1985309072, f = 1985309072, s = 0x7fff76556990 "", o = 0x7fff76556990, n = 1985309072, a = 0x7fff76556990, h = 1985309072}, {i = 1985308976, u = 1985308976, f = 1985308976, s = 0x7fff76556930 "", o = 0x7fff76556930, n = 1985308976, a = 0x7fff76556930, h = 1985308976}, {i = 1985309248, u = 1985309248, f = 1985309248, s = 0x7fff76556a40 "", o = 0x7fff76556a40, n = 1985309248, a = 0x7fff76556a40, h = 1985309248}, {i = 0, u = 0, f = 0, s = 0x0, o = 0x0, n = 0, a = 0x0, h = 0}, {i = 1985308944, u = 1985308944, f = 1985308944, s = 0x7fff76556910 "", o = 0x7fff76556910, n = 1985308944, a = 0x7fff76556910, h = 1985308944}, {i = -1097255162, u = 3197712134, f = -1097255162, s = 0x7fdabe993706 <g_object_new_internal+1542> "\351\025\375\377\377\017\037D", o = 0x7fdabe993706 <g_object_new_internal+1542>, n = 3197712134, a = 0x7fdabe993706 <g_object_new_internal+1542>, h = -1097255162}, {i = 565116624, u = 565116624, f = 565116624, s = 0x564521aefed0 "", o = 0x564521aefed0, n = 565116624, a = 0x564521aefed0, h = 565116624}, {i = 1, u = 1, f = 1, s = 0x1 <error: Cannot access memory at address 0x1>, o = 0x1, n = 1, a = 0x1, h = 1}, {i = 1985309232, u = 1985309232, f = 1985309232, s = 0x7fff76556a30 "p\213:%EV", o = 0x7fff76556a30, n = 1985309232, a = 0x7fff76556a30, h = 1985309232}, {i = 645048736, u = 645048736, f = 645048736, s = 0x56452672a9a0 "\220y>#EV", o = 0x56452672a9a0, n = 645048736, a = 0x56452672a9a0, h = 645048736}, {i = 591296912, u = 591296912, f = 591296912, s = 0x5645233e7990 "@\314_#EV", o = 0x5645233e7990, n = 591296912, a = 0x5645233e7990, h = 591296912}, {i = 586410064, u = 586410064, f = 586410064, s = 0x564522f3e850 "p!\233$EV", o = 0x564522f3e850, n = 586410064, a = 0x564522f3e850, h = 586410064}, {i = 40, u = 40, f = 40, s = 0x100000028 <error: Cannot access memory at address 0x100000028>, o = 0x100000028, n = 40, a = 0x100000028, h = 40}, {i = -1677569936, u = 2617397360, f = -1677569936, s = 0x7fda9c025070 "@sz%EV", o = 0x7fda9c025070, n = 2617397360, a = 0x7fda9c025070, h = -1677569936}, {i = 648985888, u = 648985888, f = 648985888, s = 0x564526aebd20 "\001", o = 0x564526aebd20, n = 648985888, a = 0x564526aebd20, h = 648985888}, {i = -1110339334, u = 3184627962, f = -1110339334, s = 0x7fdabdd190fa "surface", o = 0x7fdabdd190fa, n = 3184627962, a = 0x7fdabdd190fa, h = -1110339334}, {i = 565180608, u = 565180608, f = 565180608, s = 0x564521aff8c0 "", o = 0x564521aff8c0, n = 565180608, a = 0x564521aff8c0, h = 565180608}, {i = 12457, u = 12457, f = 12457, s = 0x30a9 <error: Cannot access memory at address 0x30a9>, o = 0x30a9, n = 12457, a = 0x30a9, h = 12457}, {i = 0, u = 0, f = 0, s = 0x0, o = 0x0, n = 0, a = 0x0, h = 0}, {i = 0, u = 0, f = 0, s = 0x0, o = 0x0, n = 0, a = 0x0, h = 0}}
object = 0x564522a0a500
ap =
{{gp_offset = 16, fp_offset = 319529112, overflow_arg_area = 0x7fff76556a00, reg_save_area = 0x130ba0984b8acc00}}
#1 0x00007fdabdcae965 in meta_selection_source_wayland_deactivated
(source=0x564523ba5ee0 [MetaSelectionSourceWayland]) at ../src/wayland/meta-selection-source-wayland.c:122
source_wayland = <optimized out>
#2 0x00007fdabe98d996 in _g_closure_invoke_va
(closure=0x5645251cab00, return_value=0x0, instance=0x564523ba5ee0, args=0x7fff76556c88, n_params=0, param_types=0x0) at ../gobject/gclosure.c:873
marshal = 0x7fdabe98bba0 <g_type_class_meta_marshalv>
marshal_data = 0x90
in_marshal = 0
real_closure = 0x5645251caae0
__FUNCTION__ = "_g_closure_invoke_va"
#3 0x00007fdabe9aa228 in g_signal_emit_valist
(instance=instance@entry=0x564523ba5ee0, signal_id=signal_id@entry=906, detail=detail@entry=0, var_args=var_args@entry=0x7fff76556c88) at ../gobject/gsignal.c:3306
return_accu = 0x0
accu =
{g_type = 0x0, 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}}}
accumulator = 0x0
emission =
{next = 0x0, instance = 0x564523ba5ee0, ihint = {signal_id = 906, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 0x564524d92d80 [MetaSelectionSourceWayland/MetaSelectionSource]}
signal_id = 906
--Type <RET> for more, q to quit, c to continue without paging--c
instance_type = 0x564524d92d80 [MetaSelectionSourceWayland/MetaSelectionSource]
emission_return = {g_type = 0x0, 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}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#4 0x00007fdabe9aafc9 in g_signal_emit_by_name (instance=instance@entry=0x564523ba5ee0, detailed_signal=detailed_signal@entry=0x7fdabdd0483b "deactivated") at ../gobject/gsignal.c:3493
var_args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff76556dc0, reg_save_area = 0x7fff76556cd0}}
detail = 0
signal_id = 906
itype = <optimized out>
__FUNCTION__ = "g_signal_emit_by_name"
#5 0x00007fdabdc68969 in meta_selection_set_owner (selection=0x564522a9eac0 [MetaSelection], selection_type=selection_type@entry=META_SELECTION_DND, owner=owner@entry=0x7fda98420240 [MetaSelectionSourceWayland]) at ../src/core/meta-selection.c:100
__func__ = "meta_selection_set_owner"
#6 0x00007fdabdcb202a in set_selection_source (data_device=<optimized out>, selection_type=META_SELECTION_DND, selection_source=0x7fda98420240 [MetaSelectionSourceWayland]) at ../src/wayland/meta-wayland-data-device.c:755
display = <optimized out>
#7 0x00007fdabdcb3562 in data_device_start_drag (client=0x5645255c5570, resource=<optimized out>, source_resource=<optimized out>, origin_resource=<optimized out>, icon_resource=0x564526e936c0, serial=<optimized out>) at ../src/wayland/meta-wayland-data-device.c:1310
data_device = 0x564522800980
seat = 0x564522800950
surface = 0x564522f5ebd0 [MetaWaylandSurface]
icon_surface = <optimized out>
drag_source = <optimized out>
selection_source = 0x7fda98420240 [MetaSelectionSourceWayland]
mimetypes = 0x564526e5d8c0 = {0x0}
#8 0x00007fdabcfc0aa8 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#9 0x00007fdabcfc02a4 in ffi_call (cif=cif@entry=0x7fff76556f90, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7fff76557060) at ../src/x86/ffi64.c:525
classes = {X86_64_INTEGERSI_CLASS, 22085, 3170635872, 32730}
stack = <optimized out>
argp = 0x7fff76556e60 ""
arg_types = <optimized out>
gprcount = 6
ssecount = <optimized out>
ngpr = 1
nsse = 0
i = <optimized out>
avn = <optimized out>
ret_in_memory = <optimized out>
reg_args = <optimized out>
#10 0x00007fdabd6791a8 in wl_closure_invoke (closure=0x564526b7c460, flags=2, target=<optimized out>, opcode=0, data=<optimized out>) at src/connection.c:1014
count = 4
cif = {abi = FFI_UNIX64, nargs = 6, arg_types = 0x7fff76556fb0, rtype = 0x7fdabcfc1180 <ffi_type_void>, bytes = 0, flags = 0}
ffi_types = {0x7fdabcfc1060 <ffi_type_pointer>, 0x7fdabcfc1060 <ffi_type_pointer>, 0x7fdabcfc1060 <ffi_type_pointer>, 0x7fdabcfc1060 <ffi_type_pointer>, 0x7fdabcfc1060 <ffi_type_pointer>, 0x7fdabcfc10e0 <ffi_type_uint32>, 0x0, 0x7fff76557030, 0x56452492e750, 0x0, 0x0, 0x564521b243b0, 0x0, 0x7fdabd677c51 <wl_connection_read+241>, 0x0, 0x564524930760, 0x0, 0x7fda00000000, 0x7fff76557070, 0x2, 0x7fff76557090, 0x0}
ffi_args = {0x7fff76556f80, 0x7fff76556f88, 0x564526b7c478, 0x564526b7c480, 0x564526b7c488, 0x564526b7c490, 0x56452284ca70, 0x5645255c55a0, 0x5645255c5570, 0x564524ed9f00, 0x56452492e750, 0x7fdabd678afb <wl_connection_demarshal+235>, 0x564526b7c548, 0x56452492e750, 0x564526b7c530, 0x564526b7c460, 0x1800000000, 0x7fdabd678eff <wl_closure_lookup_objects+111>, 0x7fdabd6813a0 <wl_data_device_requests>, 0x7fdabd673d46 <log_closure+70>, 0x7fdabd6813a0 <wl_data_device_requests>, 0x564526e936c0}
implementation = <optimized out>
#11 0x00007fdabd675d42 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x5645255c5570) at src/wayland-server.c:429
client = 0x5645255c5570
connection = 0x56452492e750
resource = 0x564524ed9f00
object = 0x564524ed9f00
closure = 0x564526b7c460
message = 0x7fdabd6813a0 <wl_data_device_requests>
p = {21, 1572864}
resource_flags = <optimized out>
opcode = 0
size = <optimized out>
since = <optimized out>
len = <optimized out>
#12 0x00007fdabd67737a in wl_event_loop_dispatch (loop=0x564521b243b0, timeout=timeout@entry=0) at src/event-loop.c:641
ep = {{events = 1, data = {ptr = 0x564522f61450, fd = 586552400, u32 = 586552400, u64 = 94854939284560}}, {events = 0, data = {ptr = 0x7fff765571e0, fd = 1985311200, u32 = 1985311200, u64 = 140735178699232}}, {events = 1, data = {ptr = 0x7655723000000000, fd = 0, u32 = 0, u64 = 8526847019979898880}}, {events = 32767, data = {ptr = 0x50, fd = 80, u32 = 80, u64 = 80}}, {events = 0, data = {ptr = 0xbd67797f00000000, fd = 0, u32 = 0, u64 = 13648010782137384960}}, {events = 32730, data = {ptr = 0x5645245a2d40, fd = 609889600, u32 = 609889600, u64 = 94854962621760}}, {events = 32, data = {ptr = 0x765572b000000000, fd = 0, u32 = 0, u64 = 8526847569735712768}}, {events = 32767, data = {ptr = 0x172bd8be8913d3, fd = -1098312749, u32 = 3196654547, u64 = 6522134373929939}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x7fff76557290, fd = 1985311376, u32 = 1985311376, u64 = 140735178699408}}, {events = 1, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x130ba0984b8acc00, fd = 1267387392, u32 = 1267387392, u64 = 1372367087427308544}}, {events = 0, data = {ptr = 0x2488f82000000000, fd = 0, u32 = 0, u64 = 2632626798520696832}}, {events = 22085, data = {ptr = 0x56452488f820, fd = 612956192, u32 = 612956192, u64 = 94854965688352}}, {events = 1267387392, data = {ptr = 0x7fffffff130ba098, fd = 319529112, u32 = 319529112, u64 = 9223372032879337624}}, {events = 0, data = {ptr = 0x56452488f820, fd = 612956192, u32 = 612956192, u64 = 94854965688352}}, {events = 612954272, data = {ptr = 0x200005645, fd = 22085, u32 = 22085, u64 = 8589956677}}, {events = 0, data = {ptr = 0x7fffffff, fd = 2147483647, u32 = 2147483647, u64 = 2147483647}}, {events = 565340608, data = {ptr = 0xf926cb9000005645, fd = 22085, u32 = 22085, u64 = 17953260783894812229}}, {events = 32729, data = {ptr = 0x7fdabc9c2c51 <_dbus_transport_get_dispatch_status+385>, fd = -1130615727, u32 = 3164351569, u64 = 140577443949649}}, {events = 581609296, data = {ptr = 0x4b8acc0000005645, fd = 22085, u32 = 22085, u64 = 5443387400002754117}}, {events = 319529112, data = {ptr = 0x7fffffff, fd = 2147483647, u32 = 2147483647, u64 = 2147483647}}, {events = 1985311704, data = {ptr = 0x100007fff, fd = 32767, u32 = 32767, u64 = 4295000063}}, {events = 0, data = {ptr = 0x7fff76557360, fd = 1985311584, u32 = 1985311584, u64 = 140735178699616}}, {events = 1985311536, data = {ptr = 0x7659991800007fff, fd = 32767, u32 = 32767, u64 = 8528015697761042431}}, {events = 32767, data = {ptr = 0x7fff76557360, fd = 1985311584, u32 = 1985311584, u64 = 140735178699616}}, {events = 2147483647, data = {ptr = 0x100000000, fd = 0, u32 = 0, u64 = 4294967296}}, {events = 0, data = {ptr = 0x7fdabdaa065b <__GI___clock_gettime+43>, fd = -1112930725, u32 = 3182036571, u64 = 140577461634651}}, {events = 2617277888, data = {ptr = 0xbdaca4b400007fda, fd = 32730, u32 = 32730, u64 = 13667480062163714010}}, {events = 32730, data = {ptr = 0x564523553120, fd = 592785696, u32 = 592785696, u64 = 94854945517856}}, {events = 8, data = {ptr = 0x7655738000000000, fd = 0, u32 = 0, u64 = 8526848463088910336}}, {events = 32767, data = {ptr = 0x8, fd = 8, u32 = 8, u64 = 8}}}
source = <optimized out>
i = <optimized out>
count = <optimized out>
#13 0x00007fdabdcb011b in wayland_event_source_dispatch (base=base@entry=0x5645227bdc70, callback=<optimized out>, data=<optimized out>) at ../src/wayland/meta-wayland.c:90
source = 0x5645227bdc70
loop = <optimized out>
#14 0x00007fdabe8a34a0 in g_main_dispatch (context=0x564521b269c0) at ../glib/gmain.c:3179
dispatch = <optimized out>
prev_source = 0x0
was_in_call = <optimized out>
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
cb_data = 0x0
need_destroy = <optimized out>
source = 0x5645227bdc70
current = 0x564521af7090
i = 0
__FUNCTION__ = "g_main_dispatch"
#15 g_main_context_dispatch (context=context@entry=0x564521b269c0) at ../glib/gmain.c:3844
#16 0x00007fdabe8a3830 in g_main_context_iterate (context=0x564521b269c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
max_priority = 2147483647
timeout = 9
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x56452531b150
#17 0x00007fdabe8a3b23 in g_main_loop_run (loop=0x5645227d0600) at ../glib/gmain.c:4111
__FUNCTION__ = "g_main_loop_run"
#18 0x00007fdabdc64e60 in meta_run () at ../src/core/main.c:676
#19 0x0000564520ddbcdd in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:563
ctx = <optimized out>
error = 0x0
ecode = <optimized out>