jendrikseipp / rednotebook

RedNotebook is a cross-platform journal
https://rednotebook.app
GNU General Public License v2.0
477 stars 109 forks source link

RNB buttons crash my Gnome session #749

Open hinz1 opened 4 months ago

hinz1 commented 4 months ago

Discussed in https://github.com/jendrikseipp/rednotebook/discussions/748

Originally posted by **hinz1** February 23, 2024 Hi all. Since a couple of days, when I use one of the Template or Insert keys on top of the Journal pane, my Desktop freezes, blanks and I find myself back at the login prompt. This is a rather dramatic effect for clicking on a standard UI element in an application, I think. I use a quite freshly installed Ubuntu 22.04 Jammy with a standard Gnome desktop. RNB version 2.24 from the Ubuntu Repo. Did anyone else experience this or might even have hints to a solution? I mean, I can work fine as long as I remember to stay away from those buttons, buuut... Best, Markus
jendrikseipp commented 4 months ago

Thanks for the report! Can you run RedNotebook from the command line and paste the error output here? Or is there nothing to retrieve?

Does it still happen with the latest version from the Ubuntu PPA?

hinz1 commented 4 months ago

Hello Jendrik.

I didn't know there was a PPA, I'll switch to it asap. At the moment I use the off-the-shelf Ubuntu version.

As for the startup log: there's a suspicious GTK-Crit, maybe? Here's the relevant part, everything below that looks normal.

Adding /usr/share/rednotebook to sys.path
2024-02-28 09:03:02,171 INFO     Writing log to file "/home/xx/.rednotebook/rednotebook.log"
2024-02-28 09:03:02,171 INFO     System encoding: utf-8
2024-02-28 09:03:02,171 INFO     Language code: de_DE
2024-02-28 09:03:02,255 INFO     Running in portable mode: False
2024-02-28 09:03:02,255 INFO     First Start: False
2024-02-28 09:03:02,255 INFO     RedNotebook version: 2.24
2024-02-28 09:03:02,256 INFO     System info: machine: x86_64, platform: Linux-6.5.0-21-generic-x86_64-with-glibc2.35, processor: x86_64, python_version: 3.10.12, release: 6.5.0-21-generic, system: Linux, GTK: (3, 24, 33), Glib: (2, 71, 3), PyGObject: (3, 42, 1), YAML: 5.4.1

(rednotebook:7042): Gtk-WARNING **: 09:03:02.331: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.331: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.359: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.359: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.381: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.382: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.413: Content added to the action area of a dialog using header bars

(rednotebook:7042): Gtk-WARNING **: 09:03:02.413: Content added to the action area of a dialog using header bars
2024-02-28 09:03:02,422 DEBUG    Default font: Ubuntu 11
2024-02-28 09:03:02,422 DEBUG    Default size: 11.0
2024-02-28 09:03:02,532 INFO     Cloud ignore list: ['filtere', 'diese', 'kommaseparierten', 'wörter', 'und', '#tags']
2024-02-28 09:03:02,532 INFO     Cloud include list: ['mtv', 'spam', 'job', 'juli']
2024-02-28 09:03:02,532 DEBUG    Start compiling regexes
2024-02-28 09:03:02,532 DEBUG    Finished
2024-02-28 09:03:02,538 DEBUG    Tray icon visible: False

(rednotebook:7042): Gtk-CRITICAL **: 09:03:02.538: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
2024-02-28 09:03:02,538 INFO     Opening journal at '/home/xx/crypt/rnb'
2024-02-28 09:03:02,538 DEBUG    Starting to load files in dir "/home/xx/crypt/rnb"
2024-02-28 09:03:02,539 DEBUG    Loading file "/home/xx/crypt/rnb/2000-01.txt"
...

And, btw. thank you for your work, I use RNB daily, and in its function as my brain swap space it saved me several times already.

Best, Markus

hinz1 commented 4 months ago

Ok, I switched to 2.32 from the PPA. The "Templates" button didn't crash my session (just a short freeze), but it didn't do anything either. stderr gave me this:

Gdk-Message: 09:17:56.145: Window 0x5654c5b1f220 is a temporary window without parent, application will not be able to position it on screen.

(rednotebook:10444): Gdk-CRITICAL **: 09:17:56.151: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed

Hope it helps, Markus

hinz1 commented 4 months ago

The "Insert stuff" button didn't do anything either, the "Format" one finally dumped me to the login screen. Here's the stderr-Log:

/usr/share/rednotebook/rednotebook/util/filesystem.py:59: PyGIWarning: WebKit2 was imported without specifying a version first. Use gi.require_version('WebKit2', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import WebKit2

(rednotebook:14254): Gtk-CRITICAL **: 09:23:37.588: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
Gdk-Message: 09:23:55.781: Window 0x562a3859f1f0 is a temporary window without parent, application will not be able to position it on screen.

(rednotebook:14254): Gdk-CRITICAL **: 09:23:55.788: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
Gdk-Message: 09:24:00.324: Window 0x562a385a3a30 is a temporary window without parent, application will not be able to position it on screen.
Gdk-Message: 09:24:01.416: Error reading events from display: Datenübergabe unterbrochen (broken pipe)
Gdk-Message: 09:24:01.416: Error flushing display: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt
Gdk-Message: 09:24:01.417: Error reading events from display: Datenübergabe unterbrochen (broken pipe)

...and the one from stdout:

INFO     Using GtkSourceView 4
Adding /usr/share/rednotebook to sys.path
INFO     Available versions of the WebKit2 namespace: ['4.0']
WARNING  WebKit2 4.1 not found. Trying to use arbitrary version. Error message: 'Namespace WebKit2 not available for version 4.1'
INFO     Loaded version of the WebKit2 namespace: 4.0
INFO     Locale path: /usr/share/locale
2024-02-28 09:23:37,257 INFO     Writing log to file "/home/xx/.rednotebook/rednotebook.log"
2024-02-28 09:23:37,257 INFO     System encoding: utf-8
2024-02-28 09:23:37,257 INFO     Language code: de_DE
2024-02-28 09:23:37,264 INFO     Spell checking languages: ['de_AT', 'de_AT_frami', 'de_CH', 'de_CH_frami', 'de_DE', 'de_DE_frami', 'en', 'en_AU', 'en_CA', 'en_GB', 'en_US']
2024-02-28 09:23:37,264 INFO     Spell checking dictionaries: [('de_AT', <Enchant: Hunspell Provider>), ('de_AT_frami', <Enchant: Hunspell Provider>), ('de_CH', <Enchant: Hunspell Provider>), ('de_CH_frami', <Enchant: Hunspell Provider>), ('de_DE', <Enchant: Hunspell Provider>), ('de_DE_frami', <Enchant: Hunspell Provider>), ('en', <Enchant: Aspell Provider>), ('en_AU', <Enchant: Aspell Provider>), ('en_CA', <Enchant: Aspell Provider>), ('en_GB', <Enchant: Aspell Provider>), ('en_US', <Enchant: Aspell Provider>)]
2024-02-28 09:23:37,336 INFO     Using LibYAML
2024-02-28 09:23:37,337 INFO     Connected Signals: [<Signals.SIGHUP: 1>, <Signals.SIGINT: 2>, <Signals.SIGQUIT: 3>, <Signals.SIGABRT: 6>, <Signals.SIGTERM: 15>, <Signals.SIGTSTP: 20>]
2024-02-28 09:23:37,339 INFO     Running in portable mode: False
2024-02-28 09:23:37,339 INFO     First Start: False
2024-02-28 09:23:37,339 INFO     RedNotebook version: 2.32
2024-02-28 09:23:37,340 INFO     System info: machine: x86_64, platform: Linux-6.5.0-21-generic-x86_64-with-glibc2.35, processor: x86_64, python_version: 3.10.12, release: 6.5.0-21-generic, system: Linux, GTK: (3, 24, 33), Glib: (2, 71, 3), PyGObject: (3, 42, 1), YAML: 5.4.1, WebKit2: (2, 42, 5)
2024-02-28 09:23:37,492 DEBUG    Default font: Ubuntu 11
2024-02-28 09:23:37,492 DEBUG    Default size: 11.0
2024-02-28 09:23:37,582 INFO     Cloud ignore list: ['filtere', 'diese', 'kommaseparierten', 'wörter', 'und', '#tags']
2024-02-28 09:23:37,582 INFO     Cloud include list: ['mtv', 'spam', 'job', 'juli']
2024-02-28 09:23:37,582 DEBUG    Start compiling regexes
2024-02-28 09:23:37,583 DEBUG    Finished
2024-02-28 09:23:37,588 DEBUG    Tray icon visible: False
2024-02-28 09:23:37,589 INFO     Opening journal at '/home/xx/crypt/rnb'
2024-02-28 09:23:37,589 DEBUG    Starting to load files in dir "/home/xx/crypt/rnb"
2024-02-28 09:23:37,589 DEBUG    Loading file "/home/xx/crypt/rnb/2000-01.txt"
2024-02-28 09:23:37,589 DEBUG    Loading file "/home/xx/crypt/rnb/2000-02.txt"
2024-02-28 09:23:37,589 DEBUG    Loading file "/home/xx/crypt/rnb/2019-03.txt"
2024-02-28 09:23:37,590 DEBUG    Loading file "/home/xx/crypt/rnb/2019-04.txt"
2024-02-28 09:23:37,590 DEBUG    Loading file "/home/xx/crypt/rnb/2019-05.txt"
2024-02-28 09:23:37,590 DEBUG    Loading file "/home/xx/crypt/rnb/2019-06.txt"
2024-02-28 09:23:37,591 DEBUG    Loading file "/home/xx/crypt/rnb/2019-07.txt"
2024-02-28 09:23:37,591 DEBUG    Loading file "/home/xx/crypt/rnb/2019-08.txt"
2024-02-28 09:23:37,592 DEBUG    Loading file "/home/xx/crypt/rnb/2019-09.txt"
2024-02-28 09:23:37,592 DEBUG    Loading file "/home/xx/crypt/rnb/2019-10.txt"
2024-02-28 09:23:37,593 DEBUG    Loading file "/home/xx/crypt/rnb/2019-11.txt"
2024-02-28 09:23:37,594 DEBUG    Loading file "/home/xx/crypt/rnb/2019-12.txt"
2024-02-28 09:23:37,594 DEBUG    Loading file "/home/xx/crypt/rnb/2020-01.txt"
2024-02-28 09:23:37,595 DEBUG    Loading file "/home/xx/crypt/rnb/2020-02.txt"
2024-02-28 09:23:37,595 DEBUG    Loading file "/home/xx/crypt/rnb/2020-03.txt"
2024-02-28 09:23:37,596 DEBUG    Loading file "/home/xx/crypt/rnb/2020-04.txt"
2024-02-28 09:23:37,597 DEBUG    Loading file "/home/xx/crypt/rnb/2020-05.txt"
2024-02-28 09:23:37,597 DEBUG    Loading file "/home/xx/crypt/rnb/2020-06.txt"
2024-02-28 09:23:37,598 DEBUG    Loading file "/home/xx/crypt/rnb/2020-07.txt"
2024-02-28 09:23:37,599 DEBUG    Loading file "/home/xx/crypt/rnb/2020-08.txt"
2024-02-28 09:23:37,600 DEBUG    Loading file "/home/xx/crypt/rnb/2020-09.txt"
2024-02-28 09:23:37,601 DEBUG    Loading file "/home/xx/crypt/rnb/2020-10.txt"
2024-02-28 09:23:37,601 DEBUG    Loading file "/home/xx/crypt/rnb/2020-11.txt"
2024-02-28 09:23:37,602 DEBUG    Loading file "/home/xx/crypt/rnb/2020-12.txt"
2024-02-28 09:23:37,602 DEBUG    Loading file "/home/xx/crypt/rnb/2021-01.txt"
2024-02-28 09:23:37,603 DEBUG    Loading file "/home/xx/crypt/rnb/2021-02.txt"
2024-02-28 09:23:37,603 DEBUG    Loading file "/home/xx/crypt/rnb/2021-03.txt"
2024-02-28 09:23:37,604 DEBUG    Loading file "/home/xx/crypt/rnb/2021-04.txt"
2024-02-28 09:23:37,605 DEBUG    Loading file "/home/xx/crypt/rnb/2021-05.txt"
2024-02-28 09:23:37,605 DEBUG    Loading file "/home/xx/crypt/rnb/2021-06.txt"
2024-02-28 09:23:37,606 DEBUG    Loading file "/home/xx/crypt/rnb/2021-07.txt"
2024-02-28 09:23:37,606 DEBUG    Loading file "/home/xx/crypt/rnb/2021-08.txt"
2024-02-28 09:23:37,607 DEBUG    Loading file "/home/xx/crypt/rnb/2021-09.txt"
2024-02-28 09:23:37,607 DEBUG    Loading file "/home/xx/crypt/rnb/2021-10.txt"
2024-02-28 09:23:37,608 DEBUG    Loading file "/home/xx/crypt/rnb/2021-11.txt"
2024-02-28 09:23:37,609 DEBUG    Loading file "/home/xx/crypt/rnb/2021-12.txt"
2024-02-28 09:23:37,610 DEBUG    Loading file "/home/xx/crypt/rnb/2022-01.txt"
2024-02-28 09:23:37,610 DEBUG    Loading file "/home/xx/crypt/rnb/2022-02.txt"
2024-02-28 09:23:37,611 DEBUG    Loading file "/home/xx/crypt/rnb/2022-03.txt"
2024-02-28 09:23:37,612 DEBUG    Loading file "/home/xx/crypt/rnb/2022-04.txt"
2024-02-28 09:23:37,613 DEBUG    Loading file "/home/xx/crypt/rnb/2022-05.txt"
2024-02-28 09:23:37,613 DEBUG    Loading file "/home/xx/crypt/rnb/2022-06.txt"
2024-02-28 09:23:37,614 DEBUG    Loading file "/home/xx/crypt/rnb/2022-07.txt"
2024-02-28 09:23:37,615 DEBUG    Loading file "/home/xx/crypt/rnb/2022-08.txt"
2024-02-28 09:23:37,616 DEBUG    Loading file "/home/xx/crypt/rnb/2022-09.txt"
2024-02-28 09:23:37,616 DEBUG    Loading file "/home/xx/crypt/rnb/2022-10.txt"
2024-02-28 09:23:37,617 DEBUG    Loading file "/home/xx/crypt/rnb/2022-11.txt"
2024-02-28 09:23:37,617 DEBUG    Loading file "/home/xx/crypt/rnb/2022-12.txt"
2024-02-28 09:23:37,618 DEBUG    Loading file "/home/xx/crypt/rnb/2023-01.txt"
2024-02-28 09:23:37,619 DEBUG    Loading file "/home/xx/crypt/rnb/2023-02.txt"
2024-02-28 09:23:37,619 DEBUG    Loading file "/home/xx/crypt/rnb/2023-03.txt"
2024-02-28 09:23:37,620 DEBUG    Loading file "/home/xx/crypt/rnb/2023-04.txt"
2024-02-28 09:23:37,620 DEBUG    Loading file "/home/xx/crypt/rnb/2023-05.txt"
2024-02-28 09:23:37,621 DEBUG    Loading file "/home/xx/crypt/rnb/2023-06.txt"
2024-02-28 09:23:37,621 DEBUG    Loading file "/home/xx/crypt/rnb/2023-07.txt"
2024-02-28 09:23:37,622 DEBUG    Loading file "/home/xx/crypt/rnb/2023-08.txt"
2024-02-28 09:23:37,623 DEBUG    Loading file "/home/xx/crypt/rnb/2023-09.txt"
2024-02-28 09:23:37,623 DEBUG    Loading file "/home/xx/crypt/rnb/2023-10.txt"
2024-02-28 09:23:37,624 DEBUG    Loading file "/home/xx/crypt/rnb/2023-11.txt"
2024-02-28 09:23:37,624 DEBUG    Loading file "/home/xx/crypt/rnb/2023-12.txt"
2024-02-28 09:23:37,625 DEBUG    Loading file "/home/xx/crypt/rnb/2024-01.txt"
2024-02-28 09:23:37,625 DEBUG    Loading file "/home/xx/crypt/rnb/2024-02.txt"
2024-02-28 09:23:37,626 DEBUG    Loading file "/home/xx/crypt/rnb/2024-03.txt"
2024-02-28 09:23:37,626 DEBUG    Finished loading files in dir "/home/xx/crypt/rnb"
2024-02-28 09:23:37,640 DEBUG    Background color: rgb(255,255,255)
2024-02-28 09:23:37,640 DEBUG    Foreground color: rgb(0,0,0)
2024-02-28 09:23:37,641 DEBUG    Add mathjax code: False
2024-02-28 09:23:37,831 DEBUG    Update the cloud
2024-02-28 09:23:38,129 DEBUG    Background color: rgb(255,255,255)
2024-02-28 09:23:38,129 DEBUG    Foreground color: rgb(0,0,0)
2024-02-28 09:23:38,129 DEBUG    Cloud updated
2024-02-28 09:23:38,132 INFO     Last backup was made 7 days ago
jendrikseipp commented 4 months ago

Thanks! Does the error persist when you are in a non-Wayland session?

hinz1 commented 4 months ago

Nope. Everything's fine in Xorg. stderr now just says:

/usr/share/rednotebook/rednotebook/util/filesystem.py:59: PyGIWarning: WebKit2 was imported without specifying a version first. Use gi.require_version('WebKit2', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import WebKit2

Argh. Wayland, again. Canonical is really trying to push me towards switching to Debian. :-| Thanks for looking into it. Guess I'll just stick with Xorg, then.

Best, Markus

jendrikseipp commented 4 months ago

Thanks for testing this! If you know your way around Python and have some spare time, you could try to fix the bug. This would help a lot of users, I assume, since Wayland is now the default in Ubuntu.

hinz1 commented 4 months ago

It is (but not in Debian afaik...). I know some Python from the data analysis and bioinformatics side, but I never had anything to do with GUI development, so I'm probably not the right guy for the task. Anyway, if I wanted to have a look at the code, where would I start?

jendrikseipp commented 4 months ago

Since the format menu is the smallest of the GUI menus, I'd start there. The code is in rednotebook/gui/format_menu.py. Once you have cloned the repo, you can start the application with ./run. I asked phind.com about the code and the error messages and got the following hints: https://www.phind.com/search?cache=jrzlfvbf77hrj4etumccj4x6

hinz1 commented 4 months ago

Thanks, I'll have a look at it out of curiosity, mainly. Never did anything with GTK & friends but who knows, maybe I find something. ;)