From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id Vm9aEo56S1//PAAA0tVLHw (envelope-from ) for ; Sun, 30 Aug 2020 10:08:14 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 6BH9DY56S1/mZAAAbx9fmQ (envelope-from ) for ; Sun, 30 Aug 2020 10:08:14 +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 CF36C94062D for ; Sun, 30 Aug 2020 10:08:12 +0000 (UTC) Received: from localhost ([::1]:45344 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kCKFt-0002qa-PR for larch@yhetil.org; Sun, 30 Aug 2020 06:08:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kCKFm-0002qI-J0 for bug-guix@gnu.org; Sun, 30 Aug 2020 06:08:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37974) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kCKFm-0005C6-9b for bug-guix@gnu.org; Sun, 30 Aug 2020 06:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kCKFm-0008E8-41 for bug-guix@gnu.org; Sun, 30 Aug 2020 06:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#41878: 'guix substitute' and 'guix pull' fail gracelessly on flaky networks References: In-Reply-To: Resent-From: Brendan Tildesley Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sun, 30 Aug 2020 10:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41878 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 41878@debbugs.gnu.org Received: via spool by 41878-submit@debbugs.gnu.org id=B41878.159878203631573 (code B ref 41878); Sun, 30 Aug 2020 10:08:02 +0000 Received: (at 41878) by debbugs.gnu.org; 30 Aug 2020 10:07:16 +0000 Received: from localhost ([127.0.0.1]:49520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kCKF1-0008DA-Lt for submit@debbugs.gnu.org; Sun, 30 Aug 2020 06:07:16 -0400 Received: from mout-p-102.mailbox.org ([80.241.56.152]:60160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kCKEz-0008Cw-31 for 41878@debbugs.gnu.org; Sun, 30 Aug 2020 06:07:14 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4BfTX96WDXzKmbN for <41878@debbugs.gnu.org>; Sun, 30 Aug 2020 12:07:05 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brendan.scot; s=MBO0001; t=1598782024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7C49rL0D4VCLrSDydwTu/D/21xfspS9ZeXJySLcncs=; b=TfYUC+JmzvozVJ+17ubhuHKvhce44JYNEqoPIiFI7auRbIUD3RKzLrJJ1Nw65OuBspUvB1 jnA6MYD01E2tk5xNLnHDGByr6fn386uzaKJC0688YhCyAhOd00p0yz62oAytetRsa5zDpR HnpdxzkvQ9VMsMjaFXBG/WiuwhHZRpi2E1BBxoEMdzc0P/WFewsAhuzTtYE2TmgKBpg6pt C32QBbaU35k7mE0oGZGU4G3y984OimtDERRHuaug/phUcWqHEBvdD9bQRiN5wsKWVCFaPt 1cxqQZPBq37tP9zDDts1ZDvTCQO33WW3wq2ttL1p6Fm9MGZTxV1deQOmtvJJ6Q== Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter04.heinlein-hosting.de (spamfilter04.heinlein-hosting.de [80.241.56.122]) (amavisd-new, port 10030) with ESMTP id 3KdsH4dOruCI for <41878@debbugs.gnu.org>; Sun, 30 Aug 2020 12:07:02 +0200 (CEST) From: Brendan Tildesley Message-ID: <2486f02b-b36f-7747-4eb0-b43d9215dd9f@brendan.scot> Date: Sun, 30 Aug 2020 20:06:58 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-MBO-SPAM-Probability: X-Rspamd-Score: -0.95 / 15.00 / 15.00 X-Rspamd-Queue-Id: DB15B683 X-Rspamd-UID: 92278a X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.7 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=brendan.scot header.s=MBO0001 header.b=TfYUC+Jm; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: 1.49 X-TUID: 8ql7PQIazQ2p I have not looked closely but from observation I think currently guix first decides if it is going to commit to using a substitute, or falling back to building locally, by checking if substitutes are available then committing to a method. This differs from the concept of a fallback in my head, which would involve trying option B only after option A has been tried and failed. guix's way means there are a class of failures where guix simply gives up and stops instead of falling back. In my experience, probably 10% of the time I try a guix pull; guix package -u ., there is some weird network error that doesn't happen the second time I run it. Perhaps it would be sufficient to simply try twice for every substitute; accumulate a list of failed substitutes and retry them after iterating through the list of substitutes to download, then if that fails try building from source. only then are we allowed to give up.