Page 1 of 1

FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 12:34 pm
by mr_raider
Can someone figure out why my FAHCOntrol app is crashing? It was working fine until last week:

Code: Select all

mr_raider@HK-47:~$ FAHControl
/usr/lib/python2.7/dist-packages/fah/FAHControl.py:193: GtkWarning: Unable to locate theme engine in module_path: "adwaita",
  settings = gtk.settings_get_default()
Loading theme u'Default'
/usr/lib/python2.7/dist-packages/fah/FAHControl.py:758: GtkWarning: Unable to locate theme engine in module_path: "adwaita",
  gtk.rc_reparse_all_for_settings(settings, True)
Loading theme 'Default'
Segmentation fault
The client works fine since I can control it via the web interface.

I'm using KDE NEON (18.04.4 base) and never had issues before. I have a laptop running the same distro and it runs the FAHcontrol with no issues. I can remotely admin to my main PC using the laptop.

Any ideas?

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 1:11 pm
by berndinger
Wild guess...

Seems the apperance in preferences is set to adwaita.
But maybe the adwaita theme is not installed anymore on your distro..
So install adwaita (again) and try, wether it works....

Addendum,
it seems, the default theme cannot be loaded also...

cheers,
Bernd

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 3:37 pm
by mr_raider
adwaita-icon-theme/bionic,bionic,now 3.28.0-1ubuntu1 all [installed]
default icon theme of GNOME (small subset)

adwaita-icon-theme-full/bionic,bionic,now 3.28.0-1ubuntu1 all [installed]
default icon theme of GNOME

adwaita-qt/bionic,now 1.0-2 amd64 [installed]
Qt 5 port of GNOME’s Adwaita theme

gnome-themes-extra/bionic 3.28-1ubuntu1 amd64
Adwaita GTK+ 2 theme — engine

gnome-themes-extra-data/bionic,bionic 3.28-1ubuntu1 all
Adwaita GTK+ 2 theme — common files

gnome-themes-standard/bionic,bionic 3.28-1ubuntu1 all
Adwaita GTK+ 2 theme — engine - transitional package

gnome-themes-standard-data/bionic,bionic 3.22.3-3ubuntu2 all
Adwaita GTK+ 2 theme — common files

neon-adwaita/bionic,bionic 0.0+p18.04+git20180904.1047 all
Adwaita icon theme override

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 6:17 pm
by Ichbin3
mr_raider wrote: Segmentation fault
For me this sounds like an hardware issue like ram or some loose cable connection.

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 6:27 pm
by bikeaddict
The segmentation fault may not be related to the theme warnings. You could try running FAHControl under strace or python under gdb to what it's doing or get a stacktrace when it crashes.

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 7:08 pm
by mr_raider
bikeaddict wrote:The segmentation fault may not be related to the theme warnings. You could try running FAHControl under strace or python under gdb to what it's doing or get a stacktrace when it crashes.
OK here is the debug:

Code: Select all

(gdb) run FAHControl
Starting program: /usr/bin/python FAHControl
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffec879700 (LWP 13537)]
[New Thread 0x7fffe7be0700 (LWP 13538)]
[New Thread 0x7fffe73df700 (LWP 13539)]
[New Thread 0x7fffe6bde700 (LWP 13540)]
[New Thread 0x7fffe63dd700 (LWP 13541)]
/usr/lib/python2.7/dist-packages/fah/FAHControl.py:193: GtkWarning: Unable to locate theme engine in module_path: "adwaita",
  settings = gtk.settings_get_default()
Loading theme u'Default'
/usr/lib/python2.7/dist-packages/fah/FAHControl.py:758: GtkWarning: Unable to locate theme engine in module_path: "adwaita",
  gtk.rc_reparse_all_for_settings(settings, True)
Loading theme 'Default'

Thread 1 "FAHControl" received signal SIGILL, Illegal instruction.
0x00007fffecaf6210 in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so

Here is the stacktrace:

Code: Select all

(gdb) bt
#0  0x00007fffecaf6210 in  () at /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
#1  0x00007ffff4a8710d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2  0x00007ffff4a9a12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff4aa2715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff4aa312f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff3fd13d8 in gtk_widget_realize () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6  0x00007ffff3fdba5d in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#7  0x00007ffff4a8710d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007ffff4a9a12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4aa2715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4aa312f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff3fd0b96 in gtk_widget_show () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff44f6f5d in  () at /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/_gtk.so
#13 0x000055555564e061 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffde60)
    at ../Python/ceval.c:4360
#14 0x000055555564e061 in PyEval_EvalFrameEx (f=Frame 0x7fffed03b910, for file /usr/lib/python2.7/dist-packages/fah/FAHControl.py, line 1223, in restore (self=<FAHControl(ppd_label=<gtk.Label at remote 0x7fffed0afcd0>, configure_dialog=<gtk.Dialog at remote 0x7fffed0af6e0>, client_notebook=<gtk.Notebook at remote 0x7fffed338e10>, client_entries=<WidgetMap(prefix=None, list=[<gtk.Entry at remote 0x7fffed0cd050>, <gtk.Entry at remote 0x7fffed0cd550>, <gtk.SpinButton at remote 0x7fffed0cd500>, <gtk.Entry at remote 0x7fffed0cdd70>, <gtk.SpinButton at remote 0x7fffed0040a0>], suffix='_entry') at remote 0x7fffed1a7e90>, log_slot_enable=<gtk.CheckButton at remote 0x7fffed01cd70>, error_dialog=None, window=<gtk.Window at remote 0x7fffed0afc80>, about_dialog=<gtk.Dialog at remote 0x7fffed0afaf0>, client_dialog=<gtk.Dialog at remote 0x7fffed0af140>, theme_list=[['Default', None], ['Breeze', '/usr/share/themes/Breeze/gtk-2.0/gtkrc'], ['Breeze-Dark', '/usr/share/themes/Breeze-Dark/gtk-2.0/gtkrc'], ['Raleigh', '/usr/share/themes/Raleigh/gtk-2.0/gt---Type <return> to continue, or q <return> to quit---

Re: FAHControl crashing - Linux

Posted: Mon Jun 22, 2020 7:24 pm
by bikeaddict
Maybe verify the file integrity (dpkg -V or rpm -V) of the gvfs package that installs libgvfsdbus.so or check the changelog to see if it was updated recently.

Re: FAHControl crashing - Linux

Posted: Tue Jun 23, 2020 1:54 pm
by mr_raider
bikeaddict wrote:Maybe verify the file integrity (dpkg -V or rpm -V) of the gvfs package that installs libgvfsdbus.so or check the changelog to see if it was updated recently.
Re-installed gvfs and all the related themes and window decorations for gtk. Still segfaults:

Code: Select all

(gdb) run /usr/bin/FAHControl
Starting program: /usr/bin/python /usr/bin/FAHControl
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeca8b700 (LWP 2495)]
[New Thread 0x7fffe7df2700 (LWP 2496)]
[New Thread 0x7fffe75f1700 (LWP 2497)]
[New Thread 0x7fffe6df0700 (LWP 2498)]
[New Thread 0x7fffe65ef700 (LWP 2499)]
Loading theme 'Default'

Thread 1 "FAHControl" received signal SIGSEGV, Segmentation fault.
0x00007fffecd08210 in ?? ()

Code: Select all

(gdb) bt
#0  0x00007fffecd08210 in  ()
#1  0x00007ffff4a8710d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2  0x00007ffff4a9a12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff4aa2715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff4aa312f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff3fd13d8 in gtk_widget_realize () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6  0x00007ffff3fdba5d in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#7  0x00007ffff4a8710d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007ffff4a9a12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4aa2715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4aa312f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff3fd0b96 in gtk_widget_show () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff44f6f5d in  () at /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/_gtk.so
#13 0x000055555564e061 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffd860) at ../Python/ceval.c:4360
#14 0x000055555564e061 in PyEval_EvalFrameEx (f=Frame 0x7fffed455910, for file /usr/lib/python2.7/dist-packages/fah/FAHControl.py, line 1223, in restore (self=<FAHControl(ppd_label=<gtk.Label at remote 0x7fffed52bbe0>, configure_dialog=<gtk.Dialog at remote 0x7fffed215910>, client_notebook=<gtk.Notebook at remote 0x7fffed53e230>, client_entries=<WidgetMap(prefix=None, list=[<gtk.Entry at remote 0x7fffed538500>, <gtk.Entry at remote 0x7fffed538b40>, <gtk.SpinButton at remote 0x7fffed538e10>, <gtk.Entry at remote 0x7fffed5389b0>, <gtk.SpinButton at remote 0x7fffed53e9b0>], suffix='_entry') at remote 0x7fffed3b6e90>, log_slot_enable=<gtk.CheckButton at remote 0x7fffed534280>, error_dialog=None, window=<gtk.Window at remote 0x7fffed52b9b0>, about_dialog=<gtk.Dialog at remote 0x7fffed52baa0>, client_dialog=<gtk.Dialog at remote 0x7fffed52b8c0>, theme_list=[['Default', None], ['Breeze', '/usr/share/themes/Breeze/gtk-2.0/gtkrc'], ['Breeze-Dark', '/usr/share/themes/Breeze-Dark/gtk-2.0/gtkrc'], ['Raleigh', '/usr/share/themes/Raleigh/gtk-2.0/gtkrc']], client_config_...(truncated), throwflag=0) at ../Python/ceval.c:3013
#15 0x000055555564d926 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffffffd970, func=<optimized out>) at ../Python/ceval.c:4461
#16 0x000055555564d926 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffd970) at ../Python/ceval.c:4396
#17 0x000055555564d926 in PyEval_EvalFrameEx (f=Frame 0x7fffed453430, for file /usr/lib/python2.7/dist-packages/fah/FAHControl.py, line 511, in run (self=<FAHControl(ppd_label=<gtk.Label at remote 0x7fffed52bbe0>, configure_dialog=<gtk.Dialog at remote 0x7fffed215910>, client_notebook=<gtk.Notebook at remote 0x7fffed53e230>, client_entries=<WidgetMap(prefix=None, list=[<gtk.Entry at remote 0x7fffed538500>, <gtk.Entry at remote 0x7fffed538b40>, <gtk.SpinButton at remote 0x7fffed538e10>, <gtk.Entry at remote 0x7fffed5389b0>, <gtk.SpinButton at remote 0x7fffed53e9b0>], suffix='_entry') at remote 0x7fffed3b6e90>, log_slot_enable=<gtk.CheckButton at remote 0x7fffed534280>, error_dialog=None, window=<gtk.Window at remote 0x7fffed52b9b0>, about_dialog=<gtk.Dialog at remote 0x7fffed52baa0>, client_dialog=<gtk.Dialog at remote 0x7fffed52b8c0>, theme_list=[['Default', None], ['Breeze', '/usr/share/themes/Breeze/gtk-2.0/gtkrc'], ['Breeze-Dark', '/usr/share/themes/Breeze-Dark/gtk-2.0/gtkrc'], ['Raleigh', '/usr/share/themes/Raleigh/gtk-2.0/gtkrc']], client_config_noteb...(truncated), throwflag=0) at ../Python/ceval.c:3013
#18 0x000055555564d926 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffffffda80, func=<optimized out>) at ../Python/ceval.c:4461
#19 0x000055555564d926 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffda80) at ../Python/ceval.c:4396
#20 0x000055555564d926 in PyEval_EvalFrameEx (f=Frame 0x7ffff7e659b0, for file /usr/bin/FAHControl, line 80, in <module> (), throwflag=<optimized out>) at ../Python/ceval.c:3013
#21 0x00005555556462aa in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3608
#22 0x0000555555645d19 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:669
#23 0x000055555567694f in run_mod.lto_priv (mod=0x555555bae028, filename=0x7fffffffe20d "/usr/bin/FAHControl", globals={'get_combo_items': <function at remote 0x7fffed2edbd0>, 'OrderedDict': <type at remote 0x555555f71fa0>, 'set_widget_str_value': <function at remote 0x7fffed2edcd0>, 'get_span_markup': <function at remote 0x7fffed2ed350>, 'single_app_host': '127.0.0.1', 'parser': <OptionParser(process_default_values=True, allow_interspersed_args=True, _long_opt={'--exit': <Option(_long_opts=['--exit'], help='Tell the running application to exit', callback_args=None, callback=None, default=('NO', 'DEFAULT'), nargs=None, choices=None, dest='exit', container=<...>, _short_opts=[], action='store_true', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb3c0>, '--help': <Option(_long_opts=['--help'], help='show this help message and exit', callback_args=None, callback=None, default=(...), nargs=None, choices=None, dest=None, container=<...>, _short_opts=['-h'], action='help', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb050>}, largs=[], formatter=<IndentedHelpFormatter...(truncated), locals={'get_combo_items': <function at remote 0x7fffed2edbd0>, 'OrderedDict': <type at remote 0x555555f71fa0>, 'set_widget_str_value': <function at remote 0x7fffed2edcd0>, 'get_span_markup': <function at remote 0x7fffed2ed350>, 'single_app_host': '127.0.0.1', 'parser': <OptionParser(process_default_values=True, allow_interspersed_args=True, _long_opt={'--exit': <Option(_long_opts=['--exit'], help='Tell the running application to exit', callback_args=None, callback=None, default=('NO', 'DEFAULT'), nargs=None, choices=None, dest='exit', container=<...>, _short_opts=[], action='store_true', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb3c0>, '--help': <Option(_long_opts=['--help'], help='show this help message and exit', callback_args=None, callback=None, default=(...), nargs=None, choices=None, dest=None, container=<...>, _short_opts=['-h'], action='help', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb050>}, largs=[], formatter=<IndentedHelpFormatter...(truncated), flags=0x7fffffffdcfc, arena=0x555555b66440) at ../Python/pythonrun.c:1385
#24 0x0000555555671be2 in PyRun_FileExFlags (fp=0x555555b35770, filename=0x7fffffffe20d "/usr/bin/FAHControl", start=257, globals={'get_combo_items': <function at remote 0x7fffed2edbd0>, 'OrderedDict': <type at remote 0x555555f71fa0>, 'set_widget_str_value': <function at remote 0x7fffed2edcd0>, 'get_span_markup': <function at remote 0x7fffed2ed350>, 'single_app_host': '127.0.0.1', 'parser': <OptionParser(process_default_values=True, allow_interspersed_args=True, _long_opt={'--exit': <Option(_long_opts=['--exit'], help='Tell the running application to exit', callback_args=None, callback=None, default=('NO', 'DEFAULT'), nargs=None, choices=None, dest='exit', container=<...>, _short_opts=[], action='store_true', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb3c0>, '--help': <Option(_long_opts=['--help'], help='show this help message and exit', callback_args=None, callback=None, default=(...), nargs=None, choices=None, dest=None, container=<...>, _short_opts=['-h'], action='help', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb050>}, largs=[], formatter=<IndentedHelpFormatter...(truncated), locals={'get_combo_items': <function at remote 0x7fffed2edbd0>, 'OrderedDict': <type at remote 0x555555f71fa0>, 'set_widget_str_value': <function at remote 0x7fffed2edcd0>, 'get_span_markup': <function at remote 0x7fffed2ed350>, 'single_app_host': '127.0.0.1', 'parser': <OptionParser(process_default_values=True, allow_interspersed_args=True, _long_opt={'--exit': <Option(_long_opts=['--exit'], help='Tell the running application to exit', callback_args=None, callback=None, default=('NO', 'DEFAULT'), nargs=None, choices=None, dest='exit', container=<...>, _short_opts=[], action='store_true', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb3c0>, '--help': <Option(_long_opts=['--help'], help='show this help message and exit', callback_args=None, callback=None, default=(...), nargs=None, choices=None, dest=None, container=<...>, _short_opts=['-h'], action='help', const=None, callback_kwargs=None, type=None, metavar=None) at remote 0x7fffed2cb050>}, largs=[], formatter=<IndentedHelpFormatter...(truncated), closeit=1, flags=0x7fffffffdcfc) at ../Python/pythonrun.c:1371
#25 0x000055555567160d in PyRun_SimpleFileExFlags (fp=0x555555b35770, filename=<optimized out>, closeit=1, flags=0x7fffffffdcfc) at ../Python/pythonrun.c:957
#26 0x0000555555620356 in Py_Main (argc=2, argv=<optimized out>) at ../Modules/main.c:645
#27 0x00007ffff7a05b97 in __libc_start_main (main=0x55555561fd30 <main>, argc=2, argv=0x7fffffffdea8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde98) at ../csu/libc-start.c:310
---Type <return> to continue, or q <return> to quit---
#28 0x000055555561fc4a in _start ()

Code: Select all

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/lib/python2.7/dist-packages/fah/FAHControl.py", line 1223, in restore
    self.window.present()
  File "/usr/lib/python2.7/dist-packages/fah/FAHControl.py", line 511, in run
    self.restore()
  File "/usr/bin/FAHControl", line 80, in <module>
    app.run()
Not a python expert but there must be something specific to this install of KDE Neon that was not present in my other PCs that causes the crash.

Re: FAHControl crashing - Linux

Posted: Wed Jun 24, 2020 4:49 pm
by mr_raider
OK problem solved. It had something to do with KDE's menu setup and window decorations. I reset plasma completely to all defaults and now it's working fine.