Hi, Bone Baboon <bone.bab...@disroot.org> skribis:
> On an x86_64 computer when I run `guix challenge` I get this error: > > ``` > ... > /gnu/store/5ds5bli4p6gja2yzmzzc0sik1kzrasp9-guix-extra contents differ: > local hash: 0aacxb6n0vrki8lb7f02r3m756cpc650hbihj9dpklkpvlgasqad > > https://ci.guix.gnu.org/nar/lzip/5ds5bli4p6gja2yzmzzc0sik1kzrasp9-guix-extra: > 0anncy58048fvbbi40wbfrd1dc6wk3zshx63p6jn2f03ljwakbkj > ci.guix.gnu.org 2.2MiB 416KiB/s 00:06 [##################] 101.3% > Backtrace: > In srfi/srfi-1.scm: > 634:9 19 (for-each #<procedure 7fe80c8c1e40 at guix/scripts/cha…> …) > In guix/scripts/challenge.scm: > 299:2 18 (report-differing-files _) > 279:2 17 (differing-files #<<comparison-report> item: "/gnu/stor…>) > In srfi/srfi-1.scm: > 586:17 16 (map1 (#<<narinfo> path: "/gnu/store/5ds5bli4p6gja2yzm…>)) > In guix/scripts/challenge.scm: > 262:4 15 (call-with-nar _ _) > In guix/utils.scm: > 253:8 14 (call-with-decompressed-port _ _ _) > In guix/serialization.scm: > 424:4 13 (fold-archive _ _ _ _) > 468:33 12 (read "" _) > 468:33 11 (read "/guix" _) > 442:24 10 (read "/guix/self.go" _) > In guix/scripts/challenge.scm: > 200:4 9 (_ "/guix/self.go" regular _ (("/guix/scripts.go" # …) …)) > In guix/serialization.scm: > 247:20 8 (dump #<input: string 7fe80d3471c0> #<output: string 7…> …) > In unknown file: > 7 (get-bytevector-n! #<input: string 7fe80d3471c0> # 0 #) > In lzlib.scm: > 501:4 6 (lzread! #<lz-decoder 7fe80dcef540> #<input: string 7f…> …) > In unknown file: > 5 (get-bytevector-n #<input: string 7fe80d347230> 65538) > In guix/progress.scm: > 362:23 4 (read! _ _ _) > 178:12 3 (display-download-progress _ _ #:tty? _ #:start-time _ # …) > In unknown file: > 2 (make-string -1 #\space) The bug comes from the fact that it’s gone beyond 100%. We could solve it by programming more defensively, but it’d be great to see where the problem comes from. Can you reproduce it with: ./pre-inst-env guix challenge /gnu/store/5ds5bli4p6gja2yzmzzc0sik1kzrasp9-guix-extra ? If so, could you apply the patch below and send the output of this command? We can discuss it on IRC if anything’s unclear. Thanks, Ludo’.
diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 4ec3be99ca..3cafc478a0 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -252,11 +252,12 @@ taken since we do not import the archives." "Call PROC with an input port from which it can read the nar pointed to by NARINFO." (let*-values (((uri compression size) - (narinfo-best-uri narinfo)) - ((port response) + (narinfo-best-uri narinfo #:fast-decompression? #t)) + ((port actual-size) (http-fetch uri))) (define reporter - (progress-reporter/file (narinfo-path narinfo) size + (progress-reporter/file (narinfo-path narinfo) + (max (pk 's size) (pk 'rs actual-size)) #:abbreviation (const (uri-host uri)))) (define result