Subject: Re: bug#32895: file progress reporter crashes on small files

From: [email-masked] (Ludovic Courtès)
Date: Wed, 03 Oct 2018 23:08:54 +0200

Hello,

Ricardo Wurmus <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> Hello,
>>
>> Ricardo Wurmus <[email-masked]> skribis:
>>
>>> guix/progress.scm:214:25: In procedure display-download-progress:
>>> In procedure /: Wrong type argument in position 1: #f
>>>
>>> This happens because “transferred” in the “else” branch of (@ (guix
>>> progress) display-download-progress) is #f instead of a number.  This
>>> could be the result of running string->number on an invalid string in
>>> “print-build-event”.
>>
>> Indeed, that seems to be the case.  This would mean we’re emitting an
>> incorrect build trace.
>>
>> Do you have the exact command to reproduce it?
>
> Unfortunately, I don’t.

Or do you have the log around?  If you run, say:

  grep -r "download-progress .*#f" /var/log/guix/drvs

?

Looking at the code, I think only ‘progress-reporter/trace’ emits those
traces and only through calls to ‘dump-port*’, and I don’t see where
this #f could come from.

TIA,
Ludo’.