From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: bug#27157: [PATCH] Re: bug#27157: Building Guile 2.2 "times out" Date: Sat, 03 Jun 2017 13:38:40 -0700 Message-ID: <87tw3wq01b.fsf_-_@gmail.com> References: <871sr5sm11.fsf@gmail.com> <878tld2quh.fsf@elephly.net> <87d1ao91vy.fsf@gnu.org> <87o9u7r8ug.fsf@gmail.com> <87lgpb75jk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34150) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHFpB-00011a-IG for bug-guix@gnu.org; Sat, 03 Jun 2017 16:39:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHFp8-0007wT-ED for bug-guix@gnu.org; Sat, 03 Jun 2017 16:39:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:51535) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dHFp8-0007wJ-B2 for bug-guix@gnu.org; Sat, 03 Jun 2017 16:39:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dHFp7-00062C-RB for bug-guix@gnu.org; Sat, 03 Jun 2017 16:39:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87lgpb75jk.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 01 Jun 2017 23:37:51 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27157@debbugs.gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Maxim Cournoyer 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 =E2=80=98set-build-options=E2=80=99 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)))) Which seems to be matched with the following in nix-daemon.cc: if (GET_PROTOCOL_MINOR(clientVersion) < 0x61) { settings.set("build-max-jobs", std::to_string(readInt(from))); settings.set("build-max-silent-time", std::to_string(readInt(fr= om))); } 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. > Perhaps the build remains silent for just about an hour and you were > lucky on your second try? See explanation above. I don't think this . > At any rate, it would be good to remove =E2=80=98max-silent-time=E2=80=99= from all the > =E2=80=98%default-options=E2=80=99 variables, for consistency. > > Ludo=E2=80=99. 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). Maxim