Many crashes inside wl_proxy_marshal()
Epiphany Tech Preview is crashing quite regularly inside wl_proxy_marshal
when it's called from GTK+ with NULL proxy=0x0
.
Problem is: for some reason, GTK+ debuginfo is missing from org.gnome.Sdk.Debug, or very low-quality. The only useful functions I see are gdk_window_end_draw_frame()
and gtk_main_do_event()
. It's quite weird that I see those and nothing else. So that makes it impossible to provide a quality backtrace. For some reason, debuginfo for other libraries seems fine. I reported https://github.com/flatpak/flatpak/issues/2044 for this a few weeks ago.
CC @carlosg since it's a Wayland backend issue and CC @alexl for the flatpak debug problem.
Core was generated by `epiphany'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 wl_proxy_marshal (proxy=0x0, opcode=1) at src/wayland-client.c:779
779 va_start(ap, opcode);
[Current thread is 1 (Thread 0x7f9f41486a40 (LWP 2))]
(gdb) bt full
#0 wl_proxy_marshal (proxy=0x0, opcode=1) at src/wayland-client.c:779
args = {{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}, {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}, {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}, {i = 129138832, u = 129138832, f = 129138832,
s = 0x55a007b28090 "\200\373\323\006\240U", o = 0x55a007b28090,
n = 129138832, a = 0x55a007b28090, h = 129138832}, {
i = -1685301712, u = 2609665584, f = -1685301712,
s = 0x7ffe9b8c5630 "", o = 0x7ffe9b8c5630, n = 2609665584,
a = 0x7ffe9b8c5630, h = -1685301712}, {i = 129138944,
u = 129138944, f = 129138944,
s = 0x55a007b28100 "\300\240\325\006\240U", o = 0x55a007b28100,
n = 129138944, a = 0x55a007b28100, h = 129138944}, {
i = -1685301744, u = 2609665552, f = -1685301744,
s = 0x7ffe9b8c5610 "", o = 0x7ffe9b8c5610, n = 2609665552,
a = 0x7ffe9b8c5610, h = -1685301744}, {i = 0, u = 0, f = 0,
s = 0x0, o = 0x0, n = 0, a = 0x0, h = 0}, {i = 186112, u = 186112,
f = 186112,
s = 0x1000002d700 <error: Cannot access memory at address 0x1000002d700>, o = 0x1000002d700, n = 186112, a = 0x1000002d700, h = 186112}, {i = 0,
u = 0, f = 0, s = 0x0, o = 0x0, n = 0, a = 0x0, h = 0}, {
i = 137741664, u = 137741664, f = 137741664,
s = 0x55a00835c560 ",", o = 0x55a00835c560, n = 137741664,
a = 0x55a00835c560, h = 137741664}, {i = 32, u = 32, f = 32,
s = 0x20 <error: Cannot access memory at address 0x20>, o = 0x20,
n = 32, a = 0x20, h = 32}, {i = 1229003269, u = 1229003269,
f = 1229003269,
s = 0x7f9f49411a05 <_int_realloc+485> "H\203\304\020L\211\360[]A\\A]A^\303\017\037", o = 0x7f9f49411a05 <_int_realloc+485>, n = 1229003269,
a = 0x7f9f49411a05 <_int_realloc+485>, h = 1229003269}, {i = 32,
u = 32, f = 32,
s = 0x20 <error: Cannot access memory at address 0x20>, o = 0x20,
n = 32, a = 0x20, h = 32}, {i = 64, u = 64, f = 64,
s = 0x40 <error: Cannot access memory at address 0x40>, o = 0x40,
n = 64, a = 0x40, h = 64}, {i = 133946144, u = 133946144,
f = 133946144, s = 0x55a007fbdb20 "\344\336\036I\237\177",
o = 0x55a007fbdb20, n = 133946144, a = 0x55a007fbdb20,
h = 133946144}, {i = 48, u = 48, f = 48,
s = 0x30 <error: Cannot access memory at address 0x30>, o = 0x30,
n = 48, a = 0x30, h = 48}}
ap = {{gp_offset = 2, fp_offset = 0,
overflow_arg_area = 0x55a0089f93c0, reg_save_area = 0x0}}
#1 0x00007f9f491e67b3 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#2 0x00007f9f491e6a22 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#3 0x00007f9f491a372b in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#4 0x00007f9f491a3a68 in gdk_window_end_draw_frame ()
from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#5 0x00007f9f49d83773 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#6 0x00007f9f49c32fe9 in gtk_main_do_event ()
from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#7 0x00007f9f4918a1e5 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#8 0x00007f9f4919a716 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#9 0x00007f9f4919b886 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#10 0x00007f9f4919ba44 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#11 0x00007f9f497efd4d in g_closure_invoke (closure=0x55a006f973b0,
return_value=0x0, n_param_values=1, param_values=0x7ffe9b8c5ce0,
invocation_hint=0x7ffe9b8c5c60) at gclosure.c:810
marshal = 0x7f9f497f1ce0 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55a006f97390
__func__ = "g_closure_invoke"
#12 0x00007f9f498035b3 in signal_emit_unlocked_R (
node=node@entry=0x55a006dacbd0, detail=detail@entry=0,
instance=instance@entry=0x55a006d9c810,
emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0x7ffe9b8c5ce0)
at gsignal.c:3635
tmp = <optimized out>
handler = 0x55a006f93640
accumulator = 0x0
emission = {next = 0x0, instance = 0x55a006d9c810, ihint = {
signal_id = 48, detail = 0, run_type = G_SIGNAL_RUN_FIRST},
state = EMISSION_RUN, chain_type = 4}
class_closure = 0x0
hlist = <optimized out>
handler_list = 0x55a006f93640
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 = 48
max_sequential_handler_number = 95080
return_value_altered = 0
#13 0x00007f9f4980c832 in g_signal_emit_valist (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>,
var_args=var_args@entry=0x7ffe9b8c5e90) at gsignal.c:3391
instance_and_params = 0x7ffe9b8c5ce0
signal_return_type = <optimized out>
param_values = 0x7ffe9b8c5cf8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#14 0x00007f9f4980ce7f in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3447
var_args = {{gp_offset = 24, fp_offset = 48,
overflow_arg_area = 0x7ffe9b8c5f70,
reg_save_area = 0x7ffe9b8c5eb0}}
#15 0x00007f9f4919380d in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#16 0x00007f9f4917ea18 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#17 0x00007f9f4970f3d3 in g_timeout_dispatch (source=0x55a0085036a0,
callback=<optimized out>, user_data=<optimized out>) at gmain.c:4667
timeout_source = 0x55a0085036a0
again = <optimized out>
#18 0x00007f9f4970e948 in g_main_dispatch (context=0x55a006d5d020)
at gmain.c:3182
dispatch = 0x7f9f4970f3c0 <g_timeout_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x55a006f0c0a0
callback = 0x7f9f4917e9f0
cb_funcs = <optimized out>
cb_data = 0x55a00851a180
need_destroy = <optimized out>
source = 0x55a0085036a0
current = 0x55a006cf8930
i = 1
current = <optimized out>
i = <optimized out>
__func__ = "g_main_dispatch"
source = <optimized out>
_g_boolean_var_ = <optimized out>
was_in_call = <optimized out>
user_data = <optimized out>
callback = <optimized out>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
dispatch = <optimized out>
prev_source = <optimized out>
_g_boolean_var_ = <optimized out>
#19 g_main_context_dispatch (context=context@entry=0x55a006d5d020)
at gmain.c:3847
No locals.
#20 0x00007f9f4970ed38 in g_main_context_iterate (
context=context@entry=0x55a006d5d020, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920
max_priority = 120
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 5
fds = 0x55a006eacbe0
#21 0x00007f9f4970edcc in g_main_context_iteration (
context=context@entry=0x55a006d5d020, may_block=may_block@entry=1)
at gmain.c:3981
retval = <optimized out>
#22 0x00007f9f498e1dbd in g_application_run (application=0x55a0070261b0,
argc=<optimized out>, argv=0x7ffe9b8c62a8) at gapplication.c:2470
arguments = 0x55a006ebc6e0
status = 0
context = 0x55a006d5d020
acquired_context = <optimized out>
__func__ = "g_application_run"
#23 0x000055a005232aba in ?? ()
No symbol table info available.
#24 0x00007f9f493b400b in __libc_start_main (main=0x55a005232510, argc=1,
argv=0x7ffe9b8c62a8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffe9b8c6298)
at ../csu/libc-start.c:308
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 4065597311608762550,
94145769319760, 140731508089504, 0, 0, 7842695942791311542,
7788270798302556342}, mask_was_saved = 0}}, priv = {pad = {
0x0, 0x0, 0x7ffe9b8c62b8, 0x7f9f4a25c170}, data = {prev = 0x0,
cleanup = 0x0, canceltype = -1685298504}}}
not_first_call = <optimized out>
#25 0x000055a005232d7a in ?? ()
No symbol table info available.