Crash in clutter_frame_clock_schedule_update
Affected version
Fedora 38 Silverblue, mutter-44~beta-2.fc38.x86_64, Wayland
Bug summary
I connected a monitor while my laptop was sleeping, then turned on the laptop, and was greeted by GDM instead of my session. Also, this was the first time I'm connecting this monitor after updating to mutter 44.beta, and for some reason its display settings were not preserved.
Relevant logs, screenshots, screencasts etc.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f744adf87b0 in clutter_frame_clock_schedule_update (frame_clock=0x0) at ../clutter/clutter/clutter-frame-clock.c:659
659 if (frame_clock->inhibit_count > 0)
(gdb) bt
#0 0x00007f744adf87b0 in clutter_frame_clock_schedule_update (frame_clock=0x0) at ../clutter/clutter/clutter-frame-clock.c:659
#1 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c4202aebb0, return_value=0x0, n_param_values=1, param_values=0x7ffd1668d3b0, invocation_hint=0x7ffd1668d330) at ../gobject/gclosure.c:832
#2 0x00007f744c0154d8 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41ce73220, detail=detail@entry=0, instance=instance@entry=0x55c4200e48c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668d3b0) at ../gobject/gsignal.c:3802
#3 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668d550) at ../gobject/gsignal.c:3555
#4 0x00007f744c004e03 in g_signal_emit (instance=instance@entry=0x55c4200e48c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3612
#5 0x00007f744ab6c9ac in meta_crtc_kms_set_gamma_lut (crtc=0x55c4200e48c0, lut=<optimized out>) at ../src/backends/native/meta-crtc-kms.c:260
#6 0x00007f744aa8e517 in meta_crtc_set_gamma_lut (lut=0x55c4232567d0, crtc=<optimized out>) at ../src/backends/meta-crtc.c:166
#7 set_gamma_lut (monitor=<optimized out>, mode=<optimized out>, monitor_crtc_mode=<optimized out>, user_data=0x55c4232567d0, error=<optimized out>) at ../src/backends/meta-monitor.c:710
#8 0x00007f744aa8aedf in meta_monitor_mode_foreach_crtc (monitor=0x55c4219cf910, mode=0x55c422892ca0, func=0x7f744aa8e4f0 <set_gamma_lut>, user_data=0x55c4232567d0, error=0x0) at ../src/backends/meta-monitor.c:2102
#9 0x00007f744aa81a3d in meta_monitor_set_gamma_lut (lut=0x55c4232567d0, monitor=0x55c4219cf910) at ../src/backends/meta-monitor.c:728
#10 meta_color_device_update (color_device=0x55c42322e430, temperature=<optimized out>) at ../src/backends/meta-color-device.c:1266
#11 0x00007f744aa81d0c in update_all_gamma (color_manager=0x55c41ce65e80) at ../src/backends/meta-color-manager.c:304
#12 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c41e720900, return_value=0x0, n_param_values=2, param_values=0x7ffd1668d960, invocation_hint=0x7ffd1668d8e0) at ../gobject/gclosure.c:832
#13 0x00007f744c0154d8 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41cc5d3b0, detail=detail@entry=410, instance=instance@entry=0x55c41ce69e30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668d960) at ../gobject/gsignal.c:3802
#14 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668db20) at ../gobject/gsignal.c:3555
#15 0x00007f744c004e03 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3612
#16 0x00007f744bff1894 in g_object_dispatch_properties_changed (object=0x55c41ce69e30, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../gobject/gobject.c:1428
#17 0x00007f744bff81c2 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x55c41ce69e30) at ../gobject/gobject.c:1552
#18 g_object_notify (object=object@entry=0x55c41ce69e30, property_name=<optimized out>) at ../gobject/gobject.c:1602
#19 0x00007f744aa769ac in meta_dbus_settings_daemon_color_proxy_g_properties_changed (_proxy=0x55c41ce69e30, changed_properties=<optimized out>, invalidated_properties=0x55c41ff9d460) at src/meta-dbus-gsd-color.c:583
#20 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c41cc65630, return_value=0x0, n_param_values=3, param_values=0x7ffd1668de80, invocation_hint=0x7ffd1668de00) at ../gobject/gclosure.c:832
#21 0x00007f744c0155f3 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41cc65660, detail=detail@entry=0, instance=instance@entry=0x55c41ce69e30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668de80) at ../gobject/gsignal.c:3841
#22 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668e050) at ../gobject/gsignal.c:3555
#23 0x00007f744c004e03 in g_signal_emit (instance=instance@entry=0x55c41ce69e30, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3612
#24 0x00007f744bb4bcf0 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=0x55c41e7213a0) at ../gio/gdbusproxy.c:1102
#25 0x00007f744bb369b0 in emit_signal_instance_in_idle_cb (data=data@entry=0x7f74200ca740) at ../gio/gdbusconnection.c:3792
#26 0x00007f744b93ba5d in g_idle_dispatch (source=0x7f7420005760, callback=0x7f744bb36930 <emit_signal_instance_in_idle_cb>, user_data=0x7f74200ca740) at ../glib/gmain.c:6163
#27 0x00007f744b93f7f8 in g_main_dispatch (context=0x55c41cc60530) at ../glib/gmain.c:3460
#28 g_main_context_dispatch (context=0x55c41cc60530) at ../glib/gmain.c:4200
#29 0x00007f744b99df38 in g_main_context_iterate.isra.0 (context=0x55c41cc60530, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276
#30 0x00007f744b93eeff in g_main_loop_run (loop=0x55c41e6d3350) at ../glib/gmain.c:4479
#31 0x00007f744aad27da in meta_context_run_main_loop (context=context@entry=0x55c41cc5e900, error=error@entry=0x7ffd1668e460) at ../src/core/meta-context.c:482
#32 0x000055c41c0f1fa7 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:668
bt full
#0 0x00007f744adf87b0 in clutter_frame_clock_schedule_update (frame_clock=0x0) at ../clutter/clutter/clutter-frame-clock.c:659
next_update_time_us = -1
__func__ = "clutter_frame_clock_schedule_update"
#1 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c4202aebb0, return_value=0x0, n_param_values=1, param_values=0x7ffd1668d3b0, invocation_hint=0x7ffd1668d330) at ../gobject/gclosure.c:832
marshal = 0x7f744bfe8720 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55c4202aeb90
__func__ = "g_closure_invoke"
#2 0x00007f744c0154d8 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41ce73220, detail=detail@entry=0, instance=instance@entry=0x55c4200e48c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668d3b0) at ../gobject/gsignal.c:3802
tmp = <optimized out>
handler = 0x55c42341f830
accumulator = 0x0
emission = {next = 0x7ffd1668d8d0, instance = 0x55c4200e48c0, ihint = {signal_id = 34, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x55c42341f830
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 = 34
max_sequential_handler_number = 4486036
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#3 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668d550) at ../gobject/gsignal.c:3555
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"
#4 0x00007f744c004e03 in g_signal_emit (instance=instance@entry=0x55c4200e48c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3612
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd1668d630, reg_save_area = 0x7ffd1668d570}}
#5 0x00007f744ab6c9ac in meta_crtc_kms_set_gamma_lut (crtc=0x55c4200e48c0, lut=<optimized out>) at ../src/backends/native/meta-crtc-kms.c:260
crtc_kms = 0x55c4200e48c0
kms_crtc = 0x55c41ce81570
backend = <optimized out>
monitor_manager_native = 0x55c41ce61d60
stage = 0x55c41d0b98b0
crtc_state = <optimized out>
gamma_ramp_string = 0x55c41ec09c90 "[ r: 0,257,...,514,771 g: 0,175,...,350,526 b: 0,92,...,184,276 ]"
crtc_gamma = 0x55c4227aad70
#6 0x00007f744aa8e517 in meta_crtc_set_gamma_lut (lut=0x55c4232567d0, crtc=<optimized out>) at ../src/backends/meta-crtc.c:166
No locals.
#7 set_gamma_lut (monitor=<optimized out>, mode=<optimized out>, monitor_crtc_mode=<optimized out>, user_data=0x55c4232567d0, error=<optimized out>) at ../src/backends/meta-monitor.c:710
lut = 0x55c4232567d0
crtc = <optimized out>
#8 0x00007f744aa8aedf in meta_monitor_mode_foreach_crtc (monitor=0x55c4219cf910, mode=0x55c422892ca0, func=0x7f744aa8e4f0 <set_gamma_lut>, user_data=0x55c4232567d0, error=0x0) at ../src/backends/meta-monitor.c:2102
monitor_crtc_mode = <optimized out>
monitor_priv = <optimized out>
l = 0x55c4220d7310
i = 0
#9 0x00007f744aa81a3d in meta_monitor_set_gamma_lut (lut=0x55c4232567d0, monitor=0x55c4219cf910) at ../src/backends/meta-monitor.c:728
current_mode = <optimized out>
current_mode = <optimized out>
__func__ = <optimized out>
_g_boolean_var_24 = <optimized out>
#10 meta_color_device_update (color_device=0x55c42322e430, temperature=<optimized out>) at ../src/backends/meta-color-device.c:1266
lut = 0x55c4232567d0
color_profile = <optimized out>
monitor = 0x55c4219cf910
lut_size = 256
#11 0x00007f744aa81d0c in update_all_gamma (color_manager=0x55c41ce65e80) at ../src/backends/meta-color-manager.c:304
monitor = <optimized out>
color_device = 0x55c42322e430
priv = 0x55c41ce65e30
monitor_manager = <optimized out>
l = 0x55c41d4c8a90
#12 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c41e720900, return_value=0x0, n_param_values=2, param_values=0x7ffd1668d960, invocation_hint=0x7ffd1668d8e0) at ../gobject/gclosure.c:832
marshal = 0x7f744bfe8e70 <g_cclosure_marshal_VOID__PARAM>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55c41e7208e0
__func__ = "g_closure_invoke"
#13 0x00007f744c0154d8 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41cc5d3b0, detail=detail@entry=410, instance=instance@entry=0x55c41ce69e30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668d960) at ../gobject/gsignal.c:3802
tmp = <optimized out>
handler = 0x7f7420009b50
accumulator = 0x0
emission = {next = 0x7ffd1668ddf0, instance = 0x55c41ce69e30, ihint = {signal_id = 1, detail = 410, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x7f7420009b50
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 = 4486034
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#14 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668db20) at ../gobject/gsignal.c:3555
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 0x00007f744c004e03 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3612
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd1668dc00, reg_save_area = 0x7ffd1668db40}}
#16 0x00007f744bff1894 in g_object_dispatch_properties_changed (object=0x55c41ce69e30, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../gobject/gobject.c:1428
i = <optimized out>
#17 0x00007f744bff81c2 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x55c41ce69e30) at ../gobject/gobject.c:1552
nqueue = <optimized out>
need_thaw = <optimized out>
object_flags = <optimized out>
needs_notify = 1
in_init = <optimized out>
object_flags = <optimized out>
needs_notify = <optimized out>
in_init = <optimized out>
_g_boolean_var_50 = <optimized out>
nqueue = <optimized out>
need_thaw = <optimized out>
#18 g_object_notify (object=object@entry=0x55c41ce69e30, property_name=<optimized out>) at ../gobject/gobject.c:1602
pspec = <optimized out>
__func__ = "g_object_notify"
#19 0x00007f744aa769ac in meta_dbus_settings_daemon_color_proxy_g_properties_changed (_proxy=0x55c41ce69e30, changed_properties=<optimized out>, invalidated_properties=0x55c41ff9d460) at src/meta-dbus-gsd-color.c:583
proxy = 0x55c41ce69e30
n = <optimized out>
key = 0x55c420c9f210 "Temperature"
iter = 0x55c4237984a0
info = 0x7f744ac219c0 <_meta_dbus_settings_daemon_color_property_info_temperature>
#20 0x00007f744bfe63c2 in g_closure_invoke (closure=0x55c41cc65630, return_value=0x0, n_param_values=3, param_values=0x7ffd1668de80, invocation_hint=0x7ffd1668de00) at ../gobject/gclosure.c:832
marshal = 0x7f744bfe86a0 <g_type_class_meta_marshal>
marshal_data = 0x88
in_marshal = 0
real_closure = 0x55c41cc65610
__func__ = "g_closure_invoke"
#21 0x00007f744c0155f3 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55c41cc65660, detail=detail@entry=0, instance=instance@entry=0x55c41ce69e30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd1668de80) at ../gobject/gsignal.c:3841
accumulator = 0x0
emission = {next = 0x0, instance = 0x55c41ce69e30, ihint = {signal_id = 11, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 94300786824160}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x0
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 = 11
max_sequential_handler_number = 4486034
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#22 0x00007f744c004bda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd1668e050) at ../gobject/gsignal.c:3555
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"
#23 0x00007f744c004e03 in g_signal_emit (instance=instance@entry=0x55c41ce69e30, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3612
var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffd1668e130, reg_save_area = 0x7ffd1668e070}}
#24 0x00007f744bb4bcf0 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=0x55c41e7213a0) at ../gio/gdbusproxy.c:1102
proxy_weak = 0x55c41e7213a0
emit_g_signal = <optimized out>
proxy = 0x55c41ce69e30
interface_name_for_signal = 0x55c420c9f1f0 "org.gnome.SettingsDaemon.Color"
changed_properties = 0x55c421addd10
invalidated_properties = 0x55c41ff9d460
iter = {x = {94300866993424, 1, 1, 0, 140137461326014, 18446744073709551496, 0, 3579507750, 0, 18446744073709551496, 0, 140136730348720, 0, 140136734096976, 140724979425808, 140137443615982}}
key = 0x55c421bee5a0 ".\032\"~\301U"
value = 0x55c420075290
n = <optimized out>
#25 0x00007f744bb369b0 in emit_signal_instance_in_idle_cb (data=data@entry=0x7f74200ca740) at ../gio/gdbusconnection.c:3792
signal_instance = 0x7f74200ca740
parameters = 0x7f74204872f0
has_subscription = 1
#26 0x00007f744b93ba5d in g_idle_dispatch (source=0x7f7420005760, callback=0x7f744bb36930 <emit_signal_instance_in_idle_cb>, user_data=0x7f74200ca740) at ../glib/gmain.c:6163
idle_source = 0x7f7420005760
again = <optimized out>
#27 0x00007f744b93f7f8 in g_main_dispatch (context=0x55c41cc60530) at ../glib/gmain.c:3460
dispatch = 0x7f744b93ba30 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 57121756011921
was_in_call = 0
user_data = 0x7f74200ca740
callback = 0x7f744bb36930 <emit_signal_instance_in_idle_cb>
cb_funcs = 0x7f744ba2b380 <g_source_callback_funcs>
cb_data = 0x7f74206302f0
need_destroy = <optimized out>
source = 0x7f7420005760
current = 0x55c41cc3e750
i = 8
current = <optimized out>
i = <optimized out>
__func__ = <optimized out>
source = <optimized out>
_g_boolean_var_165 = <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>
begin_time_nsec = <optimized out>
_g_boolean_var_166 = <optimized out>
#28 g_main_context_dispatch (context=0x55c41cc60530) at ../glib/gmain.c:4200
No locals.
#29 0x00007f744b99df38 in g_main_context_iterate.isra.0 (context=0x55c41cc60530, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276
max_priority = 0
timeout = 0
some_ready = 1
nfds = 44
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 57121673304232
#30 0x00007f744b93eeff in g_main_loop_run (loop=0x55c41e6d3350) at ../glib/gmain.c:4479
self = <optimized out>
__func__ = "g_main_loop_run"
#31 0x00007f744aad27da in meta_context_run_main_loop (context=context@entry=0x55c41cc5e900, error=error@entry=0x7ffd1668e460) at ../src/core/meta-context.c:482
priv = 0x55c41cc5e880
__func__ = "meta_context_run_main_loop"
#32 0x000055c41c0f1fa7 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:668
context = 0x55c41cc5e900
error = 0x0
ecode = 0