From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id sJxTGex0oV8nEAAA0tVLHw (envelope-from ) for ; Tue, 03 Nov 2020 15:19:08 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id ADdeFex0oV/1fAAAB5/wlQ (envelope-from ) for ; Tue, 03 Nov 2020 15:19:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 26F789402B4 for ; Tue, 3 Nov 2020 15:19:08 +0000 (UTC) Received: from localhost ([::1]:51598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZy5T-0005xG-0Z for larch@yhetil.org; Tue, 03 Nov 2020 10:19:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:35268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZxUl-0003td-E7 for guix-devel@gnu.org; Tue, 03 Nov 2020 09:41:11 -0500 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:44013) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kZxUi-0000M4-0T for guix-devel@gnu.org; Tue, 03 Nov 2020 09:41:10 -0500 Received: by mail-pg1-x536.google.com with SMTP id r10so13820904pgb.10 for ; Tue, 03 Nov 2020 06:41:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=8C8uy60AitArTvJOs9rIQgTiNKUGk2kH5ep9NRWO0+g=; b=xLOEyd/b7rDl/CG7GS8Wa+jqw6czZK5Ewc+1Lu5csjioyfk9At763s4ZPkoNcprBz+ bdu05GTr6d0B1ZP5PGBw+7s9QcJdwXqt0nS1M0T+BExbYmZg/506gKusZCA6XKXhHIaL SQT6CQHUYF1cEiXYti/vBM5p5SMK2xU1eRHdIobraD36Z1ZGNshVl5r5OmbCN/lNQ9r5 6Z4D6Dq3v2Q97c28gPoAfwj5a4jCjrCFLX+d8WDEw3epQD7J2KZv2Wpm2yVfwh7EOis+ ZLHDUUp9JyJR4ITNPNS/ao2zM1Mh+PnAxpDYqq0QPG6GGOO7TEnml1aq7+kSLan63pKK rs+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=8C8uy60AitArTvJOs9rIQgTiNKUGk2kH5ep9NRWO0+g=; b=GHdPH4FRrg63BOtfWwfihYXbO+R6E3Nbx3JLottjFpDOSKcpPWckepZWaDDHElgjwn oRZCJYq8xMGHgLC3ZEX25vHy7Ym3Yijsx5VGK3SotDPrnlgWGxHs8xOZdQO3nzJf0krf vPd31rnPW42fnlZ28jT05DsT7bygvzdDlj58fc1PM/dah6VvDJrwHoG68UoyTw/jwlIM ESN793TVPtknaZSgwDGOyZymNoUD4IecnqOA926YLg3JFsqNgEV/Gpt61UGYzIlE8BG7 p1yoxpmBDbnSn6ro/cWYApepsp2TA9vCaXWIr5WyvBNDDA6GpLTxrPku8n94is/6zrLv yT8w== X-Gm-Message-State: AOAM533bVZTHFiY78p9+bQzU60hu420FzhIqls77OGPb5zJ0aoqvVeOH /ydj5X80DtaJIHd2ufcVtk4DXmL5OvlMew== X-Google-Smtp-Source: ABdhPJx936AG1/11Ga2/vhY1kM2Pz9OCyw6gxYYrJhm/K0Cn90XztnnoTbRZysIPWGZTV+vsU6BsLg== X-Received: by 2002:aa7:9afc:0:b029:152:9d45:6723 with SMTP id y28-20020aa79afc0000b02901529d456723mr25322377pfp.35.1604414465855; Tue, 03 Nov 2020 06:41:05 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id ca5sm3877182pjb.27.2020.11.03.06.41.03 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 03 Nov 2020 06:41:04 -0800 (PST) From: John Soo To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: RFC: subcommand to pause/resume builds References: <87r1pbzixl.fsf@asu.edu> <87zh3yczss.fsf@gnu.org> Date: Tue, 03 Nov 2020 06:41:02 -0800 In-Reply-To: <87zh3yczss.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 03 Nov 2020 14:53:07 +0100") Message-ID: <87imamzeo1.fsf@asu.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=jsoo1@asu.edu; helo=mail-pg1-x536.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=asu-edu.20150623.gappssmtp.com header.s=20150623 header.b=xLOEyd/b; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=asu.edu (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.11 X-TUID: dZFJvIeLEPP5 Hello! I want to preface all this by saying this is not a huge priority to me. pause/resume would just be a nice quality of life improvement. Ludovic Court=C3=A8s writes: > First, note that the daemon is unaware of =E2=80=9Cpackages=E2=80=9D, it = only knows > about =E2=80=9Cderivations=E2=80=9D. Agreed. I was thinking mostly about the best interface for a user. But if derivations are too low-level I can see not being able to use the package name. > Second, =E2=80=98guix processes=E2=80=99 is nice but it uses low-level he= uristics to > determine what daemon sessions are open, what their clients are, and > what they=E2=80=99re building; it resorts to heuristics because the daemo= n as it > stands doesn=E2=80=99t have a way to communicate its current state. It w= orks > well in practice, but still I wouldn=E2=80=99t go too far building around= it. > > Last, you=E2=80=99d need to send SIGTSTP to the whole process group of the > build, like so (I think, haven=E2=80=99t tried): > > sudo kill -TSTP -123 Ah right, I got that advice on IRC also but I don't actually know how to do it. Thanks! > where 123 is the =E2=80=9CSessionPID=E2=80=9D shown by =E2=80=98guix proc= esses=E2=80=99. However, doing > so may affect build results: processes in the build environment might > handle SIGTSTP specially, which can have side effects. It=E2=80=99s an > observable action. I thought of the side effects after sending the email. Makes sense to me. Does that mean it is not worth including? Given that the source and state of a build do not change while paused, if a build tool changes its outputs after paused/resumed is it still reproducible? The other part that would make it difficult is that maybe different build-systems respond differently to different signals. A simpler to implement alternative might just be to provide a way to send an arbitrary signal to the process tree. Given some builds might respond un-reproducibly to it, a warning could be provided. In any case, such a subcommand not a high priority to me as a user, though sometimes I long to pause guix build ungoogled-chromium. Thanks again, John