bug#52464: Backtrace during substitution

2021-12-13 Thread Lars-Dominik Braun
Hi,

I saw the following backtrace on core-updates-frozen, commit
869d69ad3248288ffe30264f5e5bd760792ca758, while fetching substitutes:

---snip---
substituting 
/gnu/store/xbxrx9yqgqbv6949gl9v9h2wm2y1iwqh-scikit-image-0.18.1.tar.gz...
downloading from 
https://ci.guix.gnu.org/nar/xbxrx9yqgqbv6949gl9v9h2wm2y1iwqh-scikit-image-0.18.1.tar.gz
 ...
 scikit-image-0.18.1.tar.gz  28.3MiB 8.42GiB/s 00:00 [  ]  
89.9%Backtrace:
  19 (apply-smob/0 #)
In ice-9/boot-9.scm:
724:2 18 (call-with-prompt _ _ #)
In ice-9/eval.scm:
619:8 17 (_ #(#(#)))
In guix/ui.scm:
   2206:7 16 (run-guix . _)
  2169:10 15 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10 14 (with-exception-handler _ _ #:unwind? _ # _)
In guix/status.scm:
802:4 13 (call-with-status-report _ _)
In ice-9/boot-9.scm:
  1752:10 12 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   658:37 11 (thunk)
   1320:8 10 (call-with-build-handler _ _)
   1320:8  9 (call-with-build-handler # …)
In guix/scripts/build.scm:
   699:26  8 (_)
In guix/store.scm:
  1421:15  7 (_ # _ _)
   759:13  6 (process-stderr _ _)
In unknown file:
   5 (display "@ substituter-succeeded /gnu/store/xbxrx9yqg…" …)
In guix/status.scm:
   725:16  4 (write! _ _ _)
639:6  3 (_ (download-progress "/gnu/store/xbxrx9yqgqbv6949g…" …) …)
In guix/progress.scm:
   223:17  2 (display-download-progress "scikit-image-0.18.1.tar.g@" …)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure =: Wrong type argument in position 1: #f
---snap---

However I cannot reproduce it. My guix-daemon is at
efd4d36a283acf5441159d4babf25d2054776579 (master).

Cheers,
Lars






bug#52464: Backtrace during substitution

2021-12-13 Thread Maxime Devos
Hi,

Lars-Dominik Braun schreef op ma 13-12-2021 om 13:31 [+0100]:
> substituting /gnu/store/xbxrx9yqgqbv6949gl9v9h2wm2y1iwqh-scikit-
> image-0.18.1.tar.gz...
> downloading from 
> https://ci.guix.gnu.org/nar/xbxrx9yqgqbv6949gl9v9h2wm2y1iwqh-scikit-image-0.18.1.tar.gz
>  ...
>  scikit-image-0.18.1.tar.gz  28.3MiB 8.42GiB/s 00:00
> [  ]  89.9%Backtrace:
>  [...]
> In guix/progress.scm:
>    223:17  2 (display-download-progress "scikit-image-0.18.1.tar.g@"
> …)
> In ice-9/boot-9.scm:
>   1685:16  1 (raise-exception _ #:continuable? _)
>   1685:16  0 (raise-exception _ #:continuable? _)
> 
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure =: Wrong type argument in position 1: #f

I guess that means 'transferred' is #false somehow.
Looking at guix/status.scm, maybe the following is important:

>(('download-progress item uri
> (= string->number size)
> (= string->number transferred))

string->number returns #f if the input is malformed, so I guess that
is what happens. I don't know _how_ that happens though.

Detecting #f somewhere and emitting a warning or error like
‘warning: ‘the malformed string’, representing the number of
transferred bytes, is malformed’ would be better. Fixing the underlying
error would be ideal.

I think I've seen this reported before, though I cannot find it again.

Greetings,
Maxime.