Crash in `meta_x11_display_get_xdisplay` on suspend
Affected version
- Fedora 36
- mutter 42.beta
- Wayland
Bug summary
Mutter crashed in meta_x11_display_get_xdisplay
for me on suspend.
FWIW, the following experimental features are enabled ['scale-monitor-framebuffer', 'kms-modifiers', 'autoclose-xwayland']
.
Relevant logs, screenshots, screencasts etc.
Stacktrace
(gdb) bt full
#0 meta_x11_display_get_xdisplay (x11_display=0x0) at ../src/x11/meta-x11-display.c:1481
#1 0x00007f43081aed2f in meta_xwayland_set_primary_output (x11_display=0x0) at ../src/wayland/meta-xwayland.c:1196
xdisplay = <optimized out>
resources = <optimized out>
monitor_manager = <optimized out>
primary_monitor = <optimized out>
i = <optimized out>
#2 0x00007f4308ecfe60 in g_closure_invoke (closure=0x5560bf472150, return_value=0x0, n_param_values=1, param_values=0x7fff176fc9b0, invocation_hint=0x7fff176fc930) at ../gobject/gclosure.c:830
marshal = 0x7f4308ed2180 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5560bf472130
__func__ = "g_closure_invoke"
#3 0x00007f4308efc756 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x5560bdd2ed70, detail=detail@entry=0, instance=instance@entry=0x5560bdd25c00, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff176fc9b0)
at ../gobject/gsignal.c:3744
tmp = <optimized out>
handler = 0x5560c32d8780
accumulator = 0x0
emission =
{next = 0x7fff176fce90, instance = 0x5560bdd25c00, ihint = {signal_id = 39, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4}
hlist = <optimized out>
handler_list = 0x5560beb8c740
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}}}
signal_id = 39
max_sequential_handler_number = 765489
return_value_altered = <optimized out>
#4 0x00007f4308eecc1e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff176fcb60) at ../gobject/gsignal.c:3497
instance_and_params = 0x7fff176fc9b0
signal_return_type = <optimized out>
param_values = 0x7fff176fc9c8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#5 0x00007f4308eecea3 in g_signal_emit (instance=instance@entry=0x5560bdd25c00, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff176fcc40, reg_save_area = 0x7fff176fcb80}}
#6 0x00007f43080de772 in meta_monitor_manager_notify_monitors_changed (manager=manager@entry=0x5560bdd25c00) at ../src/backends/meta-monitor-manager.c:3479
#7 0x00007f43080e5c2e in meta_monitor_manager_rebuild (config=0x5560bdde2ad0, manager=0x5560bdd25c00) at ../src/backends/meta-monitor-manager.c:3566
old_logical_monitors = 0x5560c1fe3320 = {0x5560c3458990}
#8 meta_monitor_manager_rebuild (manager=0x5560bdd25c00, config=0x5560bdde2ad0) at ../src/backends/meta-monitor-manager.c:3550
#9 0x00007f43081c2279 in meta_monitor_manager_native_apply_monitors_config (manager=0x5560bdd25c00, config=0x5560bdde2ad0, method=<optimized out>, error=<optimized out>)
at ../src/backends/native/meta-monitor-manager-native.c:348
crtc_assignments = 0x5560c0c2f2c0
--Type <RET> for more, q to quit, c to continue without paging--c
output_assignments = 0x5560c3750620
#10 0x00007f43080d728c in meta_monitor_manager_apply_monitors_config (manager=manager@entry=0x5560bdd25c00, config=config@entry=0x5560bdde2ad0, method=META_MONITORS_CONFIG_METHOD_PERSISTENT, error=<optimized out>) at ../src/backends/meta-monitor-manager.c:635
manager_class = <optimized out>
__func__ = "meta_monitor_manager_apply_monitors_config"
#11 0x00007f43080dc493 in meta_monitor_manager_ensure_configured (manager=0x5560bdd25c00) at ../src/backends/meta-monitor-manager.c:708
oriented_config = 0x0
config = 0x5560bdde2ad0
error = 0x0
method = META_MONITORS_CONFIG_METHOD_PERSISTENT
#12 0x00007f4308ece026 in g_cclosure_marshal_VOID__BOOLEANv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5560bdcf4c60) at ../gobject/gmarshal.c:272
data1 = <optimized out>
data2 = <optimized out>
callback = <optimized out>
arg0 = 0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff176fd070, reg_save_area = 0x7fff176fcfb0}}
#13 0x00007f4308eecd69 in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7fff176fcf90, instance=<optimized out>, return_value=<optimized out>, closure=0x5560bddb6e80) at ../gobject/gclosure.c:893
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x5560bddb6e60
return_accu = <optimized out>
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 = <optimized out>
emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{next = 0x7fff176fd1b0, instance = 0x5560bdd22120, ihint = {signal_id = 5, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = }
signal_id = <optimized out>
instance_type = <optimized out>
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 = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#14 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff176fcf90) at ../gobject/gsignal.c:3407
return_accu = <optimized out>
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 = <optimized out>
emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{next = 0x7fff176fd1b0, instance = 0x5560bdd22120, ihint = {signal_id = 5, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = }
signal_id = <optimized out>
instance_type = <optimized out>
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 = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#15 0x00007f4308eecea3 in g_signal_emit (instance=instance@entry=0x5560bdd22120, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff176fd070, reg_save_area = 0x7fff176fcfb0}}
#16 0x00007f43080cbced in upower_properties_changed (proxy=<optimized out>, changed_properties=0x7f42e02e0120, invalidated_properties=<optimized out>, user_data=0x5560bdd22120) at ../src/backends/meta-backend.c:670
lid_is_closed = 1
backend = 0x5560bdd22120
priv = 0x5560bdd22020
v = 0x5560c2e83aa0
reset_idle_time = 0
#17 0x00007f4308ecfe60 in g_closure_invoke (closure=0x5560c02d0fc0, return_value=0x0, n_param_values=3, param_values=0x7fff176fd240, invocation_hint=0x7fff176fd1c0) at ../gobject/gclosure.c:830
marshal = 0x7f4308f92f60 <_g_cclosure_marshal_VOID__VARIANT_BOXED>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5560c02d0fa0
__func__ = "g_closure_invoke"
#18 0x00007f4308efc756 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x5560bdd9ba00, detail=detail@entry=0, instance=instance@entry=0x5560bf59f350, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff176fd240) at ../gobject/gsignal.c:3744
tmp = <optimized out>
handler = 0x5560c0303740
accumulator = 0x0
emission = {next = 0x0, instance = 0x5560bf59f350, ihint = {signal_id = 11, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4}
hlist = <optimized out>
handler_list = 0x5560c0303740
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}}}
signal_id = 11
max_sequential_handler_number = 764973
return_value_altered = <optimized out>
#19 0x00007f4308eecc1e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff176fd420) at ../gobject/gsignal.c:3497
instance_and_params = 0x7fff176fd240
signal_return_type = <optimized out>
param_values = 0x7fff176fd258
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#20 0x00007f4308eecea3 in g_signal_emit (instance=instance@entry=0x5560bf59f350, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff176fd500, reg_save_area = 0x7fff176fd440}}
#21 0x00007f430903409b in on_properties_changed (connection=<optimized out>, sender_name=<optimized out>, object_path=<optimized out>, interface_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>, user_data=0x5560bfe8c720) at ../gio/gdbusproxy.c:1107
proxy_weak = 0x5560bfe8c720
emit_g_signal = <optimized out>
proxy = 0x5560bf59f350
interface_name_for_signal = 0x5560beb8dc50 "org.freedesktop.UPower"
changed_properties = 0x7f42e02e0120
invalidated_properties = 0x5560c0c51200
iter = {x = {139925205680416, 1, 1, 0, 93873989877024, 139925888590688, 206158430248, 3579507750, 140733586593152, 2327221760839471616, 140733586790860, 2327221760839471616, 139925889197152, 18446744073709551488, 0, 139925202842424}}
key = 0x5560c24deff0 "\320(D\277`U"
value = 0x7f42e0a45f90
n = <optimized out>
#22 0x00007f430901fe7f in emit_signal_instance_in_idle_cb (data=data@entry=0x7f42e00a2620) at ../gio/gdbusconnection.c:3804
signal_instance = 0x7f42e00a2620
parameters = 0x7f42e04eef00
has_subscription = 1
#23 0x00007f4308dd16bb in g_idle_dispatch (source=0x7f42e00086a0, callback=0x7f430901fe00 <emit_signal_instance_in_idle_cb>, user_data=0x7f42e00a2620) at ../glib/gmain.c:5929
again = <optimized out>
#24 0x00007f4308dd51bf in g_main_dispatch (context=0x5560bdd1fd20) at ../glib/gmain.c:3413
dispatch = 0x7f4308dd16a0 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 19514665536221
was_in_call = 0
user_data = 0x7f42e00a2620
callback = 0x7f430901fe00 <emit_signal_instance_in_idle_cb>
cb_funcs = 0x7f4308eba3e0 <g_source_callback_funcs>
cb_data = 0x7f42e02e52a0
need_destroy = <optimized out>
source = 0x7f42e00086a0
current = 0x5560bdd64e70
i = 1
#25 g_main_context_dispatch (context=0x5560bdd1fd20) at ../glib/gmain.c:4131
#26 0x00007f4308e2a4b8 in g_main_context_iterate.constprop.0 (context=0x5560bdd1fd20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4207
max_priority = 2147483647
timeout = 10
some_ready = 1
nfds = 20
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 19514658054607
#27 0x00007f4308dd48ef in g_main_loop_run (loop=0x5560bf581880) at ../glib/gmain.c:4405
__func__ = "g_main_loop_run"
#28 0x00007f430812ac89 in meta_context_run_main_loop (context=<optimized out>, error=0x7fff176fd800) at ../src/core/meta-context.c:437
priv = 0x5560bdd19050
__func__ = "meta_context_run_main_loop"
#29 0x00005560bc2cae27 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:566
context = 0x5560bdd190c0
error = 0x0
ecode = 0
Edited by Björn Daase