gdm 41 segfaults in ensure_display_for_seat()
Ubuntu started receiving those error reports after updating to 41.rc https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1945061
#0 0x00005638df1e412a in ensure_display_for_seat (factory=factory@entry=0x5638e0106ab0, seat_id=0x5638e0148750 "seat0") at ../daemon/gdm-local-display-factory.c:681
ret = <optimized out>
seat_supports_graphics = 1
is_seat0 = 1
session_types = 0x0
legacy_session_types = {0x5638df202b2f "x11", 0x0}
store = <optimized out>
display = 0x0
login_session_id = 0x0
wayland_enabled = 0
xorg_enabled = 1
preferred_display_server = 0x5638e01345d0 "xorg"
falling_back = 1
#1 0x00005638df1e4d7d in on_display_status_changed (display=0x5638e00ff360, arg1=<optimized out>, factory=0x5638e0106ab0) at ../daemon/gdm-local-display-factory.c:557
status = <optimized out>
num = -1
seat_id = 0x5638e0148750 "seat0"
session_type = 0x0
session_class = 0x5638e0148710 "user"
is_initial = 0
is_local = 1
__func__ = "on_display_status_changed"
#2 0x00007f4e67917c0f in g_closure_invoke (closure=0x5638e014de30, return_value=0x0, n_param_values=2, param_values=0x7ffdc5ba3720, invocation_hint=0x7ffdc5ba36a0) at ../../../gobject/gclosure.c:810
marshal = 0x7f4e6791a380 <g_cclosure_marshal_VOID__PARAM>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5638e014de10
__func__ = "g_closure_invoke"
#3 0x00007f4e67933ea6 in signal_emit_unlocked_R (node=node@entry=0x5638e00e7a40, detail=detail@entry=239, instance=instance@entry=0x5638e00ff360, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffdc5ba3720) at ../../../gobject/gsignal.c:3741
tmp = <optimized out>
handler = 0x5638e014cc40
accumulator = 0x0
emission = {next = 0x7ffdc5ba3b50, instance = 0x5638e00ff360, ihint = {signal_id = 1, detail = 239, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x5638e00e79f0
hlist = <optimized out>
handler_list = 0x5638e014cc00
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 = 1
max_sequential_handler_number = 149
return_value_altered = 1
EMIT_RESTART = <optimized out>
#4 0x00007f4e67935884 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdc5ba38f0) at ../../../gobject/gsignal.c:3497
instance_and_params = 0x7ffdc5ba3720
signal_return_type = <optimized out>
param_values = 0x7ffdc5ba3738
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#5 0x00007f4e67935ad3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3553
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffdc5ba39d0, reg_save_area = 0x7ffdc5ba3910}}
#6 0x00007f4e6791f2f4 in g_object_dispatch_properties_changed (object=0x5638e00ff360, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../../../gobject/gobject.c:1206
i = <optimized out>
#7 0x00007f4e6792792a in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x5638e00ff360) at ../../../gobject/gobject.c:1299
nqueue = 0x0
notify_pspec = 0x5638e00fe5a0
notify_pspec = <optimized out>
nqueue = <optimized out>
#8 g_object_notify (object=0x5638e00ff360, property_name=<optimized out>) at ../../../gobject/gobject.c:1347
pspec = <optimized out>
__func__ = "g_object_notify"
#9 0x00005638df1e08b6 in remove_user_session (manager=0x5638e010f0e0, session=0x5638e0139000) at ../daemon/gdm-manager.c:1973
node = <optimized out>
display = 0x5638e00ff360
#10 0x00007f4e67917c0f in g_closure_invoke (closure=0x5638e013ecc0, return_value=0x0, n_param_values=2, param_values=0x7ffdc5ba3be0, invocation_hint=0x7ffdc5ba3b60) at ../../../gobject/gclosure.c:810
marshal = 0x7f4e67919e70 <g_cclosure_marshal_VOID__INT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5638e013eca0
__func__ = "g_closure_invoke"
#11 0x00007f4e67933ea6 in signal_emit_unlocked_R (node=node@entry=0x5638e0135b20, detail=detail@entry=0, instance=instance@entry=0x5638e0139000, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffdc5ba3be0) at ../../../gobject/gsignal.c:3741
tmp = <optimized out>
handler = 0x5638e013d4c0
accumulator = 0x0
emission = {next = 0x7ffdc5ba41e0, instance = 0x5638e0139000, ihint = {signal_id = 88, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x0
hlist = <optimized out>
handler_list = 0x5638e013d4c0
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 = 88
max_sequential_handler_number = 148
return_value_altered = 0
EMIT_RESTART = <optimized out>
#12 0x00007f4e67935884 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdc5ba3db0) at ../../../gobject/gsignal.c:3497
instance_and_params = 0x7ffdc5ba3be0
signal_return_type = <optimized out>
param_values = 0x7ffdc5ba3bf8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#13 0x00007f4e67935ad3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3553
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffdc5ba3e90, reg_save_area = 0x7ffdc5ba3dd0}}
#14 0x00007f4e670fe8e6 in ffi_call_unix64 () at ../src/x86/unix64.S:105
No locals.
#15 0x00007f4e670fb426 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
classes = {X86_64_INTEGER_CLASS, 32765, 3743419005, 22072}
stack = <optimized out>
argp = 0x7ffdc5ba3e90 ""
arg_types = <optimized out>
gprcount = 4
ssecount = <optimized out>
ngpr = 1
nsse = 0
i = <optimized out>
avn = <optimized out>
flags = <optimized out>
reg_args = <optimized out>
#16 0x00007f4e6791dbed in g_cclosure_marshal_generic (closure=closure@entry=0x5638e0140680, return_gvalue=return_gvalue@entry=0x0, n_param_values=n_param_values@entry=3, param_values=param_values@entry=0x5638e0155570, invocation_hint=invocation_hint@entry=0x7ffdc5ba41f0, marshal_data=marshal_data@entry=0x0) at ../../../gobject/gclosure.c:1510
rtype = <optimized out>
rvalue = 0x7ffdc5ba4000
n_args = <optimized out>
atypes = <optimized out>
args = <optimized out>
i = <optimized out>
cif = {abi = FFI_UNIX64, nargs = 4, arg_types = 0x7ffdc5ba3fd0, rtype = 0x7f4e670ff1a0 <ffi_type_void>, bytes = 0, flags = 0}
cc = 0x5638e0140680
enum_tmpval = 0x7ffdc5ba4010
tmpval_used = 0
#17 0x00007f4e67917c0f in g_closure_invoke (closure=0x5638e0140680, return_value=0x0, n_param_values=3, param_values=0x5638e0155570, invocation_hint=0x7ffdc5ba41f0) at ../../../gobject/gclosure.c:810
marshal = 0x7f4e6791d760 <g_cclosure_marshal_generic>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5638e0140660
__func__ = "g_closure_invoke"
#18 0x00007f4e67933ea6 in signal_emit_unlocked_R (node=<optimized out>, detail=0, instance=0x5638e01269e0, emission_return=0x0, instance_and_params=0x5638e0155570) at ../../../gobject/gsignal.c:3741
tmp = <optimized out>
handler = 0x7f4e5c006f40
accumulator = 0x0
emission = {next = 0x7ffdc5ba4460, instance = 0x5638e01269e0, ihint = {signal_id = 126, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x5638e01456c0
hlist = <optimized out>
handler_list = 0x7f4e5c006f40
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 = 126
max_sequential_handler_number = 148
return_value_altered = 0
EMIT_RESTART = <optimized out>
#19 0x00005638df1db90a in gdm_dbus_worker_proxy_g_signal (proxy=0x7ffdc5ba4290, sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>) at daemon/gdm-session-worker-glue.c:3652
info = 0x5638df218ae0 <_gdm_dbus_worker_signal_info_session_exited>
iter = {x = {139974594844496, 2, 2, 0, 94802277286032, 139974721764367, 139974721772480, 3579507750, 2, 139974720646986, 0, 94802277460272, 144, 140727920772336, 140727920772336, 140727920772336}}
child = 0x0
paramv = 0x5638e0155570
num_params = 2
n = <optimized out>
signal_id = <optimized out>
#20 0x00007f4e67917c0f in g_closure_invoke (closure=0x5638e00fc1c0, return_value=0x0, n_param_values=4, param_values=0x7ffdc5ba44f0, invocation_hint=0x7ffdc5ba4470) at ../../../gobject/gclosure.c:810
marshal = 0x7f4e67919bc0 <g_type_class_meta_marshal>
marshal_data = 0x90
in_marshal = 0
real_closure = 0x5638e00fc1a0
__func__ = "g_closure_invoke"
#21 0x00007f4e67933894 in signal_emit_unlocked_R (node=node@entry=0x5638e00fc1f0, detail=detail@entry=0, instance=instance@entry=0x5638e01269e0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffdc5ba44f0) at ../../../gobject/gsignal.c:3780
accumulator = 0x0
emission = {next = 0x0, instance = 0x5638e01269e0, ihint = {signal_id = 8, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 94802277514016}
class_closure = 0x5638e00fc1c0
hlist = <optimized out>
handler_list = <optimized out>
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 = 8
max_sequential_handler_number = 148
return_value_altered = 0
EMIT_RESTART = <optimized out>
#22 0x00007f4e67935884 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdc5ba46f0) at ../../../gobject/gsignal.c:3497
instance_and_params = 0x7ffdc5ba44f0
signal_return_type = <optimized out>
param_values = 0x7ffdc5ba4508
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#23 0x00007f4e67935ad3 in g_signal_emit (instance=instance@entry=0x5638e01269e0, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3553
var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffdc5ba47d0, reg_save_area = 0x7ffdc5ba4710}}
#24 0x00007f4e67712fa5 in on_signal_received (connection=<optimized out>, sender_name=0x0, object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7f4e6000ac20 "SessionExited", parameters=0x7f4e6000d750, user_data=0x5638e01474e0) at ../../../gio/gdbusproxy.c:884
proxy_weak = 0x5638e01474e0
proxy = 0x5638e01269e0
#25 0x00007f4e676fec6f in emit_signal_instance_in_idle_cb (data=0x7f4e60011270) at ../../../gio/gdbusconnection.c:3800
signal_instance = 0x7f4e60011270
parameters = 0x7f4e6000d750
has_subscription = 1
#26 0x00007f4e678237c4 in g_main_dispatch (context=0x5638e00fe890) at ../../../glib/gmain.c:3337
dispatch = 0x7f4e6781fad0 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x7f4e60011270
callback = 0x7f4e676febf0 <emit_signal_instance_in_idle_cb>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x7f4e600116c0
current = 0x5638e010a8c0
i = 0
__func__ = <optimized out>
#27 g_main_context_dispatch (context=0x5638e00fe890) at ../../../glib/gmain.c:4055
No locals.
#28 0x00007f4e67876f08 in g_main_context_iterate.constprop.0 (context=0x5638e00fe890, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4131
max_priority = 2147483647
timeout = -1
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x5638e01172b0
begin_time_nsec = 0
#29 0x00007f4e67822e43 in g_main_loop_run (loop=0x5638e010c920) at ../../../glib/gmain.c:4329
self = <optimized out>
__func__ = "g_main_loop_run"
#30 0x00005638df1d2582 in main (argc=<optimized out>, argv=<optimized out>) at ../daemon/main.c:395
main_loop = 0x5638e010c920
context = <optimized out>
error = 0x0
res = <optimized out>
entries = {{long_name = 0x5638df2066dd "fatal-warnings", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x5638df21d434 <fatal_warnings>, description = 0x5638df2066ec "Make all warnings fatal", arg_description = 0x0}, {long_name = 0x5638df206704 "timed-exit", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x5638df21d430 <do_timed_exit>, description = 0x5638df2081f0 "Exit after a time (for debugging)", arg_description = 0x0}, {long_name = 0x5638df206719 "version", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x5638df21d438 <print_version>, description = 0x5638df20670f "Print GDM version", arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
print_version = 0
fatal_warnings = 0
do_timed_exit = 0