Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: RSS Guard Lite crash on attached images #1449

Open
Neo-CTC opened this issue Jul 4, 2024 · 3 comments
Open

[BUG]: RSS Guard Lite crash on attached images #1449

Neo-CTC opened this issue Jul 4, 2024 · 3 comments
Assignees
Labels
Type-Defect This is BUG!!!

Comments

@Neo-CTC
Copy link

Neo-CTC commented Jul 4, 2024

Brief description of the issue

When rapidly switching between articles with images RSS Guard Lite will crash if not given enough time to load the images in between. Standard RSS Guard does not seem to be affected.

How to reproduce the bug?

  1. Enable Display attachments directly in article in the settings
  2. Load a feed with images, e.g. https://www.astronomy.com/feed/?post_type=potd/
  3. Rapidly switch between articles either by clicking or keyboard keys

What was the expected result?

Pretty pictures of space

What actually happened?

Program dies

Debug log

time="     0.105" type="debug" -> core: Initializing settings in '/tmp/rsstest/config/config.ini' (custom way).
time="     0.105" type="debug" -> core: Starting to load active localization. Desired localization is 'en_US'.
time="     0.105" type="debug" -> core: Application localization 'en_US' loaded successfully, specifically sublocalization 'en_US' was loaded.
time="     0.105" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time="     0.115" type="debug" -> database: File-based SQLite database connection 'DatabaseFactory' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.115" type="debug" -> database: File-based SQLite database has version '8'.
time="     0.115" type="debug" -> gui: Available icon theme paths: QList(/home/neo/.local/share/icons, /usr/share/icons, :/icons, :/graphics, /tmp/rsstest/icons, /usr/bin/icons)
time="     0.116" type="debug" -> gui: Installed icon themes are: '', 'hicolor', 'breeze', 'breeze-dark', 'Adwaita', 'AdwaitaLegacy', 'elementary', 'default', 'Qogir', 'Qogir-dark', 'HighContrast'
time="     0.116" type="debug" -> gui: Loading default system icon theme.
time="     0.116" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     0.116" type="debug" -> gui: Base file ':/skins/nudus-base/html_wrapper.html' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Local file ':/skins/nudus-light/lite_html_style.css' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_enclosure_image.html' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_single_message.html' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_enclosure_every.html' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Local file ':/skins/nudus-light/qt_style.qss' exists, using it for the skin.
time="     0.116" type="debug" -> gui: Base file ':/skins/nudus-base/html_adblocked.html' exists, using it for the skin.
time="     0.116" type="debug" -> gui: OS defines color scheme: 'Qt::ColorScheme::Light'.
time="     0.117" type="debug" -> gui: Setting style: ''.
time="     0.117" type="debug" -> gui: Skin 'nudus-light' loaded. Lite: 'true'.
time="     0.117" type="debug" -> network: Disabling application-wide proxy completely.
time="     0.117" type="debug" -> core: SQLite version: '3.46.0'.
time="     0.121" type="debug" -> core: OpenSSL version: 'OpenSSL 3.3.1 4 Jun 2024'.
time="     0.121" type="debug" -> core: OpenSSL supported: 'true'.
time="     0.121" type="debug" -> core: Global thread pool has 12 threads.
time="     0.121" type="debug" -> core: Setting locale for LC_NUMERIC to C as libmpv requires it.
time="     0.121" type="debug" -> core: Instantiated class  'Application'.
time="     0.122" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.124" 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.124" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time="     0.124" type="debug" -> core: Creating FeedDownloader singleton.
time="     0.124" type="debug" -> gui: Creating main application form in thread: '0x71ee7de68e40'.
time="     0.134" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     0.135" type="debug" -> gui: Article list header geometries changed.
time="     0.139" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.140" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.140" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.150" type="debug" -> gui: Article list header geometries changed.
time="     0.152" type="debug" -> gui: Article list header geometries changed.
time="     0.155" type="debug" -> gui: Article list header geometries changed.
time="     0.157" type="debug" -> gui: Article list header geometries changed.
time="     0.161" type="debug" -> gui: Creating tray icon menu.
time="     0.178" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     0.180" 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;'.
time="     0.187" type="debug" -> core: Showing the main window when the application is starting.
time="     0.189" type="debug" -> gui: Article list header geometries changed.
time="     0.189" type="debug" -> gui: Article list header geometries changed.
time="     0.191" type="debug" -> gui: Article list header geometries changed.
time="     0.195" type="debug" -> database: SQLite database connection 'FeedReader' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.196" type="debug" -> core: Checking for plugins in '/usr/bin/../lib/rssguard'.
time="     0.199" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-feedly.so' loaded.
time="     0.202" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-gmail.so' loaded.
time="     0.206" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-greader.so' loaded.
time="     0.208" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-nextcloud.so' loaded.
time="     0.212" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-standard.so' loaded.
time="     0.214" type="debug" -> core: Plugin '/usr/lib/rssguard/librssguard-ttrss.so' loaded.
time="     0.215" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.215" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.215" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.215" type="debug" -> database: SQLite database connection 'NextcloudServiceEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.215" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.215" type="debug" -> core: Destructing 'std-rss' plugin.
time="     0.216" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.216" type="debug" -> core: Custom ID of feed when loading from DB is '1'.
time="     0.216" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.216" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.216" type="debug" -> database: SQLite database connection 'UnreadNode' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.217" type="debug" -> database: SQLite database connection 'LabelsNode' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.217" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="     0.217" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.217" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     0.217" type="debug" -> gui: User wants to have tray icon.
time="     0.217" type="warning" -> gui: Showing tray icon with little delay.
time="     0.217" type="debug" -> gui: Feed list item expanded - RSS/ATOM/JSON
time="     0.217" type="debug" -> core: No execution message received from other app instances.
time="     0.235" type="debug" -> core: OS asked application to save its state.
time="     2.164" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     2.164" type="debug" -> core: Displaying messages from feeds IDs: ''1'' and URLs: 'https://www.astronomy.com/feed/?post_type=potd/'.
time="     2.165" 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 Feeds.custom_id IN ('1') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.date_created DESC;'.
time="     3.151" type="debug" -> gui: Message list got focus with reason 'Qt::MouseFocusReason'.
time="     3.152" type="debug" -> gui: Current row changed - proxy 'QModelIndex(0,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(0,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     3.154" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     3.157" type="debug" -> database: SQLite connection 'ImportantNode' is already active.
time="     3.157" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/tmp/rsstest/database/database.db' seems to be established.
time="     3.158" type="debug" -> feed-model: There is request to reload feed model, reloading the 1 items individually.
time="     3.176" type="warning" -> gui: Tray icon is available, showing now.
time="     3.179" type="debug" -> gui: Creating SystemTrayIcon instance.
time="     3.181" type="debug" -> gui: Showing tray icon immediately.
time="     3.181" type="debug" -> gui: Tray icon displayed.
time="     3.411" type="warning" -> gui: Picture 'QUrl(https://www.astronomy.com/uploads/2024/06/full-moon-july-2016.jpg)' with width '2047' is too wide, down-scaling to prevent horizontal scrollbars. Scaling took 3 miliseconds.
time="     3.953" type="debug" -> gui: Current row changed - proxy 'QModelIndex(1,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(1,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     3.953" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.019" type="warning" -> gui: Picture 'QUrl(https://www.astronomy.com/uploads/2011/06/Earth-and-a-blackhole.jpg)' with width '1280' is too wide, down-scaling to prevent horizontal scrollbars. Scaling took 2 miliseconds.
time="     4.020" type="info" -> libpng warning: known incorrect sRGB profile
time="     4.020" type="info" -> libpng warning: profile matches sRGB but writing iCCP instead
time="     4.047" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.056" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.066" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.075" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.083" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.091" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.100" type="info" -> libpng warning: iCCP: known incorrect sRGB profile
time="     4.450" type="debug" -> gui: Current row changed - proxy 'QModelIndex(2,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(2,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.451" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.500" type="debug" -> gui: Current row changed - proxy 'QModelIndex(3,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(3,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.501" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.550" type="debug" -> gui: Current row changed - proxy 'QModelIndex(4,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(4,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.551" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.601" type="debug" -> gui: Current row changed - proxy 'QModelIndex(5,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(5,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.601" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.650" type="debug" -> gui: Current row changed - proxy 'QModelIndex(6,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(6,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.651" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.701" type="debug" -> gui: Current row changed - proxy 'QModelIndex(7,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(7,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.701" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.751" type="debug" -> gui: Current row changed - proxy 'QModelIndex(8,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(8,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.751" type="debug" -> gui: HTML image resizing took 0 miliseconds.
time="     4.801" type="debug" -> gui: Current row changed - proxy 'QModelIndex(9,2,0x6378008d7860,MessagesProxyModel(0x637800620420, name = MessagesProxyModel))', source 'QModelIndex(9,2,0x0,MessagesModel(0x71ee700048f0))'.
time="     4.801" type="debug" -> gui: HTML image resizing took 0 miliseconds.

See also attached log file from the systemd journal
journal.log

Operating system and version

RSS Guard

Version: 4.7.2 (built on Linux/x86_64)
Revision: 5b0453b-lite
Build date: 5/31/24 11:29 AM
OS: EndeavourOS
Qt: 6.7.2 (compiled against 6.7.1)
@Neo-CTC Neo-CTC added the Type-Defect This is BUG!!! label Jul 4, 2024
@martinrotter
Copy link
Owner

I was not able to reproduce this problem on Windows. Will try on Linux soon.

@TroudhuK
Copy link

TroudhuK commented Aug 9, 2024

Easily reproduced on Windows (I have the same crash).

image

m_activeReply is null when calling ->deleteLater() in downloader.cpp l.247

@TroudhuK
Copy link

I think you can close it as fixed in the last version 4.7.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type-Defect This is BUG!!!
Projects
None yet
Development

No branches or pull requests

3 participants