martinrotter / rssguard

Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
GNU General Public License v3.0
1.64k stars 125 forks source link

[BUG]: App immediately freezes on Gnome 46 with Wayland #1406

Open kimdre opened 6 months ago

kimdre commented 6 months ago

Brief description of the issue

I'm using the flatpack version of 4.6.6 on Fedora with Gnome and Wayland. As soon as I start the App, it immediately freezes and does not respond to any inputs and can only be hard killed. When I start the app in an X11 session, it starts normally.

How to reproduce the bug?

  1. Start app (either with desktop icon or flatpack run command) in an Wayland session in Gnome
  2. App starts and freezes

What was the expected result?

App starts normal and can only be hard killed

What actually happened?

App starts but does not respond. After a while a window appears to kill the app.

Debug log

kim@kim-fedora ~$ flatpak run io.github.martinrotter.rssguard 
time="     0.000" type="debug" -> core: Starting RSS Guard 4.6.6.
time="     0.000" type="debug" -> core: Current UTC date/time is 2024-05-15T20:09:29Z.
time="     0.070" type="debug" -> core: Initializing settings in '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/config/config.ini' (non-portable way).
time="     0.070" type="debug" -> core: Starting to load active localization. Desired localization is 'de_DE'.
time="     0.070" type="debug" -> core: Application localization 'de_DE' loaded successfully, specifically sublocalization 'de' was loaded.
time="     0.071" type="debug" -> core: Qt localization 'de' loaded successfully.
time="     0.233" type="debug" -> database: File-based SQLite database connection 'DatabaseFactory' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.233" type="debug" -> database: File-based SQLite database has version '8'.
time="     0.233" type="debug" -> gui: Available icon theme paths: QList(/app/share/icons, /usr/share/icons, /usr/share/runtime/share/icons, /run/host/user-share/icons, /run/host/share/icons, :/icons, :/graphics, /home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/icons, /app/bin/icons)
time="     0.233" type="debug" -> gui: Icon theme 'Qogir-dark' already loaded.
time="     0.233" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     0.233" type="debug" -> gui: Local file ':/skins/nudus-dark/html_wrapper.html' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Local file ':/skins/nudus-dark/html_style.css' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Base file ':/skins/nudus-base/html_enclosure_image.html' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Base file ':/skins/nudus-base/html_single_message.html' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Base file ':/skins/nudus-base/html_enclosure_every.html' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Local file ':/skins/nudus-dark/qt_style.qss' exists, using it for the skin.
time="     0.234" type="debug" -> gui: Base file ':/skins/nudus-base/html_adblocked.html' exists, using it for the skin.
time="     0.234" type="debug" -> gui: OS defines color scheme: 'Qt::ColorScheme::Dark'.
time="     0.234" type="debug" -> gui: Setting style: 'Adwaita-Dark'.
time="     0.247" type="debug" -> gui: Skin 'nudus-dark' loaded. Lite: 'false'.
time="     0.247" type="warning" -> core: User CSS style was not provided in file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/web/user-styles.css'.
time="     0.247" type="debug" -> network: Persistent web data storage path: '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/web/storage'.
time="     0.247" type="debug" -> network: Disabling application-wide proxy completely.
time="     0.247" type="debug" -> core: SQLite version: '3.42.0'.
time="     0.249" type="debug" -> core: OpenSSL version: 'OpenSSL 3.1.5 30 Jan 2024'.
time="     0.249" type="debug" -> core: OpenSSL supported: 'true'.
time="     0.249" type="debug" -> core: Global thread pool has 16 threads.
time="     0.249" type="debug" -> core: Setting locale for LC_NUMERIC to C as libmpv requires it.
time="     0.249" type="debug" -> core: Instantiated class  'Application'.
time="     0.250" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.251" type="debug" -> message-model: Repopulated model, SQL statement is now:
 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1;'.
time="     0.251" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time="     0.251" type="debug" -> core: Creating FeedDownloader singleton.
time="     0.251" type="debug" -> core: Requesting update for all feeds on application startup.
time="     0.251" type="debug" -> gui: Creating main application form in thread: '0x7f77cc0e2000'.
time="     0.254" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     0.256" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.271" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     0.271" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     0.271" type="debug" -> message-model: Repopulated model, SQL statement is now:
 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1 ORDER BY Messages.date_created DESC, LOWER(Messages.title) ASC;'.
time="     0.272" type="debug" -> core: Showing the main window when the application is starting.
time="     0.279" type="debug" -> database: SQLite database connection 'FeedReader' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'OwnCloudServiceEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.279" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '1'.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '4'.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '5'.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '6'.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '7'.
time="     0.280" type="debug" -> core: Custom ID of feed when loading from DB is '9'.
time="     0.280" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.280" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.280" type="debug" -> database: SQLite database connection 'UnreadNode' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.280" type="debug" -> database: SQLite database connection 'LabelsNode' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.281" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="     0.281" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.281" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/kim/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.281" type="debug" -> gui: User wants to have tray icon.
time="     0.281" type="warning" -> gui: Showing tray icon with little delay.
time="     0.281" type="debug" -> gui: Feed list item expanded - Kim
time="     0.281" type="debug" -> gui: Feed list item expanded - News
time="     0.281" type="debug" -> gui: Feed list item expanded - Hoster
time="     0.281" type="debug" -> gui: Feed list item expanded - Apps
time="     0.281" type="debug" -> core: No execution message received from other app instances.

Operating system and version

guihkx commented 6 months ago

Sigh...

I might have to force XWayland for the Flatpak package until we figure this out.

guihkx commented 6 months ago

I could not reproduce this on a virtual machine with GNOME 46 + Wayland:

https://github.com/martinrotter/rssguard/assets/626206/3b0834d6-f0d4-4263-b106-07e487b0d7f0

@kimdre Can you try to reproduce the problem with 4.7.0?

If the problem persists, try a fresh run? I.e. by renaming or removing ~/.var/app/io.github.martinrotter.rssguard.

If that doesn't work as well, can you share your config.ini here? It's in ~/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/config/.

kimdre commented 6 months ago

Renaming the ~/.var/app/io.github.martinrotter.rssguard did not work unfortunately. RSS Guard just opened with the default settings and design and froze again. Here are my config.ini contents: https://gist.github.com/kimdre/a2122fa3780e9874dcddae1b0c7fcca3

martinrotter commented 6 months ago

Does the same problem happen for Lite version?

kimdre commented 6 months ago

Yes the Lite Version does indeed work.

guihkx commented 6 months ago

Thanks for the config file, but unfortunately I still couldn't reproduce the freezing.

The Lite version not freezing could be a clue, but at the moment it doesn't ring any bells for me...

I can't think of anything obvious to debug this further, except using gdb to perhaps understand where the app freezes...

kimdre commented 6 months ago

I will check it again when Nvidia releases its new v555 driver. Afaik it will solve a couple of issues on Wayland, so maybe this could be also related.

kimdre commented 4 months ago

I just updated to the new nvidia v555 driver but the error is still the same.

guihkx commented 4 months ago

That's unfortunate.

I wish I could help, but it's tricky since I can't reproduce the issue myself. The issue might also be a bit uncommon, since at this point I'd expect more people reporting the same problem, too.

In the meantime, though, I suppose you could override the default Flatpak permissions for the app and run it through XWayland?

kimdre commented 4 months ago

In the meantime, though, I suppose you could override the default Flatpak permissions for the app and run it through XWayland?

Yes, this works. :)