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.44k stars 120 forks source link

[BUG]: Upgrade to 4.7.1 duplicate providers #1427

Closed DJManas closed 4 weeks ago

DJManas commented 4 weeks ago

Brief description of the issue

Hello,

after upgrade to version 4.7.1 the accounts added into application were doubled. Please see attached screenshot. you can see that TinyTiny RSS is there twice.

Screenshot_20240530_140834

I have downgraded back to 4.7.0 and it seems to be Ok. image

Linux: Gentoo: Linux RinceWind 6.9.2-Air SMP PREEMPT_DYNAMIC Tue May 28 01:27:50 CEST 2024 x86_64 Intel(R) Core(TM) i7-5650U CPU @ 2.20GHz GenuineIntel GNU/Linux Build flags: qt6 qtmultimedia sqlite webengine -libmpv -mysql

At the end I had deleted both accounts from application and added again. After restart I had seen them twice again. Also when I have opened Accounts -> Add account, I had seen all of them doubled. In 4.7.0 its ok. image

4.7.1 nok: image

Thanks, Regards, Petr Šourek

How to reproduce the bug?

  1. upgrade package
  2. launch
  3. delete all accounts
  4. Add it only once
  5. restart app, I had seen it doubled

What was the expected result?

See the same number of accounts as like before version.

What actually happened?

Doubled

Debug log

time="     0.109" type="debug" -> core: Initializing settings in '/home/djmanas/.config/RSS Guard 4/config/config.ini' (non-portable way).
time="     0.109" type="debug" -> core: Starting to load active localization. Desired localization is 'en_US'.
time="     0.110" type="debug" -> core: Application localization 'en_US' loaded successfully, specifically sublocalization 'en_US' was loaded.
time="     0.110" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time="     0.113" type="warning" -> Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/bin/qtwebengine_dictionaries'
time="     0.325" type="debug" -> database: File-based SQLite database connection 'DatabaseFactory' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.326" type="debug" -> database: File-based SQLite database has version '8'.
time="     0.326" type="debug" -> gui: Available icon theme paths: QList(/home/djmanas/.icons, /home/djmanas/.local/share/icons, /home/djmanas/.local/share/flatpak/exports/share/icons, /usr/share/icons, /var/lib/snapd/desktop/icons, :/icons, :/graphics, /home/djmanas/.config/RSS Guard 4/icons, /usr/bin/icons)
time="     0.327" type="debug" -> gui: Installed icon themes are: '', 'oreo_white_cursors', 'default', 'Future-dark-cursors', 'WhiteSur-cursors', 'Vivid-Glassy-Dark-Icons', 'Gradient-Light-Icons', 'Colorful-Dark-Icons', 'Gradient-Dark-Icons', 'Vivid-Dark-Icons', 'WhiteSur', 'WhiteSur-dark', 'hicolor', 'breeze_cursors', 'Oxygen_Zion', 'Oxygen_Yellow', 'Oxygen_White', 'Oxygen_Blue', 'Oxygen_Black', 'KDE_Classic', 'Breeze_Snow', 'Adwaita', 'HighContrast', 'breeze', 'breeze-dark', 'elementaryXubuntu-dark'
time="     0.327" type="debug" -> gui: Loading icon theme 'default'.
time="     0.327" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     0.327" type="debug" -> gui: Local file ':/skins/nudus-dark/html_wrapper.html' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Local file ':/skins/nudus-dark/html_style.css' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Base file ':/skins/nudus-base/html_enclosure_image.html' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Base file ':/skins/nudus-base/html_single_message.html' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Base file ':/skins/nudus-base/html_enclosure_every.html' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Local file ':/skins/nudus-dark/qt_style.qss' exists, using it for the skin.
time="     0.327" type="debug" -> gui: Base file ':/skins/nudus-base/html_adblocked.html' exists, using it for the skin.
time="     0.327" type="debug" -> gui: OS defines color scheme: 'Qt::ColorScheme::Unknown'.
time="     0.328" type="debug" -> gui: Setting style: ''.
time="     0.328" type="debug" -> gui: Skin 'nudus-dark' loaded. Lite: 'false'.
time="     0.328" type="warning" -> core: User CSS style was not provided in file '/home/djmanas/.config/RSS Guard 4/web/user-styles.css'.
time="     0.328" type="debug" -> network: Persistent web data storage path: '/tmp/RSS Guard/storage/web/storage'.
time="     0.328" type="debug" -> network: Disabling application-wide proxy completely.
time="     0.328" type="debug" -> core: SQLite version: '3.46.0'.
time="     0.333" type="debug" -> core: OpenSSL version: 'OpenSSL 3.2.1 30 Jan 2024'.
time="     0.333" type="debug" -> core: OpenSSL supported: 'true'.
time="     0.333" type="debug" -> core: Global thread pool has 4 threads.
time="     0.333" type="debug" -> core: Instantiated class  'Application'.
time="     0.370" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.424" 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.425" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time="     0.425" type="debug" -> core: Creating FeedDownloader singleton.
time="     0.433" type="debug" -> gui: Creating main application form in thread: '0x7fc619863d80'.
time="     0.520" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     0.520" type="debug" -> gui: Article list header geometries changed.
time="     0.556" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.686" type="debug" -> gui: Article list header geometries changed.
time="     0.689" type="debug" -> gui: Article list header geometries changed.
time="     0.693" type="debug" -> gui: Article list header geometries changed.
time="     0.697" type="debug" -> gui: Article list header geometries changed.
time="     0.749" type="debug" -> gui: Creating tray icon menu.
time="     0.750" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     0.750" 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.id DESC;'.
time="     0.752" type="debug" -> gui: Reloading of msg selections took 2 miliseconds.
time="     1.124" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     1.124" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     1.124" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     1.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 ORDER BY Messages.date_created ASC, Messages.id DESC, LOWER(Messages.title) ASC;'.
time="     1.140" type="debug" -> core: Showing the main window when the application is starting.
time="     1.142" type="debug" -> gui: Article list header geometries changed.
time="     1.143" type="debug" -> gui: Article list header geometries changed.
time="     1.146" type="debug" -> gui: Article list header geometries changed.
time="     1.147" type="debug" -> gui: Article list header geometries changed.
time="     1.148" type="debug" -> database: SQLite database connection 'FeedReader' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     1.148" type="debug" -> core: Checking for plugins in '/usr/bin/../lib64/rssguard'.
time="     1.150" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-nextcloud.so' loaded.
time="     1.152" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-ttrss.so' loaded.
time="     1.154" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-greader.so' loaded.
time="     1.155" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-feedly.so' loaded.
time="     1.157" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-gmail.so' loaded.
time="     1.160" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-standard.so' loaded.
time="     3.209" type="debug" -> core: Checking for plugins in '/usr/bin/../'.
time="     3.209" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-nextcloud.so' loaded.
time="     3.209" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-ttrss.so' loaded.
time="     3.209" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-greader.so' loaded.
time="     3.209" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-feedly.so' loaded.
time="     3.209" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-gmail.so' loaded.
time="     4.488" type="debug" -> core: Plugin '/usr/lib64/rssguard/librssguard-standard.so' loaded.
time="     4.489" type="debug" -> database: SQLite database connection 'NextcloudServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.489" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.506" type="debug" -> gmail: Destructing 'tt-rss' plugin.
time="     4.506" type="debug" -> database: SQLite database connection 'TtRssServiceRoot' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.507" type="debug" -> core: Custom ID of feed when loading from DB is '0'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '4'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '3'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '6'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '8'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '5'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '9'.
time="     4.508" type="debug" -> core: Custom ID of feed when loading from DB is '11'.
time="     4.509" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.510" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.510" type="debug" -> database: SQLite database connection 'UnreadNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.511" type="debug" -> database: SQLite database connection 'LabelsNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.512" type="debug" -> database: SQLite connection 'TtRssServiceRoot' is already active.
time="     4.512" type="debug" -> database: SQLite database connection 'TtRssServiceRoot' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.513" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.513" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.514" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.514" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.514" type="debug" -> database: SQLite connection 'NextcloudServiceEntryPoint' is already active.
time="     4.514" type="debug" -> database: SQLite database connection 'NextcloudServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.514" type="debug" -> database: SQLite connection 'TtRssServiceEntryPoint' is already active.
time="     4.514" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.515" type="debug" -> gmail: Destructing 'tt-rss' plugin.
time="     4.515" type="debug" -> database: SQLite connection 'TtRssServiceRoot' is already active.
time="     4.515" type="debug" -> database: SQLite database connection 'TtRssServiceRoot' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.515" type="debug" -> core: Custom ID of feed when loading from DB is '0'.
time="     4.515" type="debug" -> core: Custom ID of feed when loading from DB is '4'.
time="     4.515" type="debug" -> core: Custom ID of feed when loading from DB is '3'.
time="     4.515" type="debug" -> core: Custom ID of feed when loading from DB is '6'.
time="     4.515" type="debug" -> core: Custom ID of feed when loading from DB is '8'.
time="     4.516" type="debug" -> core: Custom ID of feed when loading from DB is '5'.
time="     4.516" type="debug" -> core: Custom ID of feed when loading from DB is '9'.
time="     4.516" type="debug" -> core: Custom ID of feed when loading from DB is '11'.
time="     4.516" type="debug" -> database: SQLite connection 'RecycleBin' is already active.
time="     4.516" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.516" type="debug" -> database: SQLite connection 'ImportantNode' is already active.
time="     4.516" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.517" type="debug" -> database: SQLite connection 'UnreadNode' is already active.
time="     4.517" type="debug" -> database: SQLite database connection 'UnreadNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.517" type="debug" -> database: SQLite connection 'LabelsNode' is already active.
time="     4.517" type="debug" -> database: SQLite database connection 'LabelsNode' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.518" type="debug" -> database: SQLite connection 'TtRssServiceRoot' is already active.
time="     4.518" type="debug" -> database: SQLite database connection 'TtRssServiceRoot' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.519" type="debug" -> database: SQLite connection 'GreaderEntryPoint' is already active.
time="     4.519" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.519" type="debug" -> database: SQLite connection 'FeedlyEntryPoint' is already active.
time="     4.519" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.519" type="debug" -> database: SQLite connection 'GmailEntryPoint' is already active.
time="     4.520" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.520" type="debug" -> database: SQLite connection 'StandardServiceEntryPoint' is already active.
time="     4.520" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/djmanas/.config/RSS Guard 4/database/database.db' seems to be established.
time="     4.520" type="debug" -> gui: User wants to have tray icon.
time="     4.520" type="warning" -> gui: Showing tray icon with little delay.
time="     4.520" type="debug" -> gui: Feed list item expanded - djmanas (Tiny Tiny RSS)
time="     4.520" type="debug" -> gui: Feed list item expanded - djmanas (Tiny Tiny RSS)
time="     4.520" type="debug" -> gui: Feed list item expanded - Labels
time="     4.520" type="debug" -> gui: Feed list item expanded - Regex queries
time="     4.520" type="debug" -> gui: Feed list item expanded - Blogy
time="     4.520" type="debug" -> gui: Feed list item expanded - DenikN
time="     4.520" type="debug" -> gui: Feed list item expanded - IT
time="     4.520" type="debug" -> gui: Feed list item expanded - Technika
time="     4.520" type="debug" -> gui: Feed list item expanded - Labels
time="     4.521" type="debug" -> gui: Feed list item expanded - Regex queries
time="     4.521" type="debug" -> gui: Feed list item expanded - Blogy
time="     4.521" type="debug" -> gui: Feed list item expanded - DenikN
time="     4.521" type="debug" -> gui: Feed list item expanded - IT
time="     4.521" type="debug" -> gui: Feed list item expanded - Technika
time="     4.521" type="debug" -> core: No execution message received from other app instances.
time="     4.566" type="debug" -> gui: Article list header geometries changed.
time="     4.566" type="debug" -> gui: Message splitter moved.
time="     4.690" type="debug" -> gui: Hovered link: 'QUrl()'.
time="     7.173" type="debug" -> gui: Feed list item collapsed - djmanas (Tiny Tiny RSS)
time="     7.604" type="warning" -> gui: Tray icon is available, showing now.
time="     7.606" type="debug" -> gui: Creating SystemTrayIcon instance.
time="     7.608" type="debug" -> gui: Showing tray icon immediately.
time="     7.611" type="debug" -> gui: Tray icon displayed.
time="     8.502" type="debug" -> gui: Feed list item collapsed - djmanas (Tiny Tiny RSS)
time="    10.101" type="debug" -> core: Delaying scheduled feed auto-download for some time since window is focused and updates while focused are disabled by the user and all account caches are empty.
time="    10.189" type="debug" -> gui: Main window hide event
time="    10.189" type="debug" -> gui: Article list header geometries changed.
time="    10.190" type="debug" -> gui: Main window close event
time="    15.850" type="debug" -> core: Cleaning up resources and saving application state.
time="    15.850" type="debug" -> core: Close lock was obtained safely.
time="    15.850" type="warning" -> tt-rss: Cannot logout because session ID is empty.
time="    15.850" type="debug" -> tt-rss: Stopping Tiny Tiny RSS account, logging out with result 'QNetworkReply::NoError'.
time="    15.850" type="warning" -> tt-rss: Cannot logout because session ID is empty.
time="    15.850" type="debug" -> feed-downloader: Destroying FeedDownloader instance.time="    15.850" type="debug" -> tt-rss: Stopping Tiny Tiny RSS account, logging out with result 'QNetworkReply::NoError'.

time="    15.857" type="debug" -> gui: Destroying FormMain instance.
time="    15.858" type="debug" -> gui: Destroying TabWidget instance.
time="    15.859" type="debug" -> gui: Destroying FeedMessageViewer instance.
time="    15.859" type="debug" -> gui: Destroying BaseToolBar instance.
time="    15.860" type="debug" -> network: Destroying Downloader instance.
time="    15.860" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    15.863" type="debug" -> gui: Destroying MessagesView instance.
time="    15.863" type="debug" -> gui: Destroying BaseToolBar instance.
time="    15.864" type="debug" -> gui: Destroying FeedsView instance.
time="    15.864" type="debug" -> gui: Destroying TabBar instance.
time="    15.865" type="debug" -> gui: Destroying StatusBar instance.
time="    15.865" type="debug" -> gui: Destroying SystemTrayIcon instance.
time="    15.868" type="debug" -> core: Destroying Application instance.
time="    15.869" type="debug" -> core: Destroying Mutex instance.
time="    15.882" type="debug" -> gui: Destroying IconFactory instance.
time="    15.882" type="debug" -> core: Destroying FeedReader instance.
time="    15.882" type="debug" -> core: Service 'nextcloud' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'tt-rss' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'greader' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'feedly' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'gmail' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'std-rss' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'nextcloud' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'tt-rss' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'greader' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'feedly' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'gmail' will be deleted by runtime.
time="    15.882" type="debug" -> core: Service 'std-rss' will be deleted by runtime.
time="    15.883" type="debug" -> feed-model: Destroying FeedsModel instance.
time="    15.883" type="debug" -> feed-model: Destroying FeedsProxyModel instance
time="    15.883" type="debug" -> message-model: Destroying MessagesModel instance.
time="    15.883" type="debug" -> message-model: Destroying MessagesProxyModel instance.
core: Destructing 'feedly' plugin.
gmail: Destructing 'gmail' plugin.
core: Destructing 'greader' plugin.
gmail: Destructing 'nextcloud' plugin.
core: Destructing 'std-rss' plugin.
gmail: Destructing 'tt-rss' plugin.

Operating system and version

martinrotter commented 4 weeks ago

Did you by any chance build RSS Guard in DEBUG configuration? Anyway, I will fix that doubling, it is caused by the fact that in DEBUG configuration (for certain technical reasons) RSS Guard tries to load plugins from multiple directories, in your case those directories are parents of one another thus, causing loading of those file multiple times.

Can you post your cmake variable used during the build, including compiler identification?

DJManas commented 4 weeks ago

@martinrotter Great thanks. To be honest I am not sure. I simply used stock ebuild supplied by Gentoo. But as you mentioning it, I copied the ebuild with new version to upgrade to 4.7.2. I can see this log:

>>> Unpacking source...
>>> Unpacking rssguard-4.7.2.gh.tar.gz to /var/tmp/portage/net-news/rssguard-4.7.2/work
>>> Source unpacked in /var/tmp/portage/net-news/rssguard-4.7.2/work
>>> Preparing source in /var/tmp/portage/net-news/rssguard-4.7.2/work/rssguard-4.7.2 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/net-news/rssguard-4.7.2/work/rssguard-4.7.2"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/net-news/rssguard-4.7.2/work/rssguard-4.7.2_build"
 * 
 * Hardcoded definition(s) removed in CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE "Release")
>>> Source prepared.

So I guess when the CMAKE_BUILD_TYPE is removed from CMakeLists.txt it makes "Debug" release by standard. I will file a bug for portage to add this variable. Well I would repair it, but I still din't checked the rules they want for me to contribute (shame on me).

Thank you, Regards, Petr Sourek

martinrotter commented 4 weeks ago

4.7.2 should have the bug fixed regardless of CMAKE_BUILD_TYPE

DJManas commented 4 weeks ago

4.7.2 should have the bug fixed regardless of CMAKE_BUILD_TYPE

Yep, thanks for that, but I think it would be better for future builds to change build type to release to prevent more false positives from Gentoo distribution. Or maybe switch it by use flags to be able to build it with debug mode on for some other bugs.

martinrotter commented 4 weeks ago

Yes, that is for sure and in the header of cmakelists file, I even give examples on how to build RSS Guard and they do include explicit -DCMAKE_BUILD_TYPE="Release".

# Usage (out of source build type, we have two side by side folders:
# empty "build-dir" and RSS Guard repository "rssguard-dir"):
#   a) DEBUG build for testing.
#     cd build-dir
#     cmake -DCMAKE_BUILD_TYPE="Debug" ../rssguard-dir/
#     cmake --build .
#     cmake --install .
#
#   b) RELEASE build for production use.
#     cd build-dir
#     cmake -DCMAKE_BUILD_TYPE="Release" ../rssguard-dir/
#     cmake --build .
#     cmake --install 
DJManas commented 4 weeks ago

Yep, thanks for that. I had gone through it and filed corresponding ticket for Gentoo portage. And tried to submit my file.

Thanks

nickalcock commented 1 week ago

FYI (and I know this bug is closed), loading plugins from different directories when debugging is enabled is rather unexpected.

I almost gave up on first start of rssguard because it hung for ages, hammering the disk: gdb showed it scanning for plugins deep under /usr/src! Given that the scan was meant to be only under /usr/bin/../lib/rssguard, I find this somewhat confusing! Quite why QDirIterator::IteratorFlag::Subdirectories is traversing upwards I do not know... turning debugging off fixed this, and rssguard started more or less instantly.