linuxmint / xapp

Cross-desktop libraries and common resources
GNU Lesser General Public License v3.0
126 stars 44 forks source link

xapp_kbd_layout_controller_get_current_group assertion fails #63

Open pviotti opened 5 years ago

pviotti commented 5 years ago

Hi there,

at a seemingly random point during the Cinnamon session the keyboard layout applet disappears and cannot be loaded anymore. The keyboard shortcut to switch between layouts stops working too.
I think this is due to something going wrong in xapp-kbd-layout-controller. Here's some suspicious error log in .xsession-error:

Cjs-Message: 19:13:16.380: JS LOG: Unknown network device type, is 14
Cjs-Message: 19:13:16.392: JS LOG: Unknown network device type, is 13
Cjs-Message: 19:13:16.392: JS LOG: Unknown network device type, is 13
Cinnamon warning: Log level 8: xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed

(cinnamon:1043): Cjs-WARNING **: 19:13:45.953: JS ERROR: TypeError: item is undefined
_syncGroup@/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js:265:9

Cinnamon warning: Log level 8: xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed

(cinnamon:1043): Cjs-WARNING **: 19:13:45.954: JS ERROR: TypeError: item is undefined
_syncGroup@/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js:265:9

Cinnamon warning: Log level 8: xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed

(cinnamon:1043): Cjs-WARNING **: 19:13:45.954: JS ERROR: TypeError: item is undefined
_syncGroup@/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js:265:9

Cinnamon warning: Log level 8: xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed

(cinnamon:1043): Cjs-WARNING **: 19:13:45.954: JS ERROR: TypeError: item is undefined
_syncGroup@/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js:269:9

Cinnamon warning: Log level 8: xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed

(cinnamon:1043): Cjs-WARNING **: 19:13:45.954: JS ERROR: TypeError: item is undefined
_syncGroup@/usr/share/cinnamon/applets/keyboard@cinnamon.org/applet.js:269:9

(cinnamon:1043): Cjs-CRITICAL **: 19:13:47.841: JS ERROR: SyntaxError: unterminated character class @ /usr/share/cinnamon/js/misc/fileUtils.js line 210 > Function:3251

The main culprit being xapp_kbd_layout_controller_get_current_group: assertion 'controller->priv->enabled' failed. Why did that assertion fail? What can be done about it?

My configuration:

mtwebster commented 4 years ago

Hi, sorry for taking so long to look at this - the only thing that would cause that is for there to be suddenly only 1 layout. I'm not sure how this happens (we're riding on top of libgnomekbd here, which in turn gets the current layouts from the display server).

I can prevent the warnings/errors easily enough, but it wouldn't help you any, the applet would still disappear (it does this automatically when only a single layout is available)

I'm leaving my applet active here and I'll continue to monitor it.