keyboard settings flooded .xsession-errors, filling up hard drive. The repeated errors from the bottom of .xsession-errors.old were: (xfce4-keyboard-settings:7185): GLib-GObject-WARNING **: 20:52:00.444: invalid unclassed pointer in cast to 'GtkDialog' (xfce4-keyboard-settings:7185): Gtk-CRITICAL **: 20:52:00.444: IA__gtk_dialog_run: assertion 'GTK_IS_DIALOG (dialog)' failed (xfce4-keyboard-settings:7185): xfce4-keyboard-settings-CRITICAL **: 20:52:00.444: command_dialog_get_command: assertion 'IS_COMMAND_DIALOG (dialog)' failed (xfce4-keyboard-settings:7185): GLib-CRITICAL **: 20:52:00.444: g_utf8_strlen: assertion 'p != NULL || max == 0' failed (xfce4-keyboard-settings:7185): GLib-GObject-WARNING **: 20:52:00.444: invalid unclassed pointer in cast to 'GtkWindow' (xfce4-keyboard-settings:7185): libxfce4ui-CRITICAL **: 20:52:00.444: IA__xfce_dialog_show_error: assertion 'parent == NULL || GTK_IS_WINDOW (parent)' failed xfce4-keyboard-settings -v xfce4-keyboard-settings 4.12.4 (Xfce 4.12) Ubuntu 18.04 [Xubuntu]
Any idea what could have triggered it? The listed function calls are used then adding or editing keyboard shortcut commands. Also, I noticed that there is some code duplication in the relevant code parts: https://git.xfce.org/xfce/xfce4-settings/tree/dialogs/keyboard-settings/xfce-keyboard-settings.c?h=xfce-4.14#n995 https://git.xfce.org/xfce/xfce4-settings/tree/dialogs/keyboard-settings/xfce-keyboard-settings.c?h=xfce-4.14#n1099 That exact do-loop is already present in command_dialog_run(): https://git.xfce.org/xfce/xfce4-settings/tree/dialogs/keyboard-settings/command-dialog.c?h=xfce-4.12#n221
Small correction of the last link: https://git.xfce.org/xfce/xfce4-settings/tree/dialogs/keyboard-settings/command-dialog.c?h=xfce-4.14#n221
I was editing keyboard shortcut commands, trying to get a standby shortcut working.
I'll attach the 1st 300 lines of .xsessions-errors It seems to start with some msgs like this: (xfce4-session:1947): Gtk-CRITICAL **: 13:26:52.041: IA__gtk_widget_set_visible: assertion 'GTK_IS_WIDGET (widget)' failed (nm-applet:1995): Gtk-CRITICAL **: 13:26:58.988: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
Created attachment 9567 The 1st 300 lines of the 111 gbyte file .xsessions-errors file
Log entries related to xfce4-session or nm-applet are probably not relevant. My guess would be that checking for response != GTK_RESPONSE_CANCEL in command-dialog.c may be the reason why the loop never ends in case of failure.
I just played around with the keyboard application shortcuts (add, edit, remove), similar to what I was doing the other night, but can't duplicate the problem.
Created attachment 9574 diff Neither can I reproduce the problem. I have attached a diff which contains the proposed code changes from my previous comments.
Theo Linkspfeifer referenced this bugreport in commit 9d9ea6cbede290a96d0bb6a779d932e7693bb10c keyboard-settings: Fix log flood (bug #16521) https://git.xfce.org/xfce/xfce4-settings/commit?id=9d9ea6cbede290a96d0bb6a779d932e7693bb10c
Theo Linkspfeifer referenced this bugreport in commit 3269d5fd8a251434fd2dea9aa234e665288fdc84 keyboard-settings: Fix log flood (bug #16521) https://git.xfce.org/xfce/xfce4-settings/commit?id=3269d5fd8a251434fd2dea9aa234e665288fdc84
Patch looks good. Applied to master and 4.14 above. Thanks!