GNU bug report logs - #69070
‘guix lint -c archival python-scikit-learn’ crashes

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Mon, 12 Feb 2024 10:13:02 UTC

Severity: normal

To reply to this bug, email your comments to 69070 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

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


Report forwarded to bug-guix <at> gnu.org:
bug#69070; Package guix. (Mon, 12 Feb 2024 10:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 12 Feb 2024 10:13:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: bug-guix <at> gnu.org
Subject: ‘guix lint -c archival python-scikit-learn’ crashes
Date: Mon, 12 Feb 2024 11:11:51 +0100
Hi!

Starting from a couple of weeks ago, probably around the time SWH
deployed an updated version of their infrastructure, we get crashes like
this:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 290  Feb 11 2024 23:01:35    (current)
  guix c4372f7
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: c4372f7ebfac17236299346fe60c6ca125336b1f
$ guix lint -c archival python-scikit-learn
Backtrace:ython-scikit-learn <at> 1.3.2 [archival]...
          12 (primitive-load "/home/ludo/.config/guix/current/bin/gu…")
In guix/ui.scm:
   2324:7 11 (run-guix . _)
  2287:10 10 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
    634:9  8 (for-each #<procedure 7f45354e9400 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
     65:4  7 (run-checkers _ _ #:store _)
In srfi/srfi-1.scm:
    634:9  6 (for-each #<procedure 7f4535405d50 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
    74:21  5 (_ _)
In guix/lint.scm:
   1662:4  4 (check-archival _)
    877:2  3 (call-with-networking-fail-safe _ _ _)
In ice-9/boot-9.scm:
  1752:10  2 (with-exception-handler _ _ #:unwind? _ # _)
  1685:16  1 (raise-exception _ #:continuable? _)
  1683:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1683:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" directory)'.
--8<---------------cut here---------------end--------------->8---

This can be reproduced by merely evaluating:

  (lookup-origin-revision "https://github.com/scikit-learn/scikit-learn" "1.3.2")

The crux of the problem is that ‘snapshot-branches’ used to return
either a “revision” or a “release”, but now it can also return a
“directory”:

--8<---------------cut here---------------start------------->8---
$ wget -qO- https://archive.softwareheritage.org/api/1/snapshot/c405490b80fb35cc58b34260d9ec6add8248857f |jq
{
  "id": "c405490b80fb35cc58b34260d9ec6add8248857f",
  "branches": {
    "1.3.2": {
      "target": "e4a4be18fae8d9c6528abff3bc9088feb19a76c7",
      "target_type": "directory",
      "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
    },
    "HEAD": {
      "target": "1.3.2",
      "target_type": "alias",
      "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
    }
  },
  "next_branch": null
}
--8<---------------cut here---------------end--------------->8---

I’ll check with comrades at SWH whether this is intended.

(Note that this problem may vanish once
<https://issues.guix.gnu.org/68741> has been merged.)

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#69070; Package guix. (Mon, 12 Feb 2024 16:06:02 GMT) Full text and rfc822 format available.

Message #8 received at 69070 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: <swh-devel <at> inria.fr>
Cc: 69070 <at> debbugs.gnu.org
Subject: No releases/revisions in /snapshot endpoints?
Date: Mon, 12 Feb 2024 17:04:43 +0100
Dear SWH,

In <https://issues.guix.gnu.org/69070> I stumbled upon what might be new
behavior from the /snapshot endpoint:

> The crux of the problem is that ‘snapshot-branches’ used to return
> either a “revision” or a “release”, but now it can also return a
> “directory”:
>
> $ wget -qO- https://archive.softwareheritage.org/api/1/snapshot/c405490b80fb35cc58b34260d9ec6add8248857f |jq
> {
>   "id": "c405490b80fb35cc58b34260d9ec6add8248857f",
>   "branches": {
>     "1.3.2": {
>       "target": "e4a4be18fae8d9c6528abff3bc9088feb19a76c7",
>       "target_type": "directory",
>       "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
>     },
>     "HEAD": {
>       "target": "1.3.2",
>       "target_type": "alias",
>       "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
>     }
>   },
>   "next_branch": null
> }

Current documentation mentions the ‘target_types’ query parameter, which
I could use to restrict results to “revision” and “release”:

  https://archive.softwareheritage.org/api/1/snapshot/doc/

However, that’d be the empty list of the case above.

Other snapshots seem to be missing releases and revisions as well, such
as this one:

  https://archive.softwareheritage.org/api/1/snapshot/55bda9214f962550baad25026fb3ac3ad12e3eb9/

Did anything change here?  Am I holding it wrong?  :-)

Thanks in advance,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#69070; Package guix. (Tue, 20 Feb 2024 10:48:02 GMT) Full text and rfc822 format available.

Message #11 received at 69070 <at> debbugs.gnu.org (full text, mbox):

From: Antoine Lambert <antoine.lambert <at> inria.fr>
To: swh-devel <at> inria.fr, Ludovic Courtès
 <ludovic.courtes <at> inria.fr>
Subject: Re: [swh-devel] No releases/revisions in /snapshot endpoints?
Date: Mon, 12 Feb 2024 17:37:22 +0100
Hello Ludovic,

The SWH data model also allows for snapshot branches to target simple directories.

The new loaders we implemented to ingest a tarball content (visit type: tarball-directory)
or a directory targeted by a CVS tag or commit (visit types: git-checkout, hg-checkout)
produce such snapshot with a single non alias branch targeting a directory.

We do not produce revisions or releases with these loaders as their purpose is to
archive a single directory (with extid mapping) without any development history.

Antoine Lambert

On 12/02/2024 17:04, Ludovic Courtès wrote:
> Dear SWH,
>
> In <https://issues.guix.gnu.org/69070> I stumbled upon what might be new
> behavior from the /snapshot endpoint:
>
>> The crux of the problem is that ‘snapshot-branches’ used to return
>> either a “revision” or a “release”, but now it can also return a
>> “directory”:
>>
>> $ wget -qO- https://archive.softwareheritage.org/api/1/snapshot/c405490b80fb35cc58b34260d9ec6add8248857f |jq
>> {
>>    "id": "c405490b80fb35cc58b34260d9ec6add8248857f",
>>    "branches": {
>>      "1.3.2": {
>>        "target": "e4a4be18fae8d9c6528abff3bc9088feb19a76c7",
>>        "target_type": "directory",
>>        "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
>>      },
>>      "HEAD": {
>>        "target": "1.3.2",
>>        "target_type": "alias",
>>        "target_url": "https://archive.softwareheritage.org/api/1/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7/"
>>      }
>>    },
>>    "next_branch": null
>> }
> Current documentation mentions the ‘target_types’ query parameter, which
> I could use to restrict results to “revision” and “release”:
>
>    https://archive.softwareheritage.org/api/1/snapshot/doc/
>
> However, that’d be the empty list of the case above.
>
> Other snapshots seem to be missing releases and revisions as well, such
> as this one:
>
>    https://archive.softwareheritage.org/api/1/snapshot/55bda9214f962550baad25026fb3ac3ad12e3eb9/
>
> Did anything change here?  Am I holding it wrong?  :-)
>
> Thanks in advance,
> Ludo’.

-- 
Antoine Lambert
Software engineer for Software Heritage
https://www.softwareheritage.org
Inria, Paris





Information forwarded to bug-guix <at> gnu.org:
bug#69070; Package guix. (Tue, 10 Sep 2024 16:20:02 GMT) Full text and rfc822 format available.

Message #14 received at 69070 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 69070 <at> debbugs.gnu.org
Subject: Re: bug#69070: ‘guix lint -c archival
 python-scikit-learn’ crashes
Date: Tue, 10 Sep 2024 15:58:19 +0200
Hi Ludo,

On Mon, 12 Feb 2024 at 11:11, Ludovic Courtès <ludovic.courtes <at> inria.fr> wrote:

> (Note that this problem may vanish once
> <https://issues.guix.gnu.org/68741> has been merged.)

This had been merged.  Now, it does not crash.  Is the problem hidden or
vanished?

Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#69070; Package guix. (Thu, 12 Sep 2024 08:33:02 GMT) Full text and rfc822 format available.

Message #17 received at 69070 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: 69070 <at> debbugs.gnu.org
Subject: Re: bug#69070: ‘guix lint -c archival
 python-scikit-learn’ crashes
Date: Thu, 12 Sep 2024 10:31:49 +0200
Hi Simon,

Simon Tournier <zimon.toutoune <at> gmail.com> skribis:

> On Mon, 12 Feb 2024 at 11:11, Ludovic Courtès <ludovic.courtes <at> inria.fr> wrote:
>
>> (Note that this problem may vanish once
>> <https://issues.guix.gnu.org/68741> has been merged.)
>
> This had been merged.  Now, it does not crash.  Is the problem hidden or
> vanished?

I think the initial problem (that ‘snapshot-branches’ returns a
directory) is still there, although I cannot reproduce it right now
because SWH returns 500 currently:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(guix swh)
scheme@(guile-user)> (lookup-origin-revision "https://github.com/scikit-learn/scikit-learn" "1.3.2")
ice-9/boot-9.scm:1676:22: In procedure raise-exception:
Throw to key `swh-error' with args `("https://archive.softwareheritage.org/api/1/origin/https://github.com/scikit-learn/scikit-learn/visits/?per_page=30" #<procedure http-get* (uri . rest)> #<<response> version: (1 . 1) code: 500 reason-phrase: "Internal Server Error" headers: ((date . #<date nanosecond: 0 second: 48 minute: 28 hour: 8 day: 12 month: 9 year: 2024 zone-offset: 0>) (content-type application/json) (content-length . 130) (vary accept origin cookie) (allow HEAD OPTIONS GET OPTIONS) (x-ratelimit-limit . "120") (x-ratelimit-remaining . "118") (x-ratelimit-reset . "1726133328") (x-frame-options . "DENY") (x-content-type-options . "nosniff") (referrer-policy . "same-origin") (cross-origin-opener-policy . "same-origin") (x-varnish . "665128879") (age . 0) (via "1.1 varnish (Varnish/6.5)") (strict-transport-security . "max-age=15768000;") (connection close)) port: #<closed: string 7f0c8c5aea10>>)'.

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In guix/swh.scm:
   579:11  2 (lookup-origin-revision _ _)
   296:16  1 (call "https://archive.softwareheritage.org/api/1/origin/https://github.com/scikit-learn/scikit-learn/visits/?per_page=30" _ _ #:false-if-404? _)
In ice-9/boot-9.scm:
  1676:22  0 (raise-exception _ #:continuable? _)
--8<---------------cut here---------------end--------------->8---

That said, that code is much less useful now that
<https://issues.guix.gnu.org/68741> has been merged, so perhaps we could
close the issue?

Thanks,
Ludo’.




This bug report was last modified 112 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.