linuxmint / cinnamon-control-center

A collection of configuration plugins used in cinnamon-settings
GNU General Public License v2.0
62 stars 65 forks source link

Compatibility issue with libgnomekbd 3.28 #299

Closed vdcow closed 2 years ago

vdcow commented 2 years ago
 * cinnamon-control-center - 5.2.6
 * Distribution - Alt Linux Sisyphus

Issue After the update to libgnomekbd 3.28 cinnamon-control-center build fails with the following error

./panels/region/cinnamon-region-panel-xkb.c:69:27: error: ‘GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP’ undeclared (first use in this function)
   69 |                           GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP);

This happens because of the following change

https://gitlab.gnome.org/GNOME/libgnomekbd/-/commit/b85937388ed9aa2a69d5ec842bc94a45e49480fa

Note that existing pull-request https://github.com/linuxmint/cinnamon-control-center/pull/297 fixes the build but doesn't fix the compatibility - cinnamon-settings crashes when loading Keyboard module.

mtwebster commented 2 years ago

If I build with #297 cinnamon-settings seems to work fine - what sort of error is it?

vdcow commented 2 years ago

@mtwebster It crashes with the following backtrace

Thread 1 "cinnamon-settin" received signal SIGSEGV, Segmentation fault.
0x00007fffef6a04b1 in xkl_engine_constructor (type=<optimized out>, n_construct_properties=<optimized out>, construct_properties=<optimized out>) at xklavier.c:669
669     xkl_engine_priv(engine, root_window) = RootWindow(display, scr);
(gdb) bt
#0  0x00007fffef6a04b1 in xkl_engine_constructor (type=<optimized out>, n_construct_properties=<optimized out>, construct_properties=<optimized out>)
    at xklavier.c:669
#1  0x00007ffff7712279 in g_object_new_with_custom_constructor (n_params=1, params=0x7fffffffb9e0, class=0x5555566b9c60) at ../gobject/gobject.c:1919
#2  g_object_new_internal (class=class@entry=0x5555566b9c60, params=params@entry=0x7fffffffb9e0, n_params=n_params@entry=1) at ../gobject/gobject.c:2009
#3  0x00007ffff7713acd in g_object_new_valist (object_type=<optimized out>, first_property_name=first_property_name@entry=0x7fffef6ab3bf "display", 
    var_args=var_args@entry=0x7fffffffbcb0) at ../gobject/gobject.c:2355
#4  0x00007ffff7713fc9 in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x7fffef6ab3bf "display")
    at ../gobject/gobject.c:1824
#5  0x00007fffef69fefe in xkl_engine_get_instance (display=0x555555d39810) at xklavier.c:230
#6  0x00007fffed54ce74 in setup_xkb_tabs (dialog=0x5555566e1230) at ../panels/region/cinnamon-region-panel-xkb.c:119
#7  0x00007fffed54d345 in cc_region_panel_init (self=0x5555565909d0) at ../panels/region/cc-region-panel.c:92
<not relevant part of backtrace>
WolleTD commented 2 years ago

I am able to open the keyboard settings (I am still running my build including both PRs). Is there anything else I have to do to reproduce this?

Is your own build crashing or the released binary? Or both?

vdcow commented 2 years ago

I am able to open the keyboard settings (I am still running my build including both PRs). Is there anything else I have to do to reproduce this?

Is your own build crashing or the released binary? Or both?

It is my build (I am Cinnamon maintainer in Alt Linux). It is vanilla 5.4.6 + your patches.

vdcow commented 2 years ago

Sorry, I have found the issue - I tested the build under the Gnome + Wayland. It works in Cinnamon. Sorry, for noise.