[go: nahoru, domu]

Debian Bug report logs - #1063507
tt-rss: Upgrading to Bookworm results in old read articles to be refetched as unread

version graph

Package: tt-rss; Maintainer for tt-rss is Sebastian Reichel <sre@debian.org>; Source for tt-rss is src:tt-rss (PTS, buildd, popcon).

Reported by: Matija Nalis <mnalis-debianbug@voyager.hr>

Date: Fri, 9 Feb 2024 02:45:02 UTC

Severity: normal

Found in version tt-rss/21~git20210204.b4cbc79+dfsg-1.2

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, mnalis-debianbug@voyager.hr, Sebastian Reichel <sre@debian.org>:
Bug#1063507; Package tt-rss. (Fri, 09 Feb 2024 02:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Matija Nalis <mnalis-debianbug@voyager.hr>:
New Bug report received and forwarded. Copy sent to mnalis-debianbug@voyager.hr, Sebastian Reichel <sre@debian.org>. (Fri, 09 Feb 2024 02:45:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Matija Nalis <mnalis-debianbug@voyager.hr>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: tt-rss: Upgrading to Bookworm results in old read articles to be refetched as unread
Date: Fri, 09 Feb 2024 03:41:27 +0100
Package: tt-rss
Version: 21~git20210204.b4cbc79+dfsg-1.2
Severity: normal
X-Debbugs-Cc: mnalis-debianbug@voyager.hr

Dear Maintainer,

There was happily working tt-rss instalation in Bullseye, however after
upgrading the Bookworm, the first time updating script run, it re-fetched 
a lot of older articles and marked them as unread.

Trying to debug the issue, I've found that the GUID seems to have changed,
probably due to PHP 8.2 in Bookworm changed not to quote integers fetched
from database:
https://www.php.net/manual/en/migration81.incompatible.php#migration81.incompatible.pdo.mysql

and the old packaged version of tt-rss apparently not having support for it.

That resulted in duplicate rows (in otherwise UNIQUE field "guid"), e.g.:

MariaDB [ttrss]> select id, title, guid, updated, date_entered, date_updated from ttrss_entries where title like 'Could the Sun%';
+--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+
| id     | title                                 | guid                                                                       | updated             | date_entered        | date_updated        |
+--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+
| 528463 | Could the Sun be hiding a black hole? | {"ver":2,"uid":"3","hash":"SHA1:dcf27dd8206c88fc25db2439fbfdbcc1113d826e"} | 2024-01-21 15:01:08 | 2024-01-22 00:05:00 | 2024-02-05 00:09:14 |
| 534207 | Could the Sun be hiding a black hole? | {"ver":2,"uid":3,"hash":"SHA1:dcf27dd8206c88fc25db2439fbfdbcc1113d826e"}   | 2024-01-21 15:01:08 | 2024-02-09 00:56:00 | 2024-02-09 00:56:08 |
+--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+

That should not have happened, there should've been only first row existing, and
second row shouldn't have been created. The problem seems to be that "guid"
is not EXACTLY the same, before it said:
"uid":"3"
and now it says
"uid":3

while it points to exactly the same data, the strings are not the same, so
it fails to detect it as a duplicate.

I've worked around the problem by stopping updating services, restoring the
last tt-rss database backup before Bookworm upgrade, and running following
mysql command on ttrss database:

UPDATE ttrss_entries SET guid = REGEXP_REPLACE(guid, '"uid":"([0-9]+)"', '"uid":\\1');

that converted all old entries (which used quoted-integers) to a new format
(which does not quote integers), thus allowing subsequent tt-rss feed updates 
not to create duplicates as even old entries are using new format.

Perhaps newer upstream version of tt-rss handles that as well as it does
other similar problems with string/integer (e.g. as it does in #1054608)

-- System Information:
Debian Release: 12.4
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-17-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages tt-rss depends on:
ii  dbconfig-common                       2.0.24
ii  dbconfig-mysql                        2.0.24
ii  debconf [debconf-2.0]                 1.5.82
ii  fonts-material-design-icons-iconfont  6.7.0+dfsg-1
ii  init-system-helpers                   1.65.2
ii  libapache2-mod-php8.2 [php-json]      8.2.7-1~deb12u1
ii  libjs-dojo-core                       1.17.2+dfsg1-2.1
ii  libjs-dojo-dijit                      1.17.2+dfsg1-2.1
ii  libjs-scriptaculous                   1.9.0-3
ii  lsb-base                              11.6
ii  php                                   2:8.2+93
pn  php-cli                               <none>
ii  php-intl                              2:8.2+93
ii  php-mbstring                          2:8.2+93
ii  php-mysql                             2:8.2+93
ii  php-php-gettext                       1.0.12-5
ii  php-psr-log                           1.1.4-2
ii  php-xml                               2:8.2+93
ii  php8.2 [php]                          8.2.7-1~deb12u1
ii  php8.2-cli [php-json]                 8.2.7-1~deb12u1
ii  php8.2-intl [php-intl]                8.2.7-1~deb12u1
ii  php8.2-mbstring [php-mbstring]        8.2.7-1~deb12u1
ii  php8.2-phpdbg [php-json]              8.2.7-1~deb12u1
ii  php8.2-xml [php-xml]                  8.2.7-1~deb12u1
ii  phpqrcode                             1.1.4-3.1
ii  sysvinit-utils [lsb-base]             3.06-4

Versions of packages tt-rss recommends:
ii  apache2 [httpd]         2.4.57-2
ii  ca-certificates         20230311
ii  php-curl                2:8.2+93
ii  php-gd                  2:8.2+93
pn  php-mcrypt              <none>
ii  php8.2-curl [php-curl]  8.2.7-1~deb12u1
ii  php8.2-gd [php-gd]      8.2.7-1~deb12u1

Versions of packages tt-rss suggests:
pn  php-apc       <none>
pn  sphinxsearch  <none>

-- Configuration Files:
/etc/default/tt-rss changed [not included]
/etc/logrotate.d/tt-rss changed [not included]
/etc/tt-rss/apache.conf changed [not included]
/etc/tt-rss/config.php changed [not included]

-- debconf information excluded

-- debsums errors found:
debsums: changed file /usr/share/tt-rss/www/classes/feeds.php (from tt-rss package)



Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Nov 9 16:57:01 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.