mission control crash with handler disappearing
Submitted by Giovanni Campagna
Assigned to Telepathy bugs list
Description
mc crashed when a channel handler disappeared (sigkilled) while another client was ensuring that channel - ie, it crashed while replying "Handler no longer available" The reply was sent to the second client though.
#0 0x00007f089188d98d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1 0x00007f089188d824 in __sleep (seconds=0, seconds@entry=60) at ../sysdeps/unix/sysv/linux/sleep.c:137
ts = {tv_sec = 23, tv_nsec = 54226441}
set = {__val = {65536, 0 <repeats 15 times>}}
oset = {__val = {1024, 139674795783211, 4294967295, 139674786601367, 139674777417912, 139674794371512, 0, 140734318261424, 0, 139674786571699,
140734318261424, 139674786601367, 0, 108, 140734318261184, 139674786576459}}
result = <optimized out>
#2 0x00007f0892963aca in log_and_wait () at autoattach.c:67
buf = "[AUTOATTACH LOG] [CRASH] The program with pid 1584 crashed\n\000 crashed\n"
#3 on_signal (sig=<optimized out>) at autoattach.c:76
No locals.
#4 <signal handler called>
No locals.
#5 0x0000000000419ba7 in _mcd_channel_set_status (channel=0x1c7df40, status=MCD_CHANNEL_STATUS_ABORTED) at mcd-channel.c:715
__t = 29288864
__r = 29288864
__FUNCTION__ = "_mcd_channel_set_status"
#6 0x000000000041a269 in copy_status (source=0x1c91dc0, dest=0x1c7df40) at mcd-channel.c:1043
src_priv = 0x1c91d80
dst_priv = 0x7f08926809c4
#7 0x00007f089281afe8 in g_closure_invoke (closure=0x1c03d40, return_value=0x0, n_param_values=2, param_values=0x7fff430c3af0,
invocation_hint=0x7fff430c3a90) at gclosure.c:768
marshal = 0x7f089281d0d0 <g_cclosure_marshal_VOID__INT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x1c03d20
__FUNCTION__ = "g_closure_invoke"
#8 0x00007f089282cb2d in signal_emit_unlocked_R (node=node@entry=0x1bee860, detail=detail@entry=0, instance=instance@entry=0x1c91dc0,
emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff430c3af0) at gsignal.c:3551
tmp = <optimized out>
handler = 0x1ce3180
accumulator = 0x0
emission = {next = 0x7fff430c41d0, instance = 0x1c91dc0, ihint = {signal_id = 81, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN,
chain_type = 4}
handler_list = 0x1ce3180
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 = 81
max_sequential_handler_number = 2565
return_value_altered = 1
#9 0x00007f0892834af2 in g_signal_emit_valist (instance=instance@entry=0x1c91dc0, signal_id=signal_id@entry=81, detail=detail@entry=0,
var_args=var_args@entry=0x7fff430c3ce0) at gsignal.c:3307
instance_and_params = 0x7fff430c3af0
signal_return_type = <optimized out>
param_values = 0x7fff430c3b08
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#10 0x00007f089283523d in g_signal_emit_by_name (instance=0x1c91dc0, detailed_signal=0x439dcf "status-changed") at gsignal.c:3403
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff430c3df0, reg_save_area = 0x7fff430c3d00}}
detail = 0
signal_id = 81
itype = 29288864
__FUNCTION__ = "g_signal_emit_by_name"
#11 0x0000000000419c10 in _mcd_channel_set_status (channel=0x1c91dc0, status=MCD_CHANNEL_STATUS_ABORTED) at mcd-channel.c:723
__FUNCTION__ = "_mcd_channel_set_status"
#12 0x0000000000419f4b in mcd_channel_abort (mission=0x1c91dc0) at mcd-channel.c:415
channel = 0x1c91dc0
priv = 0x1c91d80
#13 0x00007f0890a2fd8c in ffi_call_unix64 () at ../src/x86/unix64.S:76
No locals.
#14 0x00007f0890a2f6bc in ffi_call (cif=cif@entry=0x7fff430c4050, fn=0x419240 <proxy_destroyed>, rvalue=0x7fff430c3fc0, avalue=avalue@entry=0x7fff430c3f40)
at ../src/x86/ffi64.c:522
classes = {X86_64_INTEGER_CLASS, X86_64_NO_CLASS, 1124876368, 32767}
stack = 0x7fff430c3d80 "\360\032\306\001"
argp = 0x7fff430c3e30 ""
arg_types = <optimized out>
gprcount = 5
ssecount = <optimized out>
ngpr = 1
nsse = 0
i = <optimized out>
avn = <optimized out>
ret_in_memory = <optimized out>
reg_args = 0x7fff430c3d80
#15 0x00007f089281b7fd in g_cclosure_marshal_generic (closure=0x1cbf770, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>,
invocation_hint=<optimized out>, marshal_data=0x0) at gclosure.c:1448
rtype = <optimized out>
rvalue = 0x7fff430c3fc0
n_args = 5
atypes = <optimized out>
i = <optimized out>
cif = {abi = FFI_UNIX64, nargs = 5, arg_types = 0x7fff430c3f80, rtype = 0x7f0890a30180 <ffi_type_void>, bytes = 0, flags = 0}
cc = <optimized out>
enum_tmpval = <optimized out>
tmpval_used = 0
#16 0x00007f089281afe8 in g_closure_invoke (closure=0x1cbf770, return_value=0x0, n_param_values=4, param_values=0x7fff430c4240,
invocation_hint=0x7fff430c41e0) at gclosure.c:768
marshal = 0x7f089281b630 <g_cclosure_marshal_generic>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x1cbf750
__FUNCTION__ = "g_closure_invoke"
#17 0x00007f089282cb2d in signal_emit_unlocked_R (node=node@entry=0x1b8aad0, detail=detail@entry=0, instance=instance@entry=0x1c61af0,
emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff430c4240) at gsignal.c:3551
tmp = <optimized out>
handler = 0x1ccc210
accumulator = 0x0
emission = {next = 0x0, instance = 0x1c61af0, ihint = {signal_id = 5, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN,
chain_type = 4}
handler_list = 0x1cd0150
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 = 5
max_sequential_handler_number = 2565
return_value_altered = 1
#18 0x00007f0892834af2 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
var_args=var_args@entry=0x7fff430c43f8) at gsignal.c:3307
instance_and_params = 0x7fff430c4240
signal_return_type = <optimized out>
param_values = 0x7fff430c4258
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#19 0x00007f0892834d32 in g_signal_emit (instance=instance@entry=0x1c61af0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3363
var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fff430c44d0, reg_save_area = 0x7fff430c4410}}
#20 0x00007f089264ce35 in tp_proxy_emit_invalidated (p=p@entry=0x1c61af0) at proxy.c:613
self = 0x1c61af0
__func__ = "tp_proxy_emit_invalidated"
#21 0x00007f089264d340 in tp_proxy_invalidate (self=self@entry=0x1c61af0, error=<optimized out>) at proxy.c:657
__func__ = "tp_proxy_invalidate"
#22 0x00007f08925a83cd in tp_channel_closed_cb (self=0x1c61af0, user_data=user_data@entry=0x0, weak_object=weak_object@entry=0x0) at channel.c:1282
No locals.
#23 0x00007f089259a49d in _tp_cli_channel_invoke_callback_for_closed (tpproxy=0x1c61af0, error=<optimized out>, args=0x0,
generic_callback=0x7f08925a83b0 <tp_channel_closed_cb>, user_data=0x0, weak_object=0x0) at _gen/tp-cli-channel-body.h:27
callback = 0x7f08925a83b0 <tp_channel_closed_cb>
#24 0x00007f089264f51c in tp_proxy_signal_invocation_run (p=0x1c1de60) at proxy-signals.c:269
invocation = 0x1c1de60
popped = <optimized out>
#25 0x00007f0891df51b5 in g_main_dispatch (context=0x1b8a070) at gmain.c:3064
dispatch = 0x7f0891df2090 <g_idle_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x1c1de60
callback = 0x7f089264f4c0 <tp_proxy_signal_invocation_run>
cb_funcs = 0x7f0891eddc60 <g_source_callback_funcs>
cb_data = 0x1c9b990
need_destroy = <optimized out>
source = 0x1bf3ca0
current = 0x1b7a690
i = 0
#26 g_main_context_dispatch (context=context@entry=0x1b8a070) at gmain.c:3663
No locals.
#27 0x00007f0891df5518 in g_main_context_iterate (context=0x1b8a070, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734
max_priority = -100
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 4
fds = 0x1bba080
#28 0x00007f0891df57da in g_main_loop_run (loop=0x1b8ab40) at gmain.c:3928
__FUNCTION__ = "g_main_loop_run"
#29 0x00000000004102d9 in mcd_service_run (self=<optimized out>) at mcd-service.c:190
No locals.
#30 0x000000000040e9e9 in main (argc=<optimized out>, argv=<optimized out>) at mc-server.c:194
act = {__sigaction_handler = {sa_handler = 0x40e780 <signal_handler>, sa_sigaction = 0x40e780 <signal_handler>}, sa_mask = {__val = {
0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x7fff430c4870}
empty_mask = {__val = {0 <repeats 16 times>}}
(disregard the first lines, it's the crash detection code)
mission control version: telepathy-mission-control-5.16.1-5-gc86536f3