Guake / guake

Drop-down terminal for GNOME
https://guake.github.io
GNU General Public License v2.0
4.37k stars 577 forks source link

Guake Crashes on open after changing preferences #2201

Closed tblommel closed 9 months ago

tblommel commented 9 months ago

I installed Guake using apt-get and was able to use it just fine, however after changing preferences and closing the application, I now get the following output when trying to launch. I just updated to Ubuntu 22.04.3 LTS

(base) thomas@LaptopInspiron:~$ guake Guake not running, starting it Loading Gnome schema from: /usr/share/glib-2.0/schemas Language previously loaded from: /usr/share/locale Guake Terminal 3.10 VTE 0.68.0 Gtk 3.24.33 created fresh notebook for workspace 0 Spawning new terminal at /home/thomas current workspace is 0 can't bind show-focus key Traceback (most recent call last): File "/usr/lib/python3/dist-packages/dbus/bus.py", line 177, in activate_name_owner return self.get_name_owner(bus_name) File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH, File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking reply_message = self.send_message_with_reply_and_block( dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.guake3.RemoteControl': no such name

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/guake/main.py", line 479, in main remote_object = bus.get_object(DBUS_NAME, DBUS_PATH) File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object return self.ProxyObjectClass(self, bus_name, object_path, File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 250, in init self._named_service = conn.activate_name_owner(bus_name) File "/usr/lib/python3/dist-packages/dbus/bus.py", line 182, in activate_name_owner self.start_service_by_name(bus_name) File "/usr/lib/python3/dist-packages/dbus/bus.py", line 277, in start_service_by_name return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH, File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking reply_message = self.send_message_with_reply_and_block( dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.guake3.RemoteControl was not provided by any .service files

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/guake", line 33, in sys.exit(load_entry_point('guake==3.10', 'console_scripts', 'guake')()) File "/usr/lib/python3/dist-packages/guake/main.py", line 664, in exec_main if not main(): File "/usr/lib/python3/dist-packages/guake/main.py", line 495, in main instance = Guake() File "/usr/lib/python3/dist-packages/guake/guake_app.py", line 249, in init self.load_config() File "/usr/lib/python3/dist-packages/guake/guake_app.py", line 852, in load_config self.settings.general.triggerOnChangedValue(self.settings.general, "background-image-file") File "/usr/lib/python3/dist-packages/guake/settings.py", line 119, in triggerOnChangedValue func(settings, key, user_data) File "/usr/lib/python3/dist-packages/guake/gsettings.py", line 185, in background_image_file_changed self.guake.background_image_manager.load_from_file(settings.get_string(key)) File "/usr/lib/python3/dist-packages/guake/utils.py", line 399, in load_from_file surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, pixbuf.get_width(), pixbuf.get_height()) AttributeError: 'NoneType' object has no attribute 'get_width'

Here is the results of guake --support:

(base) thomas@LaptopInspiron:~$ guake --support

$ guake --support Guake Version: 3.10 Vte Version: 0.68.0 Vte Runtime Version: 0.68.0 -------------------------------------------------- GTK+ Version: 3.24.33 GDK Backend:
tblommel commented 9 months ago

After playing around for a little longer I seem to have found the issue. I first reset my user preferences by finding the guake directory in dconf-editor and selecting Reset recursively. This allowed me to run guake again. I can reproduce the issue reliably by uploading a non-image file to the Background image section. When I close guake and then try to restart it the issue appears. I was able to break guake while placing an .mp4 and a .pdf file, but a .png file works just fine and does not cause issues.

I guess the solution could be to not have your users be dumb and upload non-image files

Davidy22 commented 8 months ago

Made an issue for this at #2205 to track this.