Epiphany Technology Preview crashes in Wayland input module when closing preferences dialog
Steps to reproduce
flatpak run org.gnome.Epiphany
- Open the preferences dialog
- Close the preferences dialog
Epiphany will immediately crash when closing the preferences dialog.
Version information
GNOME master flatpak runtime
Backtrace
#0 0x0000003153a7b3e4 in __GI___libc_free (mem=0xaaaaaaaaaaaaaaaa)
at /usr/src/debug/glibc/2.24-r0/git/malloc/malloc.c:2963
ar_ptr = <optimized out>
p = <optimized out>
hook = 0x0
#1 0x00007f7e843fe72a in g_free (mem=<optimized out>) at gmem.c:194
#2 0x00007f7e16bfceba in reset_preedit (context=0x283d030) at imwayland.c:107
_pp = {in = 0x283d088 "", out = 0x283d088}
_p = <optimized out>
#3 0x00007f7e7a1e5ed8 in ffi_call_unix64 ()
at ../libffi-3.2.1/src/x86/unix64.S:76
#4 0x00007f7e7a1e593a in ffi_call (cif=cif@entry=0x7ffed5d47270, fn=<optimized out>, rvalue=<optimized out>,
rvalue@entry=0x0, avalue=avalue@entry=0x7ffed5d47340)
at /usr/src/debug/libffi/3.2.1-r0/libffi-3.2.1/src/x86/ffi64.c:525
classes =
{X86_64_INTEGER_CLASS, X86_64_NO_CLASS, X86_64_INTEGERSI_CLASS, X86_64_NO_CLASS}
stack = <optimized out>
argp = 0x7ffed5d47140 ""
arg_types = <optimized out>
gprcount = 4
ssecount = <optimized out>
ngpr = 1
nsse = 0
i = <optimized out>
avn = <optimized out>
ret_in_memory = <optimized out>
reg_args = <optimized out>
#5 0x00007f7e7b455b4e in wl_closure_invoke (closure=<optimized out>, flags=<optimized out>, target=<optimized out>, opcode=1, data=<optimized out>)
at src/connection.c:935
cif =
{abi = FFI_UNIX64, nargs = 4, arg_types = 0x7ffed5d47290, rtype = 0x7f7e7a1e62c0 <ffi_type_void>, bytes = 0, flags = 0}
ffi_types =
{0x7f7e7a1e61a0 <ffi_type_pointer>, 0x7f7e7a1e61a0 <ffi_type_pointer>, 0x7f7e7a1e6220 <ffi_type_uint32>, 0x7f7e7a1e61a0 <ffi_type_pointer>, 0x7f7e7a1e61a0 <ffi_type_pointer>, 0x7f7e7a1e6220 <ffi_type_uint32>, 0x7f7e7a1e6220 <ffi_type_uint32>, 0xbce240, 0x7ffed5d47510, 0x7ffe0000000f, 0xdc, 0x110, 0x3, 0x330000000f, 0x0, 0x0, 0x6e0000005b, 0x0, 0x0, 0x7c00000077, 0x7ffed5d47370, 0x3153d98b00 <main_arena>}
ffi_args =
{0x7ffed5d47260, 0x7ffed5d47268, 0x2775628, 0x2775630, 0x282d918, 0x26fa1a0, 0x26fa1a8, 0x1, 0x0, 0x7f7e7b455463 <wl_connection_demarshal+387>, 0x27f6edc, 0xbcfc00, 0x27f6e00, 0x27f6ed0, 0xbd12e4, 0xbce2b8, 0x7ffed5d473ec, 0x7f7e7---Type <return> to continue, or q <return> to quit---
b4558ac <wl_closure_lookup_objects+172>, 0x7f7e7b65ab18 <wl_display_events+24>, 0x10000000c, 0x1, 0x7f7e7b65ab18 <wl_display_events+24>}
implementation = <optimized out>
#6 0x00007f7e7b452790 in dispatch_event (display=display@entry=0xbce240, queue=<optimized out>) at src/wayland-client.c:1310
closure = 0x2775610
proxy = 0x1811c50
opcode = 1
proxy_destroyed = <optimized out>
#7 0x00007f7e7b4539f4 in wl_display_dispatch_queue_pending (queue=0xbce308, display=0xbce240) at src/wayland-client.c:1456
count = 16
#8 0x00007f7e7b4539f4 in wl_display_dispatch_queue_pending (display=0xbce240, queue=0xbce308) at src/wayland-client.c:1698
#9 0x00007f7e7b453a4c in wl_display_dispatch_pending (display=<optimized out>)
at src/wayland-client.c:1761
#10 0x00007f7e836b1ec4 in _gdk_wayland_display_queue_events (display=<optimized out>) at gdkeventsource.c:201
display_wayland = <optimized out>
source = 0xbe3f40
__func__ = "_gdk_wayland_display_queue_events"
#11 0x00007f7e8365a159 in gdk_display_get_event (display=display@entry=0xbd5010 [GdkWaylandDisplay]) at gdkdisplay.c:438
__func__ = "gdk_display_get_event"
#12 0x00007f7e836b1be2 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:120
source = <optimized out>
display = 0xbd5010 [GdkWaylandDisplay]
event = <optimized out>
#13 0x00007f7e843f8ff7 in g_main_context_dispatch (context=0xbcdad0)
at gmain.c:3177
dispatch = 0x7f7e836b1bd0 <gdk_event_source_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0xbe3f40
current = 0xbfe160
i = 0
#14 0x00007f7e843f8ff7 in g_main_context_dispatch (context=context@entry=0xbcdad0) at gmain.c:3830
#15 0x00007f7e843f9268 in g_main_context_iterate (context=context@entry=0xbcdad0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at gmain.c:3903
max_priority = 2147483647
timeout = 5
some_ready = 1
nfds = 5
allocated_nfds = 6
fds = <optimized out>
#16 0x00007f7e843f931c in g_main_context_iteration (context=context@entry=0xbcdad0, may_block=may_block@entry=1) at gmain.c:3964
retval = <optimized out>
#17 0x00007f7e849c12cd in g_application_run (application=0xc5c1b0 [EphyShell], argc=1, argv=0x7ffed5d47788) at gapplication.c:2470
arguments = 0xc5a590
status = 0
context = 0xbcdad0
acquired_context = <optimized out>
__func__ = "g_application_run"
#18 0x0000000000402709 in ()
#19 0x0000003153a20291 in __libc_start_main (main=
0x402230, argc=1, argv=0x7ffed5d47788, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffed5d47778)
at /usr/src/debug/glibc/2.24-r0/git/csu/libc-start.c:289
result = <optimized out>
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {0, 8858846728486077913, 4205120, 140732485891968, 0, 0, -8859327029621078567, 8832216298635740633}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffed5d47798, 0x3153824170}, data = {prev = 0x0, cleanup = 0x0, canceltype = -707496040}}}
not_first_call = <optimized out>
#20 0x0000000000402a6a in ()
CC @carlosg