gPodder database version field different when built using --with-latest

  • Open
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
  • Csepp
Owner
unassigned
Submitted by
Csepp
Severity
normal
C
(name . Bug reports for GNU Guix)(address . bug-guix@gnu.org)
87y1q06yug.fsf@riseup.net
Haven't completely debugged this, but the symptoms are:
* running the packaged version doesn't work, blank scree, failed assert
on console about differing database schema version
* running the --with-latest version works, but Guix says it's already on
the latest version

I think it might be storing an incorrect version at build time, maybe
using its path as the version.
T
T
Tobias Geerinckx-Rice wrote on 18 Jan 2023 15:27
(name . Csepp)(address . raingloom@riseup.net)(address . 60927@debbugs.gnu.org)
685f636f1d4c826b6ab64df0290ccbf5@tobias.gr
Hullo,

On 2023-01-18 9:13, Csepp wrote:
Toggle quote (4 lines)
> Haven't completely debugged this, but the symptoms are:
> * running the packaged version doesn't work, blank scree, failed assert
> on console about differing database schema version

I can't reproduce this, in either direction. However, I didn't have an
existing GPodder configuration or database, and I'm not even sure where
those are kept.

If you do, could you grep for one of the hashes?

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
C
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
87zga84sef.fsf@riseup.net
Tobias Geerinckx-Rice <me@tobias.gr> writes:

Toggle quote (13 lines)
> Hullo,
>
> On 2023-01-18 9:13, Csepp wrote:
>> Haven't completely debugged this, but the symptoms are:
>> * running the packaged version doesn't work, blank scree, failed assert
>> on console about differing database schema version
>
> I can't reproduce this, in either direction. However, I didn't have
> an existing GPodder configuration or database, and I'm not even sure
> where those are kept.
>
> If you do, could you grep for one of the hashes?

So it looks like the hashes are the same and the difference is instead
in how it's run.
Usually I run it with i3's XDG desktop file based launcher, but when I
used the --with-latest transformation I was running it from a guix
shell.
Maybe it's using the non-canonicalized path to itself as part of the
version string.
L
L
Ludovic Courtès wrote on 30 Jan 2023 17:23
(name . Csepp)(address . raingloom@riseup.net)
87o7qgyosj.fsf@gnu.org
Hi,

Csepp <raingloom@riseup.net> skribis:

Toggle quote (8 lines)
> So it looks like the hashes are the same and the difference is instead
> in how it's run.
> Usually I run it with i3's XDG desktop file based launcher, but when I
> used the --with-latest transformation I was running it from a guix
> shell.
> Maybe it's using the non-canonicalized path to itself as part of the
> version string.

Note that right now ‘--with-latest’ has no effect because it’s already
the latest version that’s packaged:

Toggle snippet (37 lines)
$ guix build gpodder -n
4.2 MB would be downloaded:
/gnu/store/7jhmy0j4z50vb7051ckl0fkwv60y9aq8-python-pytest-httpserver-1.0.0
/gnu/store/rmkakj3hbijzcn8jdicyhh4fcwgw4kjk-xset-1.2.4
/gnu/store/almvw06pqf7gj09zkzi37iyzxph7abb2-xdg-utils-1.1.3
/gnu/store/zbsg01v7jzryx2ccgaxnm0qzi8b9022h-youtube-dl-2021.12.17
/gnu/store/cl22f0z9xggjspqsplf91bkqm35ad6fw-python-flake8-4.0.1
/gnu/store/spwqzk6l1r8wx34wlfnw487rc86skzgv-python-pycodestyle-2.8.0
/gnu/store/gaqm1cgvbam1jr2x7r6jw5gdrm9hv997-python-mutagen-1.45.1
/gnu/store/75h3kapgwpgh6q2dxddgrzbxwb22z9k7-python-xmlschema-1.2.5
/gnu/store/ixp9xd4cbs774yh5qkvywmjk1606s8i8-python-pytest-bootstrap-6.2.5
/gnu/store/7frqm5ijy66f81hr8i1j6791k84lds9w-python-pytest-6.2.5
/gnu/store/rfgdckaa197c4wkzixqqi3lmd6cvv414-python-requests-2.28.1
/gnu/store/hz1fv46474jm8d0lbirglx3cvmy8npkl-gpodder-3.11.0
$ guix build gpodder -n --with-latest=gpodder
guix build: 3.11.0 is already the latest version of 'gpodder'
4.2 MB would be downloaded:
/gnu/store/7jhmy0j4z50vb7051ckl0fkwv60y9aq8-python-pytest-httpserver-1.0.0
/gnu/store/rmkakj3hbijzcn8jdicyhh4fcwgw4kjk-xset-1.2.4
/gnu/store/almvw06pqf7gj09zkzi37iyzxph7abb2-xdg-utils-1.1.3
/gnu/store/zbsg01v7jzryx2ccgaxnm0qzi8b9022h-youtube-dl-2021.12.17
/gnu/store/cl22f0z9xggjspqsplf91bkqm35ad6fw-python-flake8-4.0.1
/gnu/store/spwqzk6l1r8wx34wlfnw487rc86skzgv-python-pycodestyle-2.8.0
/gnu/store/gaqm1cgvbam1jr2x7r6jw5gdrm9hv997-python-mutagen-1.45.1
/gnu/store/75h3kapgwpgh6q2dxddgrzbxwb22z9k7-python-xmlschema-1.2.5
/gnu/store/ixp9xd4cbs774yh5qkvywmjk1606s8i8-python-pytest-bootstrap-6.2.5
/gnu/store/7frqm5ijy66f81hr8i1j6791k84lds9w-python-pytest-6.2.5
/gnu/store/rfgdckaa197c4wkzixqqi3lmd6cvv414-python-requests-2.28.1
/gnu/store/hz1fv46474jm8d0lbirglx3cvmy8npkl-gpodder-3.11.0
$ guix describe
Generation 244 Jan 29 2023 23:24:35 (current)
guix 4eccb27
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 4eccb27b4c74a9112cbbad722d85558e9565f20b

So as you wrote, the issue you’re seeing probably has nothing to do with
‘--with-latest’.

Could you show exactly what command you’re running, what output you’re
seeing, and what you were expecting?

TIA,
Ludo’.
C
C
Csepp wrote on 1 Feb 2023 01:41
(name . Ludovic Courtès)(address . ludo@gnu.org)
87lelikyc5.fsf@riseup.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (60 lines)
> Hi,
>
> Csepp <raingloom@riseup.net> skribis:
>
>> So it looks like the hashes are the same and the difference is instead
>> in how it's run.
>> Usually I run it with i3's XDG desktop file based launcher, but when I
>> used the --with-latest transformation I was running it from a guix
>> shell.
>> Maybe it's using the non-canonicalized path to itself as part of the
>> version string.
>
> Note that right now ‘--with-latest’ has no effect because it’s already
> the latest version that’s packaged:
>
> $ guix build gpodder -n
> 4.2 MB would be downloaded:
> /gnu/store/7jhmy0j4z50vb7051ckl0fkwv60y9aq8-python-pytest-httpserver-1.0.0
> /gnu/store/rmkakj3hbijzcn8jdicyhh4fcwgw4kjk-xset-1.2.4
> /gnu/store/almvw06pqf7gj09zkzi37iyzxph7abb2-xdg-utils-1.1.3
> /gnu/store/zbsg01v7jzryx2ccgaxnm0qzi8b9022h-youtube-dl-2021.12.17
> /gnu/store/cl22f0z9xggjspqsplf91bkqm35ad6fw-python-flake8-4.0.1
> /gnu/store/spwqzk6l1r8wx34wlfnw487rc86skzgv-python-pycodestyle-2.8.0
> /gnu/store/gaqm1cgvbam1jr2x7r6jw5gdrm9hv997-python-mutagen-1.45.1
> /gnu/store/75h3kapgwpgh6q2dxddgrzbxwb22z9k7-python-xmlschema-1.2.5
> /gnu/store/ixp9xd4cbs774yh5qkvywmjk1606s8i8-python-pytest-bootstrap-6.2.5
> /gnu/store/7frqm5ijy66f81hr8i1j6791k84lds9w-python-pytest-6.2.5
> /gnu/store/rfgdckaa197c4wkzixqqi3lmd6cvv414-python-requests-2.28.1
> /gnu/store/hz1fv46474jm8d0lbirglx3cvmy8npkl-gpodder-3.11.0
> $ guix build gpodder -n --with-latest=gpodder
> guix build: 3.11.0 is already the latest version of 'gpodder'
> 4.2 MB would be downloaded:
> /gnu/store/7jhmy0j4z50vb7051ckl0fkwv60y9aq8-python-pytest-httpserver-1.0.0
> /gnu/store/rmkakj3hbijzcn8jdicyhh4fcwgw4kjk-xset-1.2.4
> /gnu/store/almvw06pqf7gj09zkzi37iyzxph7abb2-xdg-utils-1.1.3
> /gnu/store/zbsg01v7jzryx2ccgaxnm0qzi8b9022h-youtube-dl-2021.12.17
> /gnu/store/cl22f0z9xggjspqsplf91bkqm35ad6fw-python-flake8-4.0.1
> /gnu/store/spwqzk6l1r8wx34wlfnw487rc86skzgv-python-pycodestyle-2.8.0
> /gnu/store/gaqm1cgvbam1jr2x7r6jw5gdrm9hv997-python-mutagen-1.45.1
> /gnu/store/75h3kapgwpgh6q2dxddgrzbxwb22z9k7-python-xmlschema-1.2.5
> /gnu/store/ixp9xd4cbs774yh5qkvywmjk1606s8i8-python-pytest-bootstrap-6.2.5
> /gnu/store/7frqm5ijy66f81hr8i1j6791k84lds9w-python-pytest-6.2.5
> /gnu/store/rfgdckaa197c4wkzixqqi3lmd6cvv414-python-requests-2.28.1
> /gnu/store/hz1fv46474jm8d0lbirglx3cvmy8npkl-gpodder-3.11.0
> $ guix describe
> Generation 244 Jan 29 2023 23:24:35 (current)
> guix 4eccb27
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 4eccb27b4c74a9112cbbad722d85558e9565f20b
>
> So as you wrote, the issue you’re seeing probably has nothing to do with
> ‘--with-latest’.
>
> Could you show exactly what command you’re running, what output you’re
> seeing, and what you were expecting?
>
> TIA,
> Ludo’.

This works:
/gnu/store/1k5zcw81xfqlpxx4wfi5idi9pzlziykj-profile/bin/gpodder

This doesn't:
/home/raingloom/.guix-profile/bin/gpodder

The error is this:

```
1675212137.273854 [gpodder.log] ERROR: Uncaught exception: Traceback (most recent call last):
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/gtkui/app.py", line 189, in do_activate
self.window = gPodder(self, self.bus_name, core.Core(UIConfig, model_class=Model), self.options)
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/gtkui/main.py", line 91, in __init__
BuilderWidget.__init__(self, None, _builder_expose={'app': app})
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/gtkui/interface/common.py", line 36, in __init__
GtkBuilderWidget.__init__(self, gpodder.ui_folders, gpodder.textdomain, parent, **kwargs)
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/gtkui/base.py", line 71, in __init__
self.new()
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/gtkui/main.py", line 185, in new
self.channels = self.model.get_podcasts()
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/model.py", line 1380, in get_podcasts
self.children = self.db.load_podcasts(podcast_factory)
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/dbsqlite.py", line 158, in load_podcasts
cur = self.cursor()
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/dbsqlite.py", line 99, in cursor
return self.db.cursor()
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/dbsqlite.py", line 90, in db
schema.upgrade(self._db, self.database_file)
File "/gnu/store/kchlzn44ykckx7x5ixx3vjsdnwyw9pzj-gpodder-3.10.21/lib/python3.9/site-packages/gpodder/schema.py", line 225, in upgrade
assert version == CURRENT_VERSION
AssertionError
```

There are further errors but they are caused by the assert not actually
being fatal and gPodder trying to continue after simply logging the
failure.
Ahh, exceptions, the poor person's error monad. :)

It looks like it's trying to upgrade the database, I'm not sure why.
?