all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: 宋文武 <iyzsong@member.fsf.org>
Cc: 28756@debbugs.gnu.org
Subject: bug#28756: Substitute download progress bar doesn't reach 100%
Date: Sun, 15 Oct 2017 21:33:11 +0200	[thread overview]
Message-ID: <87lgkcuryg.fsf@gnu.org> (raw)
In-Reply-To: <87y3od93dg.fsf@member.fsf.org> ("宋文武"'s message of "Sat, 14 Oct 2017 23:05:15 +0800")

[-- Attachment #1: Type: text/plain, Size: 2315 bytes --]

Hello,

iyzsong@member.fsf.org (宋文武) skribis:

> iyzsong@member.fsf.org (宋文武) writes:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> Hello,
>>>
>>> Leo Famulari <leo@famulari.name> skribis:
>>>
>>>> I just upgraded to the latest Guix and, while downloading substitutes, I
>>>> noticed the progress bar seems to never reach 100%, as shown below. I'm
>>>> not sure if this started recently or not.
>>>>
>>>> Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/drm4pj1k5mkb5784i0rkqb0bg2z8lmyw-libabw-0.1.1...
>>>>  libabw-0.1.1  346KiB
>>>
>>> Indeed, I’ve noticed too, and I think it relates to the new progress
>>> reporters.  宋文武, do you experience this as well?  Thoughts?
>>>
>>
>> Yes, thanks for the report, commit abaee53c8 should fix it.
>>
>
> Well, it didn't...  I have to learn it's a child process will read and
> report the process:
>
> From 93b42f62ece1ad5181ed1119fc750bcbb74c5d3c Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
> Date: Sat, 14 Oct 2017 22:45:55 +0800
> Subject: [PATCH] guix: substitute: Report the last process in the child
>  process.
>
> Fixes <https://bugs.gnu.org/28756>.
>
> * guix/utils.scm (filtered-port): Close the 'input' port in the child process.
> * guix/scripts/substitute.scm (progress-substitution): Close the 'progress'
> port before 'restore-file'.

[...]

> +      ;; A child process of 'decompressed-port' will read from this 'process'
                                                                  ^^^^^^^^^^^^^
… will read from PROGRESS

> +      ;; port and thus report the actual progress to the console.  As the
> +      ;; parent process, we should close it at the start.
> +      (close-port progress)
>        ;; Unpack the Nar at INPUT into DESTINATION.
>        (restore-file input destination)
>        (close-port input)
> -      (close-port progress)
> +      (every (compose zero? cdr waitpid) pids)

Since INPUT is a wrapper around PROGRESS, it seems weird to close
PROGRESS beforehand.

Shouldn’t ‘filtered-port’ always close INPUT in the parent process (the
second part of the patch you sent closes it in the child process before
quitting, but we should additionally close it in the parent):


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 542 bytes --]

diff --git a/guix/utils.scm b/guix/utils.scm
index de4aa6531..2cf9be36d 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -153,9 +153,11 @@ buffered data is lost."
                   (close-port in)
                   (dump-port input out))
                 (lambda ()
+                  (close-port input)
                   (false-if-exception (close out))
                   (primitive-_exit 0))))
              (child
+              (close-port input)
               (close-port out)
               (loop in (cons child pids)))))))))
 

[-- Attachment #3: Type: text/plain, Size: 21 bytes --]


Thanks,
Ludo’.

  reply	other threads:[~2017-10-15 19:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-09  3:52 bug#28756: Substitute download progress bar doesn't reach 100% Leo Famulari
2017-10-09  7:41 ` Ludovic Courtès
2017-10-12 14:39   ` 宋文武
2017-10-14 15:05     ` 宋文武
2017-10-15 19:33       ` Ludovic Courtès [this message]
2017-10-16 13:06         ` 宋文武
2017-10-17  7:16           ` Ludovic Courtès
2017-10-17 11:10             ` 宋文武
2017-10-17 12:03               ` Ludovic Courtès
     [not found] ` <handler.28756.D28756.150823866318807.notifdone@debbugs.gnu.org>
2017-10-30 14:30   ` bug#28756: closed (Re: bug#28756: Substitute download progress bar doesn't reach 100%) Leo Famulari
2017-10-30 16:37     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lgkcuryg.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=28756@debbugs.gnu.org \
    --cc=iyzsong@member.fsf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.