** Description changed:

+ [ Impact ]
+ 
+ GNOME shell may crash when changing monitor configuration, hotplugging
+ monitors, or changing virtual terminals.
+ 
+ The bug was inadvertently introduced with the patches for bug 2085423
+ and bug 2121517.
+ 
+ [ Test Plan ]
+ 
+ The bug is timing-sensitive and only has very few hits in errors.ubuntu.com, 
thus we may not be able to reproduce.
+ Nonetheless,
+ 
+ 1. Log-in to Ubuntu Desktop
+ 2. Change virtual terminal with Ctrl+Alt+F3
+ 3. Return back to GNOME Shell with Ctrl+Alt+F2
+ 4. Verify that GNOME Shell did not crash and log you out
+ 
+ We will keep monitoring errors.ubuntu.com for crash reports after this
+ fix.
+ 
+ [ Where problems could occur ]
+ 
+ The patch only introduces a NULL check before accessing an invalid monitor 
connection state. When that happens, we briefly report the Privacy Screen to be 
unavailable until a later time when the monitor connection state settles and we 
can report the correct state for Privacy Screen.
+ No regressions are to be expected.
+ 
+ [ Stacktrace ]
+ 
  #0  0x000074fe9a3a6b72 in meta_output_kms_get_privacy_screen_state 
(output=<optimized out>) at ../src/backends/native/meta-output-kms.c:72
-         output_kms = <optimized out>
-         connector_state = 0x0
+         output_kms = <optimized out>
+         connector_state = 0x0
  #1  0x000074fe9a2c147b in meta_output_get_privacy_screen_state 
(output=0x63e8ab7f4b40) at ../src/backends/meta-output.c:455
-         output_class = <optimized out>
+         output_class = <optimized out>
  #2  meta_output_set_privacy_screen_enabled (output=0x63e8ab7f4b40, enabled=0, 
error=0x7ffdf4b7f4d0) at ../src/backends/meta-output.c:474
-         priv = 0x63e8ab7f4af0
-         state = <optimized out>
+         priv = 0x63e8ab7f4af0
+         state = <optimized out>
  #3  meta_monitor_set_privacy_screen_enabled (monitor=0x63e8ac47f950, 
enabled=0, error=0x7ffdf4b7f4d0) at ../src/backends/meta-monitor.c:2682
-         output = 0x63e8ab7f4b40
+         output = 0x63e8ab7f4b40
  #4  ensure_privacy_screen_settings (manager=manager@entry=0x63e8a7d86cb0) at 
../src/backends/meta-monitor-manager.c:1222
-         monitor = 0x63e8ac47f950
-         error = 0x0
-         settings = <optimized out>
-         privacy_screen_enabled = 0
-         any_changed = <optimized out>
-         l = 0x63e8a7ee2230
+         monitor = 0x63e8ac47f950
+         error = 0x0
+         settings = <optimized out>
+         privacy_screen_enabled = 0
+         any_changed = <optimized out>
+         l = 0x63e8a7ee2230
  #5  0x000074fe9a2c6a8d in meta_monitor_manager_rebuild 
(manager=0x63e8a7d86cb0, config=0x63e8a85bb3a0) at 
../src/backends/meta-monitor-manager.c:4299
-         bin = 0x0
+         bin = 0x0
  #6  0x000074fe9a3aaa76 in meta_monitor_manager_native_apply_monitors_config 
(manager=0x63e8a7d86cb0, config=0x63e8a85bb3a0, 
method=META_MONITORS_CONFIG_METHOD_PERSISTENT, error=<optimized out>) at 
../src/backends/native/meta-monitor-manager-native.c:304
-         crtc_assignments = 0x63e8b27e4510
-         output_assignments = 0x63e8afcf24b0
+         crtc_assignments = 0x63e8b27e4510
+         output_assignments = 0x63e8afcf24b0
  #7  0x000074fe9a2c1263 in meta_monitor_manager_apply_monitors_config 
(manager=manager@entry=0x63e8a7d86cb0, config=config@entry=0x63e8a85bb3a0, 
method=method@entry=META_MONITORS_CONFIG_METHOD_PERSISTENT, 
error=error@entry=0x7ffdf4b7f640) at ../src/backends/meta-monitor-manager.c:726
-         manager_class = <optimized out>
+         manager_class = <optimized out>
  #8  0x000074fe9a2c4714 in meta_monitor_manager_ensure_configured 
(manager=0x63e8a7d86cb0) at ../src/backends/meta-monitor-manager.c:887
-         oriented_config = 0x0
-         amended_config = 0x0
-         config = 0x63e8a85bb3a0
-         error = 0x0
-         use_stored_config = <optimized out>
-         method = META_MONITORS_CONFIG_METHOD_PERSISTENT
-         fallback_method = META_MONITORS_CONFIG_METHOD_TEMPORARY
+         oriented_config = 0x0
+         amended_config = 0x0
+         config = 0x63e8a85bb3a0
+         error = 0x0
+         use_stored_config = <optimized out>
+         method = META_MONITORS_CONFIG_METHOD_PERSISTENT
+         fallback_method = META_MONITORS_CONFIG_METHOD_TEMPORARY
  #9  0x000074fe9ae768df 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=0x63e8a7972a60) at ../../../gobject/gmarshal.c:272
-         cc = <optimized out>
-         data1 = <optimized out>
-         data2 = <optimized out>
-         callback = <optimized out>
-         arg0 = 0
-         args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7fa00, reg_save_area = 0x7ffdf4b7f940}}
+         cc = <optimized out>
+         data1 = <optimized out>
+         data2 = <optimized out>
+         callback = <optimized out>
+         arg0 = 0
+         args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7fa00, reg_save_area = 0x7ffdf4b7f940}}
  #10 0x000074fe9ae98f09 in _g_closure_invoke_va (closure=0x63e8a7d92520, 
return_value=0x0, instance=0x63e8a7a89e00, args=0x7ffdf4b7f920, n_params=1, 
param_types=0x63e8a7972a60) at ../../../gobject/gclosure.c:980
-         marshal = <optimized out>
-         marshal_data = <optimized out>
-         in_marshal = 0
-         reffed_flags = {flags = {ref_count = 2, meta_marshal_nouse = 0, 
n_guards = 1, n_fnotifiers = 0, n_inotifiers = 2, in_inotify = 0, floating = 0, 
derivative_flag = 0, in_marshal = 0, is_invalid = 0}, closure = {ref_count = 2, 
meta_marshal_nouse = 0, n_guards = 1, n_fnotifiers = 0, n_inotifiers = 2, 
in_inotify = 0, floating = 0, derivative_flag = 0, in_marshal = 0, is_invalid = 
0, marshal = 0x0, data = 0x0, notifiers = 0x0}, atomic_int = 1114114}
-         real_closure = 0x63e8a7d92500
-         __func__ = <optimized out>
-         _g_boolean_var_49 = <optimized out>
+         marshal = <optimized out>
+         marshal_data = <optimized out>
+         in_marshal = 0
+         reffed_flags = {flags = {ref_count = 2, meta_marshal_nouse = 0, 
n_guards = 1, n_fnotifiers = 0, n_inotifiers = 2, in_inotify = 0, floating = 0, 
derivative_flag = 0, in_marshal = 0, is_invalid = 0}, closure = {ref_count = 2, 
meta_marshal_nouse = 0, n_guards = 1, n_fnotifiers = 0, n_inotifiers = 2, 
in_inotify = 0, floating = 0, derivative_flag = 0, in_marshal = 0, is_invalid = 
0, marshal = 0x0, data = 0x0, notifiers = 0x0}, atomic_int = 1114114}
+         real_closure = 0x63e8a7d92500
+         __func__ = <optimized out>
+         _g_boolean_var_49 = <optimized out>
  #11 signal_emit_valist_unlocked (instance=instance@entry=0x63e8a7a89e00, 
signal_id=signal_id@entry=37, detail=detail@entry=0, 
var_args=var_args@entry=0x7ffdf4b7f920) at ../../../gobject/gsignal.c:3439
-         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}}}
-         emission = {next = 0x7ffdf4b7fb90, instance = 0x63e8a7a89e00, ihint = 
{signal_id = 37, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | 
G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 
109850896469744}
-         instance_type = <optimized out>
-         emission_return = {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}}}
-         rtype = 4
-         static_scope = 0
-         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>
-         param_values = <optimized out>
-         node = <optimized out>
-         i = <optimized out>
-         node_copy = {signal_id = <optimized out>, itype = <optimized out>, 
name = <optimized out>, destroyed = <optimized out>, flags = <optimized out>, 
n_params = 1, single_va_closure_is_valid = <optimized out>, 
single_va_closure_is_after = <optimized out>, param_types = <optimized out>, 
return_type = <optimized out>, class_closure_bsa = <optimized out>, accumulator 
= <optimized out>, c_marshaller = <optimized out>, va_marshaller = <optimized 
out>, emission_hooks = <optimized out>, single_va_closure = <optimized out>}
-         __func__ = "signal_emit_valist_unlocked"
+         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}}}
+         emission = {next = 0x7ffdf4b7fb90, instance = 0x63e8a7a89e00, ihint = 
{signal_id = 37, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | 
G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 
109850896469744}
+         instance_type = <optimized out>
+         emission_return = {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}}}
+         rtype = 4
+         static_scope = 0
+         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>
+         param_values = <optimized out>
+         node = <optimized out>
+         i = <optimized out>
+         node_copy = {signal_id = <optimized out>, itype = <optimized out>, 
name = <optimized out>, destroyed = <optimized out>, flags = <optimized out>, 
n_params = 1, single_va_closure_is_valid = <optimized out>, 
single_va_closure_is_after = <optimized out>, param_types = <optimized out>, 
return_type = <optimized out>, class_closure_bsa = <optimized out>, accumulator 
= <optimized out>, c_marshaller = <optimized out>, va_marshaller = <optimized 
out>, emission_hooks = <optimized out>, single_va_closure = <optimized out>}
+         __func__ = "signal_emit_valist_unlocked"
  #12 0x000074fe9ae99008 in g_signal_emit_valist (instance=0x63e8a7a89e00, 
signal_id=37, detail=0, var_args=var_args@entry=0x7ffdf4b7f920) at 
../../../gobject/gsignal.c:3278
  No locals.
  #13 0x000074fe9ae990c3 in g_signal_emit 
(instance=instance@entry=0x63e8a7a89e00, signal_id=<optimized out>, 
detail=detail@entry=0) at ../../../gobject/gsignal.c:3598
-         var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7fa00, reg_save_area = 0x7ffdf4b7f940}}
+         var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7fa00, reg_save_area = 0x7ffdf4b7f940}}
  #14 0x000074fe9a29317c in logind_properties_changed (proxy=<optimized out>, 
changed_properties=0x74fe840218b0, invalidated_properties=<optimized out>, 
user_data=0x63e8a7a89e00) at ../src/backends/meta-backend.c:734
-         lid_is_closed = 0
-         backend = 0x63e8a7a89e00
-         priv = 0x63e8a7a89cc0
-         v = 0x63e8ab88a030
-         reset_idle_time = 0
+         lid_is_closed = 0
+         backend = 0x63e8a7a89e00
+         priv = 0x63e8a7a89cc0
+         v = 0x63e8ab88a030
+         reset_idle_time = 0
  #15 0x000074fe9ae785dc in g_closure_invoke (closure=0x63e8a85a14b0, 
return_value=0x0, n_param_values=3, param_values=0x7ffdf4b7fc50, 
invocation_hint=0x7ffdf4b7fba0) at ../../../gobject/gclosure.c:916
-         marshal = 0x74fe9a8a7cc0 <_g_cclosure_marshal_VOID__VARIANT_BOXED>
-         marshal_data = 0x0
-         in_marshal = 0
-         reffed_flags = {flags = {ref_count = 2, meta_marshal_nouse = 0, 
n_guards = 0, n_fnotifiers = 0, n_inotifiers = 0, in_inotify = 0, floating = 0, 
derivative_flag = 0, in_marshal = 0, is_invalid = 0}, closure = {ref_count = 2, 
meta_marshal_nouse = 0, n_guards = 0, n_fnotifiers = 0, n_inotifiers = 0, 
in_inotify = 0, floating = 0, derivative_flag = 0, in_marshal = 0, is_invalid = 
0, marshal = 0x0, data = 0x0, notifiers = 0x0}, atomic_int = 2}
-         real_closure = 0x63e8a85a1490
-         __func__ = "g_closure_invoke"
+         marshal = 0x74fe9a8a7cc0 <_g_cclosure_marshal_VOID__VARIANT_BOXED>
+         marshal_data = 0x0
+         in_marshal = 0
+         reffed_flags = {flags = {ref_count = 2, meta_marshal_nouse = 0, 
n_guards = 0, n_fnotifiers = 0, n_inotifiers = 0, in_inotify = 0, floating = 0, 
derivative_flag = 0, in_marshal = 0, is_invalid = 0}, closure = {ref_count = 2, 
meta_marshal_nouse = 0, n_guards = 0, n_fnotifiers = 0, n_inotifiers = 0, 
in_inotify = 0, floating = 0, derivative_flag = 0, in_marshal = 0, is_invalid = 
0, marshal = 0x0, data = 0x0, notifiers = 0x0}, atomic_int = 2}
+         real_closure = 0x63e8a85a1490
+         __func__ = "g_closure_invoke"
  #16 0x000074fe9ae96e09 in signal_emit_unlocked_R 
(node=node@entry=0x7ffdf4b7fd90, detail=detail@entry=0, 
instance=instance@entry=0x63e8a8781870, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffdf4b7fc50) at 
../../../gobject/gsignal.c:3903
-         tmp = <optimized out>
-         handler = 0x63e8a866b260
-         accumulator = <optimized out>
-         emission = {next = 0x0, instance = 0x63e8a8781870, ihint = {signal_id 
= 11, 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 = 0x63e8a866b260
-         return_accu = <optimized out>
-         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 = <optimized out>
-         max_sequential_handler_number = <optimized out>
-         return_value_altered = <optimized out>
-         n_params = <optimized out>
-         EMIT_RESTART = <optimized out>
-         __func__ = <optimized out>
+         tmp = <optimized out>
+         handler = 0x63e8a866b260
+         accumulator = <optimized out>
+         emission = {next = 0x0, instance = 0x63e8a8781870, ihint = {signal_id 
= 11, 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 = 0x63e8a866b260
+         return_accu = <optimized out>
+         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 = <optimized out>
+         max_sequential_handler_number = <optimized out>
+         return_value_altered = <optimized out>
+         n_params = <optimized out>
+         EMIT_RESTART = <optimized out>
+         __func__ = <optimized out>
  #17 0x000074fe9ae98da6 in signal_emit_valist_unlocked 
(instance=instance@entry=0x63e8a8781870, signal_id=signal_id@entry=11, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffdf4b7fef0) at 
../../../gobject/gsignal.c:3535
-         instance_and_params = <optimized out>
-         param_values = <optimized out>
-         node = <optimized out>
-         i = <optimized out>
-         node_copy = <optimized out>
-         __func__ = "signal_emit_valist_unlocked"
+         instance_and_params = <optimized out>
+         param_values = <optimized out>
+         node = <optimized out>
+         i = <optimized out>
+         node_copy = <optimized out>
+         __func__ = "signal_emit_valist_unlocked"
  #18 0x000074fe9ae99008 in g_signal_emit_valist (instance=0x63e8a8781870, 
signal_id=11, detail=0, var_args=var_args@entry=0x7ffdf4b7fef0) at 
../../../gobject/gsignal.c:3278
  No locals.
  #19 0x000074fe9ae990c3 in g_signal_emit 
(instance=instance@entry=0x63e8a8781870, signal_id=<optimized out>, 
detail=detail@entry=0) at ../../../gobject/gsignal.c:3598
-         var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7ffd0, reg_save_area = 0x7ffdf4b7ff10}}
+         var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 
0x7ffdf4b7ffd0, reg_save_area = 0x7ffdf4b7ff10}}
  #20 0x000074fe9a9504e1 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=0x63e8a8774960) at 
../../../gio/gdbusproxy.c:1088
-         proxy_weak = 0x63e8a8774960
-         emit_g_signal = <optimized out>
-         proxy = 0x63e8a8781870
-         interface_name_for_signal = 0x63e8a8e92fa0 
"org.freedesktop.login1.Manager"
-         changed_properties = 0x74fe840218b0
-         invalidated_properties = 0x74fe84021aa0
-         iter = {x = {128636485245104, 1, 1, 0, 140728709152832, 
8877931862862203392, 140728709152864, 3579507750, 128636869280640, 
140728709152896, 140728709152944, 128636868192169, 128636490071856, 
3722884892668912, 109850895266384, 128636490071808}}
-         key = 0x74fe84337170 "\367f\353\313\371t"
-         value = 0x63e8b192d030
-         n = <optimized out>
+         proxy_weak = 0x63e8a8774960
+         emit_g_signal = <optimized out>
+         proxy = 0x63e8a8781870
+         interface_name_for_signal = 0x63e8a8e92fa0 
"org.freedesktop.login1.Manager"
+         changed_properties = 0x74fe840218b0
+         invalidated_properties = 0x74fe84021aa0
+         iter = {x = {128636485245104, 1, 1, 0, 140728709152832, 
8877931862862203392, 140728709152864, 3579507750, 128636869280640, 
140728709152896, 140728709152944, 128636868192169, 128636490071856, 
3722884892668912, 109850895266384, 128636490071808}}
+         key = 0x74fe84337170 "\367f\353\313\371t"
+         value = 0x63e8b192d030
+         n = <optimized out>
  #21 0x000074fe9a938130 in emit_signal_instance_in_idle_cb 
(data=0x74fe84445190) at ../../../gio/gdbusconnection.c:4207
-         signal_instance = 0x74fe84445190
-         parameters = 0x74fe8400b350
-         has_subscription = 1
+         signal_instance = 0x74fe84445190
+         parameters = 0x74fe8400b350
+         has_subscription = 1
  #22 0x000074fe9ad6abfb in g_main_dispatch (context=0x63e8a79692b0) at 
../../../glib/gmain.c:3565
-         user_data = 0x74fe84445190
-         callback = 0x74fe9a9380b0 <emit_signal_instance_in_idle_cb>
-         gaig_temp = <optimized out>
-         gaig_temp = <optimized out>
-         cb_data = 0x74fe84335f80
-         need_destroy = <optimized out>
-         dispatch = 0x74fe9ad67110 <g_idle_dispatch>
-         prev_source = 0x0
-         was_in_call = 0
-         cb_funcs = 0x74fe9ae60380 <g_source_callback_funcs>
-         begin_time_nsec = 335456205528525
-         source = 0x74fe84225d10
-         current = 0x63e8a792e6d0
-         i = 2
-         __func__ = "g_main_dispatch"
+         user_data = 0x74fe84445190
+         callback = 0x74fe9a9380b0 <emit_signal_instance_in_idle_cb>
+         gaig_temp = <optimized out>
+         gaig_temp = <optimized out>
+         cb_data = 0x74fe84335f80
+         need_destroy = <optimized out>
+         dispatch = 0x74fe9ad67110 <g_idle_dispatch>
+         prev_source = 0x0
+         was_in_call = 0
+         cb_funcs = 0x74fe9ae60380 <g_source_callback_funcs>
+         begin_time_nsec = 335456205528525
+         source = 0x74fe84225d10
+         current = 0x63e8a792e6d0
+         i = 2
+         __func__ = "g_main_dispatch"
  
- 
- See also: 
https://errors.ubuntu.com/problem/f49b55e94c950a360b187ce6b70aadc7ef70b188
+ See also:
+ https://errors.ubuntu.com/problem/f49b55e94c950a360b187ce6b70aadc7ef70b188

** Changed in: mutter (Ubuntu Noble)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2130619

Title:
  Mutter may crash during output/VT changes

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2130619/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to