[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27157: [PATCH] Re: bug#27157: Building Guile 2.2 "times out"
From: |
Ludovic Courtès |
Subject: |
bug#27157: [PATCH] Re: bug#27157: Building Guile 2.2 "times out" |
Date: |
Sat, 03 Jun 2017 23:37:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Maxim Cournoyer <address@hidden> skribis:
> address@hidden (Ludovic Courtès) writes:
>
>> Maxim Cournoyer <address@hidden> skribis:
>>
>>> Guix build doesn't come with default option value for the
>>> max-silent-time, but guix environment does, and it is set to 3600
>>> s. This is defined under (guix scripts environment):
>>>
>>> (define %default-options
>>> `((system . ,(%current-system))
>>> (substitutes? . #t)
>>> (graft? . #t)
>>> (max-silent-time . 3600)
>>> (verbosity . 0)))
>>>
>>> If this is by design, I guess this issue can be closed.
>>
>> Good catch!
>>
>> However, according to ‘set-build-options’ in (guix store),
>> #:max-silent-time #f is equivalent to #:max-silent-time 3600.
>
> IIUC, this should only be true when (< (nix-server-minor-version
> server) #x61), as can be seen in (guix store):
>
> (when (< (nix-server-minor-version server) #x61)
> (let ((max-build-jobs (or max-build-jobs 1))
> (xomax-silent-time (or max-silent-time 3600)))
> (send (integer max-build-jobs) (integer max-silent-time))))
Oooh, indeed, sorry for the confusion. So what happens when
#:max-silent-time is #f is that we use the daemon’s default value, which
is infinite (zero) by default (see libstore/globals.cc).
> Given that the the nix worker protocole PROTOCOL_VERSION was bumped to
> 0x161 in commit deac976d3d26c7b85b9c90efb424b0aa94f1027c last January, I
> would *not* expect this condition to be evaluated.
>
> By the way, I find it weird that these conditions be expressed in terms
> of the minor version number only. The correctness of those is thus only
> guaranteed as long as the major number version is not bumped; this seems
> unwise.
Historical baggage: the major number was never bumped, I think. :-)
You’re right though.
>> At any rate, it would be good to remove ‘max-silent-time’ from all the
>> ‘%default-options’ variables, for consistency.
>>
>> Ludo’.
>
> I agree! In my view, interactive user commands should expect the users
> to take action themselves (e.g.; user notice no output for 3 hours; hits
> C-c. Or, user notice no output for 3 hours, check the process in top,
> sees it's still doing something, decides to leave it running a couple
> more hours).
Yes. Would you like to prepare a patch to remove ‘max-silent-time’ from
all the ‘%default-options’?
In the meantime I’ll add --timeout and --max-silent-time as options to
guix-daemon.
Thanks!
Ludo’.