From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26489: [PATCH] substitute: Ignore bad responses. Resent-From: Tobias Geerinckx-Rice Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 14 Apr 2017 00:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 26489@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.149212963415661 (code B ref -1); Fri, 14 Apr 2017 00:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Apr 2017 00:27:14 +0000 Received: from localhost ([127.0.0.1]:46258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyp50-00044X-E4 for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:14 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44332) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyp4y-00044I-FN for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyp4r-000598-Uf for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_50,RCVD_IN_SORBS_SPAM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:56635) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cyp4r-000591-RZ for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyp4q-0004rD-6r for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyp4n-00058B-1l for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:04 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:58022) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cyp4m-00057g-Sn for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:00 -0400 Received: from mfilter14-d.gandi.net (mfilter14-d.gandi.net [217.70.178.142]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id CC644C5A54 for ; Fri, 14 Apr 2017 02:26:57 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter14-d.gandi.net Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter14-d.gandi.net (mfilter14-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id hW0WwWkSp0z1 for ; Fri, 14 Apr 2017 02:26:56 +0200 (CEST) X-Originating-IP: 81.240.210.34 Received: from v5.tobias.gr (34.210-240-81.adsl-dyn.isp.belgacom.be [81.240.210.34]) (Authenticated sender: me@tobias.gr) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 501F4C5A50 for ; Fri, 14 Apr 2017 02:26:55 +0200 (CEST) From: Tobias Geerinckx-Rice Date: Fri, 14 Apr 2017 02:27:55 +0200 Message-Id: <20170414002755.32672-1-me@tobias.gr> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.5 (---) * guix/scripts/substitute.scm (http-multiple-get): Catch BAD-RESPONSE exceptions and keep going. --- Guix, One weird HTTP response from a server will kill ‘guix substitute’: updating list of substitutes from 'https://foo'... 50.0%Backtrace: ... guix/ui.scm:1229:8: In procedure run-guix-command: guix/ui.scm:1229:8: Throw to key `bad-response' with args `("Bad Response-Line: ~s" (""))'. error: build failed: substituter `substitute' died unexpectedly Attached is a patch to ignore such bad responses. The offending .narinfo will be ignored for that session, and not cached at all. The result: updating list of substitutes from 'https://bar'... 100.0% updating list of substitutes from 'https://foo'... 2.9% (bad response) updating list of substitutes from 'https://foo'... 5.9% (bad response) As a nice bonus, guix doesn't keel over and die. Is this the best solution? A good one? Should it be made more obvious that only READ-RESPONSE can throw, and that PROC will never be called with, a bad response? No idea. I haven't had enough free time to learn good the Guile like I'd so hoped to do at the beginning of the year. :c Be gentle, dear reader, and all that, T G-R guix/scripts/substitute.scm | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index d3bccf4dd..7eccf9831 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -564,18 +564,24 @@ initial connection on which HTTP requests are sent." (() (reverse result)) ((head tail ...) - (let* ((resp (read-response p)) - (body (response-body-port resp)) - (result (proc head resp body result))) - ;; The server can choose to stop responding at any time, in which - ;; case we have to try again. Check whether that is the case. - ;; Note that even upon "Connection: close", we can read from BODY. - (match (assq 'connection (response-headers resp)) - (('connection 'close) - (close-connection p) - (connect #f tail result)) ;try again - (_ - (loop tail result)))))))))) ;keep going + (catch 'bad-response + (lambda () + (let* ((resp (read-response p)) + (body (response-body-port resp)) + (result (proc head resp body result))) + ;; The server can stop responding at any time, in which case + ;; we have to try again. Check whether that's the case. Note + ;; that we can read from BODY even upon "Connection: close". + (match (assq 'connection (response-headers resp)) + (('connection 'close) + (close-connection p) + (connect #f tail result)) ; try again + (_ + (loop tail result))))) ; keep going + (lambda args + ;; This message appears on the same line as the progress report. + (format (current-error-port) " (bad response)~%") + (loop tail result))))))))) ; keep going (define (read-to-eof port) "Read from PORT until EOF is reached. The data are discarded." -- 2.12.2 From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26489: [PATCH] substitute: Ignore bad responses. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 14 Apr 2017 09:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Tobias Geerinckx-Rice Cc: 26489@debbugs.gnu.org Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.149216368710433 (code B ref 26489); Fri, 14 Apr 2017 09:55:01 +0000 Received: (at 26489) by debbugs.gnu.org; 14 Apr 2017 09:54:47 +0000 Received: from localhost ([127.0.0.1]:46471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyxwF-0002iC-7A for submit@debbugs.gnu.org; Fri, 14 Apr 2017 05:54:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyxwD-0002i0-L5 for 26489@debbugs.gnu.org; Fri, 14 Apr 2017 05:54:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyxw4-0005xq-1V for 26489@debbugs.gnu.org; Fri, 14 Apr 2017 05:54:40 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48470) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyxw3-0005xe-Tt; Fri, 14 Apr 2017 05:54:35 -0400 Received: from [193.50.110.181] (port=60894 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cyxw3-0002Jp-DZ; Fri, 14 Apr 2017 05:54:35 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170414002755.32672-1-me@tobias.gr> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Germinal an 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Fri, 14 Apr 2017 11:54:32 +0200 In-Reply-To: <20170414002755.32672-1-me@tobias.gr> (Tobias Geerinckx-Rice's message of "Fri, 14 Apr 2017 02:27:55 +0200") Message-ID: <87lgr3gvqf.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Howdy! Tobias Geerinckx-Rice skribis: > * guix/scripts/substitute.scm (http-multiple-get): Catch BAD-RESPONSE > exceptions and keep going. > --- > > Guix, > > One weird HTTP response from a server will kill =E2=80=98guix substitute= =E2=80=99: > > updating list of substitutes from 'https://foo'... 50.0%Backtrace: > ... > guix/ui.scm:1229:8: In procedure run-guix-command: > guix/ui.scm:1229:8: Throw to key `bad-response' with args > `("Bad Response-Line: ~s" (""))'. > error: build failed: substituter `substitute' died unexpectedly > > Attached is a patch to ignore such bad responses. The offending .narinfo > will be ignored for that session, and not cached at all. The result: I=E2=80=99m sure you expect this question: what bad responses did you get in practice? :-) Usually that is a sign of a broken HTTP server. Of course it=E2=80=99s widespread enough, we=E2=80=99d better handle it, either in Guix or directl= y in (web client) in Guile; OTOH, if it=E2=80=99s a genuine problem, we=E2=80=99= d better not hide it. Thanks, Ludo=E2=80=99. From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26489: [PATCH] substitute: Ignore bad responses. Resent-From: Tobias Geerinckx-Rice Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 28 Apr 2017 20:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: ludo@gnu.org Cc: 26489@debbugs.gnu.org Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.14934129277578 (code B ref 26489); Fri, 28 Apr 2017 20:56:01 +0000 Received: (at 26489) by debbugs.gnu.org; 28 Apr 2017 20:55:27 +0000 Received: from localhost ([127.0.0.1]:45141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d4CvH-0001yA-0Q for submit@debbugs.gnu.org; Fri, 28 Apr 2017 16:55:27 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:57156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d4CvE-0001y0-1D for 26489@debbugs.gnu.org; Fri, 28 Apr 2017 16:55:24 -0400 Received: from mfilter29-d.gandi.net (mfilter29-d.gandi.net [217.70.178.160]) by relay7-d.mail.gandi.net (Postfix) with ESMTP id 2F57C380C; Fri, 28 Apr 2017 22:55:22 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter29-d.gandi.net Received: from relay7-d.mail.gandi.net ([IPv6:::ffff:217.70.183.200]) by mfilter29-d.gandi.net (mfilter29-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id F0tfzQ9nJwqn; Fri, 28 Apr 2017 22:55:20 +0200 (CEST) X-Originating-IP: 87.67.124.5 Received: from [192.168.1.24] (5.124-67-87.adsl-dyn.isp.belgacom.be [87.67.124.5]) (Authenticated sender: me@tobias.gr) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id CB954381E; Fri, 28 Apr 2017 22:55:19 +0200 (CEST) From: Tobias Geerinckx-Rice References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> Message-ID: Date: Fri, 28 Apr 2017 22:56:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <87lgr3gvqf.fsf@gnu.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="npVXO4qtCh3ejtBqxp5mOos9q2kBDJBPH" X-Spam-Score: -3.0 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --npVXO4qtCh3ejtBqxp5mOos9q2kBDJBPH Content-Type: multipart/mixed; boundary="vflTNfUvuReHV58fGNUqghpgn50k4jVmN"; protected-headers="v1" From: Tobias Geerinckx-Rice To: ludo@gnu.org Cc: 26489@debbugs.gnu.org Message-ID: Subject: Re: bug#26489: [PATCH] substitute: Ignore bad responses. References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> In-Reply-To: <87lgr3gvqf.fsf@gnu.org> --vflTNfUvuReHV58fGNUqghpgn50k4jVmN Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludo', I should really send this message in my Drafts folder since 14/4... :-/ On 14/04/17 11:54, Ludovic Court=C3=A8s wrote: > Tobias Geerinckx-Rice skribis: >> One weird HTTP response from a server will kill =E2=80=98guix substitu= te=E2=80=99: >>=20 >> updating list of substitutes from 'https://foo'... 50.0%Backtrace: >> ... guix/ui.scm:1229:8: In procedure run-guix-command:=20 >> guix/ui.scm:1229:8: Throw to key `bad-response' with args `("Bad=20 >> Response-Line: ~s" (""))'. error: build failed: substituter=20 >> `substitute' died unexpectedly >>=20 >> Attached is a patch to ignore such bad responses. The offending=20 >> .narinfo will be ignored for that session, and not cached at all.=20 >> The result: >=20 > I=E2=80=99m sure you expect this question: what bad responses did you g= et in=20 > practice? :-) In fact, not really. The error message looked unambiguous to me: the HTTP response (the first line returned to the client, e.g. "HTTP/1.1 200 OK") was simply empty, throwing an exception. Interestingly, a newline seems to be required. Using http://bad.http.response.tobias.gr as a substitute server triggers it. http://no.http.response.tobias.gr does not. > Usually that is a sign of a broken HTTP server. I think it's actually something in-between me and the server. I'll take a closer look next time this happens. > Of course it=E2=80=99s widespread enough, we=E2=80=99d better handle i= t, either in=20 > Guix or directly in (web client) in Guile; As I read it, (web client) considers throwing a BAD-RESPONSE exception the best or only way to deal with an error like this. I agree. > OTOH, if it=E2=80=99s a genuine problem, we=E2=80=99d better not hide i= t. Well, we don't hide it, per se. Hence the error message. I think throwing an unhandled exception is definitely the wrong thing to do here =E2=80=94 this kills even =E2=80=98guix --keep-going --fallback=E2= =80=99. I'm less sure about the right place to do it Kind regards, T G-R --vflTNfUvuReHV58fGNUqghpgn50k4jVmN-- --npVXO4qtCh3ejtBqxp5mOos9q2kBDJBPH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQFBBAEBCgArFiEEeqzfDJ8DWw5d4xcqkczbm0hUG5kFAlkDrIMNHG1lQHRvYmlh cy5ncgAKCRCRzNubSFQbmWMfCACXx9L0VyzmtAs0U/tG6fQWpRlpPeCxQSUGqCmT XoFFroX+fZi2EGiL1n5RVsgY0p0CMETK69+TbLQT18nFnzgP1pa8ZD2BCFzgE/sl TQsHPtTbslF6KfFJlefd2WeNNSjSjr1NhHTzLywjShIFFj659p1ju/W0FJMOEgrd n99WxofOxN1vyX+Cp5CCTzRpx5gmFmFmyohBzEKOzismJuhE2i2+lAQE6m92DI+7 ldPfxBaLf5vVZ8VF+xHLD0GqKKt1fQ4RHhEf7xa27A4rM6f+2v6l/8WxACq+xjYf KuystEXSTg0pMphT9sGa7fgdZbqIjcE8db8Q2bp0YJy+8FBH =y+3J -----END PGP SIGNATURE----- --npVXO4qtCh3ejtBqxp5mOos9q2kBDJBPH-- From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26489: [PATCH] substitute: Ignore bad responses. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 01 May 2017 13:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Tobias Geerinckx-Rice Cc: 26489@debbugs.gnu.org Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.149364449815448 (code B ref 26489); Mon, 01 May 2017 13:15:02 +0000 Received: (at 26489) by debbugs.gnu.org; 1 May 2017 13:14:58 +0000 Received: from localhost ([127.0.0.1]:48631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d5BAI-000416-HN for submit@debbugs.gnu.org; Mon, 01 May 2017 09:14:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d5BAH-00040u-7N for 26489@debbugs.gnu.org; Mon, 01 May 2017 09:14:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d5BA8-00049o-Lv for 26489@debbugs.gnu.org; Mon, 01 May 2017 09:14:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40286) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d5BA8-00049k-IP; Mon, 01 May 2017 09:14:48 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:58358 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d5BA7-0001j7-Vv; Mon, 01 May 2017 09:14:48 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 12 =?UTF-8?Q?Flor=C3=A9al?= an 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Mon, 01 May 2017 15:14:44 +0200 In-Reply-To: (Tobias Geerinckx-Rice's message of "Fri, 28 Apr 2017 22:56:34 +0200") Message-ID: <87o9vc3eij.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi! Tobias Geerinckx-Rice skribis: > On 14/04/17 11:54, Ludovic Court=C3=A8s wrote: >> Tobias Geerinckx-Rice skribis: >>> One weird HTTP response from a server will kill =E2=80=98guix substitut= e=E2=80=99: >>>=20 >>> updating list of substitutes from 'https://foo'... 50.0%Backtrace: >>> ... guix/ui.scm:1229:8: In procedure run-guix-command:=20 >>> guix/ui.scm:1229:8: Throw to key `bad-response' with args `("Bad=20 >>> Response-Line: ~s" (""))'. error: build failed: substituter=20 >>> `substitute' died unexpectedly >>>=20 >>> Attached is a patch to ignore such bad responses. The offending=20 >>> .narinfo will be ignored for that session, and not cached at all.=20 >>> The result: >>=20 >> I=E2=80=99m sure you expect this question: what bad responses did you ge= t in=20 >> practice? :-) > > In fact, not really. The error message looked unambiguous to me: the > HTTP response (the first line returned to the client, e.g. "HTTP/1.1 200 > OK") was simply empty, throwing an exception. > > Interestingly, a newline seems to be required. > > Using http://bad.http.response.tobias.gr as a substitute server triggers > it. http://no.http.response.tobias.gr does not. > >> Usually that is a sign of a broken HTTP server. > > I think it's actually something in-between me and the server. I'll take > a closer look next time this happens. > >> Of course it=E2=80=99s widespread enough, we=E2=80=99d better handle it= , either in=20 >> Guix or directly in (web client) in Guile; > > As I read it, (web client) considers throwing a BAD-RESPONSE exception > the best or only way to deal with an error like this. I agree. > >> OTOH, if it=E2=80=99s a genuine problem, we=E2=80=99d better not hide it. > > Well, we don't hide it, per se. Hence the error message. > > I think throwing an unhandled exception is definitely the wrong thing to > do here =E2=80=94 this kills even =E2=80=98guix --keep-going --fallback= =E2=80=99. I'm less sure > about the right place to do it Oh right, if that kills --fallback, that=E2=80=99s a problem. Back to your initial patch, what about moving =E2=80=98bad-response=E2=80= =99 handling to the call site of =E2=80=98http-multiple-get=E2=80=99 instead of having it in =E2=80=98http-multiple-get=E2=80=99? (That way, =E2=80=98http-multiple-get= =E2=80=99 would behave like =E2=80=98http-get=E2=80=99 in this respect.) Upon a =E2=80=98bad-response=E2=80=99, =E2=80=98fetch-narinfos=E2=80=99 wou= ld return #f or the empty list or the partial narinfo list it has built so far. WDYT? I=E2=80=99d be happy with a patch along these lines! Thank you, Ludo=E2=80=99. From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#26489] [PATCH] substitute: Ignore bad responses. Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 18 Dec 2020 20:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Tobias Geerinckx-Rice Cc: 26489@debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.160832309221484 (code B ref 26489); Fri, 18 Dec 2020 20:25:02 +0000 Received: (at 26489) by debbugs.gnu.org; 18 Dec 2020 20:24:52 +0000 Received: from localhost ([127.0.0.1]:40081 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kqMJ1-0005aS-Th for submit@debbugs.gnu.org; Fri, 18 Dec 2020 15:24:52 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:46118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kqMIz-0005aC-TM for 26489@debbugs.gnu.org; Fri, 18 Dec 2020 15:24:50 -0500 Received: by mail-wr1-f41.google.com with SMTP id d13so3595277wrc.13 for <26489@debbugs.gnu.org>; Fri, 18 Dec 2020 12:24:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=B6LDpXmEHMBkPF4MgZFEF6pYxooAgbAPjD8M0J6/wIA=; b=AbGzwUbYGmEhF2sWhia81bBw2Ah1zTgKcELbb1wotl7KubL/ANfYv0nnseEDWWTET5 QtW1mhu2DtEPRGhnX66A4/1W/D4ADkP5P2f2/XcAIUoMyLTn11t8IPx5O/bDt3FT006Z 6a/jOoSWv4ilG6iWM0sHGYmFsYau8ZX6CtwEzxjsf4tNk5bneoPXmoxy4b9zs+nvMDQ1 lURH51XvWM97obLTPqNs8Zbs5mvAqsXbLmMPb89FDFdVKLy4/8Uv1dOzOcesenuhxQ24 mroPfyYIaLVSV4SlVKi//zNLX7CCREH+k12IXDgDtxfdRk2D79Ic7EOFCDA+V0dqB32t ourQ== 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=B6LDpXmEHMBkPF4MgZFEF6pYxooAgbAPjD8M0J6/wIA=; b=hOOq/eDQZUCELHvUxZAn1gBR7ldaCL7p3PymjzH1wZ7f0JfUe37m+IBXUvNijKfv+J zd6g9U3AEJYNmyqB4s3XgU68g2c4zj0nyKuxTZ58bO30VcuCABqsgrQ/Xn8nzQ0sAMix Gm0BUsxNeAuDYy/O9a67vnDevuWFLVXrO15EYDrEWSJ4N/ChdkIbUosXsnyHoYImWYE3 cUG4KcvQK1PYRXE4/+3de9pHJ2K3fCoXjolbd2ZZNz9QDNfWzWBqjH211vRe3k+58sOo lR6OpTcWxCVEDHJn/6uXD3mDdq6C2abVV4F6SqD0wegPAghX/me67Cqw6pKZI68VqYzf tr5w== X-Gm-Message-State: AOAM533n110RLjiBxeXFRx+pwF+f6gHN/a38DcPbIxUO1vd5BqMuCdfu i77FzRHeFVfCx4jMJKqXPJ8= X-Google-Smtp-Source: ABdhPJzHjZ5Hbmo6DzHQ76qXn6vLWEnspMd44lObwXc4LEy+EcU5c7K/0JzvisXpkFnlkULRgVC4Zg== X-Received: by 2002:a5d:4c4d:: with SMTP id n13mr6312344wrt.356.1608323084075; Fri, 18 Dec 2020 12:24:44 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id b19sm12199269wmj.37.2020.12.18.12.24.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Dec 2020 12:24:43 -0800 (PST) From: zimoun References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> Date: Fri, 18 Dec 2020 21:19:16 +0100 In-Reply-To: <87o9vc3eij.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Mon, 01 May 2017 15:14:44 +0200") Message-ID: <861rfmvpdn.fsf@gmail.com> 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 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Tobias, Your patch #26489 sent a couple of years ago since lost in the vacuum of the crazy Debbugs. Patch is here: On Mon, 01 May 2017 at 15:14, ludo@gnu.org (Ludovic Court=C3=A8s) wrote: >> I think throwing an unhandled exception is definitely the wrong thing to >> do here =E2=80=94 this kills even =E2=80=98guix --keep-going --fallback= =E2=80=99. I'm less sure >> about the right place to do it > > Oh right, if that kills --fallback, that=E2=80=99s a problem. > > Back to your initial patch, what about moving =E2=80=98bad-response=E2=80= =99 handling to > the call site of =E2=80=98http-multiple-get=E2=80=99 instead of having it= in > =E2=80=98http-multiple-get=E2=80=99? (That way, =E2=80=98http-multiple-g= et=E2=80=99 would behave like > =E2=80=98http-get=E2=80=99 in this respect.) > > Upon a =E2=80=98bad-response=E2=80=99, =E2=80=98fetch-narinfos=E2=80=99 w= ould return #f or the empty > list or the partial narinfo list it has built so far. > > WDYT? > > I=E2=80=99d be happy with a patch along these lines! Tobias, do you plan to rework/rebase it? All the best, simon From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#26489] [PATCH] substitute: Ignore bad responses. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 20 Dec 2020 13:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: zimoun Cc: 26489@debbugs.gnu.org, Tobias Geerinckx-Rice Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.160847159916699 (code B ref 26489); Sun, 20 Dec 2020 13:40:02 +0000 Received: (at 26489) by debbugs.gnu.org; 20 Dec 2020 13:39:59 +0000 Received: from localhost ([127.0.0.1]:43878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kqywJ-0004LH-8i for submit@debbugs.gnu.org; Sun, 20 Dec 2020 08:39:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49416) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kqywH-0004L4-30 for 26489@debbugs.gnu.org; Sun, 20 Dec 2020 08:39:57 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:46418) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kqywB-0003B1-MV; Sun, 20 Dec 2020 08:39:51 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=34150 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kqywB-0001z5-6w; Sun, 20 Dec 2020 08:39:51 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> <861rfmvpdn.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 Frimaire an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 20 Dec 2020 14:39:48 +0100 In-Reply-To: <861rfmvpdn.fsf@gmail.com> (zimoun's message of "Fri, 18 Dec 2020 21:19:16 +0100") Message-ID: <87o8io8ul7.fsf@gnu.org> 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 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, zimoun skribis: > On Mon, 01 May 2017 at 15:14, ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > >>> I think throwing an unhandled exception is definitely the wrong thing to >>> do here =E2=80=94 this kills even =E2=80=98guix --keep-going --fallback= =E2=80=99. I'm less sure >>> about the right place to do it >> >> Oh right, if that kills --fallback, that=E2=80=99s a problem. >> >> Back to your initial patch, what about moving =E2=80=98bad-response=E2= =80=99 handling to >> the call site of =E2=80=98http-multiple-get=E2=80=99 instead of having i= t in >> =E2=80=98http-multiple-get=E2=80=99? (That way, =E2=80=98http-multiple-= get=E2=80=99 would behave like >> =E2=80=98http-get=E2=80=99 in this respect.) >> >> Upon a =E2=80=98bad-response=E2=80=99, =E2=80=98fetch-narinfos=E2=80=99 = would return #f or the empty >> list or the partial narinfo list it has built so far. >> >> WDYT? >> >> I=E2=80=99d be happy with a patch along these lines! > > Tobias, do you plan to rework/rebase it? In the meantime, commit 5ff521452b9ec2aae9ed8e4bb7bdc250a581f203 added =E2=80=98bad-response=E2=80=99 handling (and more). We should take a close= r look, but it may be that this issue is now addressed. Ludo=E2=80=99. From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#26489] [PATCH] substitute: Ignore bad responses. Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 11 Jan 2021 13:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26489@debbugs.gnu.org, Tobias Geerinckx-Rice Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.161037108221341 (code B ref 26489); Mon, 11 Jan 2021 13:19:01 +0000 Received: (at 26489) by debbugs.gnu.org; 11 Jan 2021 13:18:02 +0000 Received: from localhost ([127.0.0.1]:56076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kyx57-0005Xx-A1 for submit@debbugs.gnu.org; Mon, 11 Jan 2021 08:18:01 -0500 Received: from mail-wr1-f46.google.com ([209.85.221.46]:33853) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kyx54-0005Xb-AQ for 26489@debbugs.gnu.org; Mon, 11 Jan 2021 08:17:59 -0500 Received: by mail-wr1-f46.google.com with SMTP id q18so16427322wrn.1 for <26489@debbugs.gnu.org>; Mon, 11 Jan 2021 05:17:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=Y3RvR8pdZe0DlnjtiJogenRpjcUOpjkXecQ6MxOScM4=; b=n8jykIVc/OAFe3FlHDFTeaLLtHZpcfMOLSPmdfv3bjee6n3uE5+WmOYoLi53dfERuT fEqCgmuFfGHfeaOBj3yUK5Yz43kwMSAZRYxPBfPDo6DFB0EYdlaxhUjs9+yuYzCE5gaW vrBqykELEAkeV25wJOD46yKdhme90lqEgcq4R0BdQGrjnFTIeTb4cSzn53FQYyt3uFiv 1H7+4LkkDEiRqZz6xez0iQ23Ji7d165IH5THxKeiLQluDZKYsb5BpYpoC82L47vQL6gF 5ChCU6b97cIupBN99Qz/MpJpKMOP2Z4+ETn11Bs68LGKpD0YxO5WHTIilciPbMA4jYP6 BZJA== 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=Y3RvR8pdZe0DlnjtiJogenRpjcUOpjkXecQ6MxOScM4=; b=d00zNEa6uQKz6C5XcHOmJ1Y8N9FHXmoH6v1bPZmvtTjgjfoQhSwvugaerpJC7ahVcK Xdm0q+fa2DMwjqJBpNhLLEzBv4HhCod3Q41Vrd7Ge2tBCUU2H3sdFOYXI2KndKIDMAZU fcmbhYcTcMqpaFNXpYhBeS8xQCDMlreH0GoR6skSGEldc5/9VRwXo6ug/QiNRWnCKCUt gSxRLDhigTHev17tJqyMyBx3yvM48xGs/SIM22wqxooUdrG2rNs0M9FMpB2nCb9JAZ64 C//Ld1bssCd1jZjaNyYc+BBuCgfFMT5ZhYcAiSCZAWLsXIWkRg8RIdm5oIL/S4UVX6mg 2vWg== X-Gm-Message-State: AOAM533eLzqxSCgDJPCVllbAs1C7njPXASUGMpa1xyqkf9lwH5GjOO50 HxlzG5AKlpQ34kRPE3Tf6uE= X-Google-Smtp-Source: ABdhPJwhReqEuuy223J1CLGvYQhIEHp/EUB/L4/Ureo8WD0Ti7zoryIF9nML7dvjnNQRPN/nmsYqdg== X-Received: by 2002:a5d:43c3:: with SMTP id v3mr15909399wrr.184.1610371072583; Mon, 11 Jan 2021 05:17:52 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id 125sm22590200wmc.27.2021.01.11.05.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 05:17:51 -0800 (PST) From: zimoun References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> <861rfmvpdn.fsf@gmail.com> <87o8io8ul7.fsf@gnu.org> Date: Mon, 11 Jan 2021 14:08:22 +0100 In-Reply-To: <87o8io8ul7.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Sun, 20 Dec 2020 14:39:48 +0100") Message-ID: <861rertyd5.fsf@gmail.com> 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 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Tobias, On Sun, 20 Dec 2020 at 14:39, Ludovic Court=C3=A8s wrote: >>> I=E2=80=99d be happy with a patch along these lines! >> >> Tobias, do you plan to rework/rebase it? > > In the meantime, commit 5ff521452b9ec2aae9ed8e4bb7bdc250a581f203 added > =E2=80=98bad-response=E2=80=99 handling (and more). We should take a clo= ser look, but > it may be that this issue is now addressed. Since you reported the use-case and the patch, could you confirm that the commit 5ff521 addresses the issue? I think it does but maybe I am missing something; probably I am. :-) Cheers, simon From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#26489] [PATCH] substitute: Ignore bad responses. Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 15 Jan 2021 19:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: zimoun Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 26489@debbugs.gnu.org Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.161074035918328 (code B ref 26489); Fri, 15 Jan 2021 19:53:01 +0000 Received: (at 26489) by debbugs.gnu.org; 15 Jan 2021 19:52:39 +0000 Received: from localhost ([127.0.0.1]:41791 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0V9C-0004lY-Rm for submit@debbugs.gnu.org; Fri, 15 Jan 2021 14:52:39 -0500 Received: from lepiller.eu ([89.234.186.109]:60798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0V9A-0004lO-Mp for 26489@debbugs.gnu.org; Fri, 15 Jan 2021 14:52:37 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3669d8ca; Fri, 15 Jan 2021 19:52:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=kQGEqjJuaaff 6NbdVWd2PZbbMISj2U5PhNRFsd2fqLk=; b=TdBuA4kwjYTqsuZb4J7GK9rPaei6 VN2e6GCaOkgVMlYhGhNVLp797j1+KeuKHY6WhaVNOT9nnlvWQmkQZjWYPfYTbmqV kqHFAlLw41eG8IPLYWJ7FdvpfFvTmpyhBP1veNDvk15qvz4fGU9p6w5ISYVSybp9 MKp/I5GX+xmgsd93VcUbrm9JCbzIUnJhf0Hb/a+IQAKHyPQqunCeJPLb9HzpJwP2 Mo5BptbMd+MDSW3SwhbRkuvfYZxMh0SCY2z+1iTHGKLQ2LnwpDDx6GTLRT2RaT8V 3LmaneyMRmNdlbQScjLrEv4xgPb4qEOAToevIPTq94IsFdr02eXquLYH7A== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id f8c8979c (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 15 Jan 2021 19:52:35 +0000 (UTC) Date: Fri, 15 Jan 2021 20:52:24 +0100 From: Julien Lepiller Message-ID: <20210115205224.7f775008@tachikoma.lepiller.eu> In-Reply-To: <861rertyd5.fsf@gmail.com> References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> <861rfmvpdn.fsf@gmail.com> <87o8io8ul7.fsf@gnu.org> <861rertyd5.fsf@gmail.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Le Mon, 11 Jan 2021 14:08:22 +0100, zimoun a =C3=A9crit : > Hi Tobias, >=20 > On Sun, 20 Dec 2020 at 14:39, Ludovic Court=C3=A8s wrote: >=20 > >>> I=E2=80=99d be happy with a patch along these lines! =20 > >> > >> Tobias, do you plan to rework/rebase it? =20 > > > > In the meantime, commit 5ff521452b9ec2aae9ed8e4bb7bdc250a581f203 > > added =E2=80=98bad-response=E2=80=99 handling (and more). We should ta= ke a closer > > look, but it may be that this issue is now addressed. =20 >=20 > Since you reported the use-case and the patch, could you confirm that > the commit 5ff521 addresses the issue? >=20 > I think it does but maybe I am missing something; probably I am. :-) >=20 >=20 > Cheers, > simon >=20 >=20 >=20 It seems not, since a few days ago we had exactly that problem. See https://issues.guix.gnu.org/45828 From unknown Thu Sep 11 18:37:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#26489] [PATCH] substitute: Ignore bad responses. Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Feb 2021 01:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26489 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller , Tobias Geerinckx-Rice Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 26489@debbugs.gnu.org Received: via spool by 26489-submit@debbugs.gnu.org id=B26489.161283299530078 (code B ref 26489); Tue, 09 Feb 2021 01:10:01 +0000 Received: (at 26489) by debbugs.gnu.org; 9 Feb 2021 01:09:55 +0000 Received: from localhost ([127.0.0.1]:52193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9HXP-0007p0-8S for submit@debbugs.gnu.org; Mon, 08 Feb 2021 20:09:55 -0500 Received: from mail-wr1-f42.google.com ([209.85.221.42]:45574) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9HXO-0007oT-11 for 26489@debbugs.gnu.org; Mon, 08 Feb 2021 20:09:54 -0500 Received: by mail-wr1-f42.google.com with SMTP id m13so19540083wro.12 for <26489@debbugs.gnu.org>; Mon, 08 Feb 2021 17:09:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=NfewAS2iYuKAjnjf30fSCduoFiz1YyVWVPjbI0UDVKc=; b=rqu3Q0YfwYXxYTYPNecyvNziy9GBe/Pl3DF7IdkOnQX3KF0a76ux4p7ObTYUojro+k 1vAGmG+bZc/42awjZGgKRI4lOIPpqNZ63+5KRAmXZQ1VpYZaM/b1n4XjHYIPqLu/cMCj WyDVdM6z/R7op5zaTVHSLGUiRrOKQMii9jbCf97ENri4HSuKiAV2ck87Ex3vxcqRURmz HLRgy8tQJs0gZ9/lgDiG2Pj8+h1+Q6R0tAGCyJrk9YX22Xll5GWrpSDG0BGUHT2leSW8 w+v4Un8455fxG2HsvRQQtqIg7zwKBb4LrFvMXYvIHQfVQ13dTl/8sYG8fQezBqscfjrW 8dLA== 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=NfewAS2iYuKAjnjf30fSCduoFiz1YyVWVPjbI0UDVKc=; b=AwimS36P73K6uGV2w/7wX5TiNQchYtZn4C2rMiUwCqS/30E1JHr5L9A3T52FxltL+e Dmu/q+v6e+JaWdGIzf2+YQn/wd60XHm0SSg/LWEpcNsXDAefgS2L68wRlJ70RoDF6OrQ 1R7SUGepmfdEjeXYEHX8NxTAJM/sii1DP/mKTrhOOlWHtOtv4rUkI123JYSyicDp9Cmq H7+IWabwHghTO3PfX4sEyi+Mt0Mxkr2wVaYTvTjbKrpYT+Jzo9Ov7i/rk30MXtQF3mB8 ZpTK4tklEz9HKgQrBgxRdcAPUSHspQpr9UUgUod+q17EI7UQTrCHsCi/Dg1a5l9zmDzR vaEQ== X-Gm-Message-State: AOAM531XG+xQdBPUj+ojFGXPAqZxCmcgmkCFWzFqzf6drS9yKdr+MI9u jiYpz/nD8jE2e1TPKhrpntGKvHJAiWY= X-Google-Smtp-Source: ABdhPJz/zDc6h3SitAHFARFnVkJRv/wUr12e0Jr+ZUxrPoqDOKkrld7KHnOy+nK7KwDB4P/L6Q64pg== X-Received: by 2002:a5d:4142:: with SMTP id c2mr22883935wrq.359.1612832988585; Mon, 08 Feb 2021 17:09:48 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id p9sm32224492wrj.11.2021.02.08.17.09.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 17:09:47 -0800 (PST) From: zimoun References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> <861rfmvpdn.fsf@gmail.com> <87o8io8ul7.fsf@gnu.org> <861rertyd5.fsf@gmail.com> <20210115205224.7f775008@tachikoma.lepiller.eu> Date: Tue, 09 Feb 2021 02:05:34 +0100 In-Reply-To: <20210115205224.7f775008@tachikoma.lepiller.eu> (Julien Lepiller's message of "Fri, 15 Jan 2021 20:52:24 +0100") Message-ID: <86v9b2jbj5.fsf@gmail.com> 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 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, On Fri, 15 Jan 2021 at 20:52, Julien Lepiller wrote: > Le Mon, 11 Jan 2021 14:08:22 +0100, > zimoun a =C3=A9crit : >> On Sun, 20 Dec 2020 at 14:39, Ludovic Court=C3=A8s wrote: >>=20 >> >>> I=E2=80=99d be happy with a patch along these lines!=20=20 >> >> >> >> Tobias, do you plan to rework/rebase it?=20=20 >> > >> > In the meantime, commit 5ff521452b9ec2aae9ed8e4bb7bdc250a581f203 >> > added =E2=80=98bad-response=E2=80=99 handling (and more). We should t= ake a closer >> > look, but it may be that this issue is now addressed.=20=20 >>=20 >> Since you reported the use-case and the patch, could you confirm that >> the commit 5ff521 addresses the issue? >>=20 >> I think it does but maybe I am missing something; probably I am. :-) > > It seems not, since a few days ago we had exactly that problem. See > https://issues.guix.gnu.org/45828 Bug#45828 is now closed. I think it makes sense to close this one too. If no objection, I am proposing to close this old bug. :-) Cheers, simon From unknown Thu Sep 11 18:37:31 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Tobias Geerinckx-Rice Subject: bug#26489: closed (Re: [bug#26489] [PATCH] substitute: Ignore bad responses.) Message-ID: References: <87h7mlvdho.fsf@gnu.org> <20170414002755.32672-1-me@tobias.gr> X-Gnu-PR-Message: they-closed 26489 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 26489@debbugs.gnu.org Date: Tue, 09 Feb 2021 08:43:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1612860181-23288-1" This is a multi-part message in MIME format... ------------=_1612860181-23288-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #26489: [PATCH] substitute: Ignore bad responses. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 26489@debbugs.gnu.org. --=20 26489: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D26489 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1612860181-23288-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 26489-done) by debbugs.gnu.org; 9 Feb 2021 08:42:38 +0000 Received: from localhost ([127.0.0.1]:52580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9ObV-00062z-LO for submit@debbugs.gnu.org; Tue, 09 Feb 2021 03:42:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9ObT-00062n-Ps for 26489-done@debbugs.gnu.org; Tue, 09 Feb 2021 03:42:36 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41606) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9ObM-0000HX-VC; Tue, 09 Feb 2021 03:42:29 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60302 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1l9ObM-0006Id-JK; Tue, 09 Feb 2021 03:42:28 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zimoun Subject: Re: [bug#26489] [PATCH] substitute: Ignore bad responses. References: <20170414002755.32672-1-me@tobias.gr> <87lgr3gvqf.fsf@gnu.org> <87o9vc3eij.fsf@gnu.org> <861rfmvpdn.fsf@gmail.com> <87o8io8ul7.fsf@gnu.org> <861rertyd5.fsf@gmail.com> <20210115205224.7f775008@tachikoma.lepiller.eu> <86v9b2jbj5.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 21 =?utf-8?Q?Pluvi=C3=B4se?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 09 Feb 2021 09:42:27 +0100 In-Reply-To: <86v9b2jbj5.fsf@gmail.com> (zimoun's message of "Tue, 09 Feb 2021 02:05:34 +0100") Message-ID: <87h7mlvdho.fsf@gnu.org> 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26489-done Cc: Julien Lepiller , Tobias Geerinckx-Rice , 26489-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, zimoun skribis: > On Fri, 15 Jan 2021 at 20:52, Julien Lepiller wrote: >> Le Mon, 11 Jan 2021 14:08:22 +0100, >> zimoun a =C3=A9crit : >>> On Sun, 20 Dec 2020 at 14:39, Ludovic Court=C3=A8s wrote: >>>=20 >>> >>> I=E2=80=99d be happy with a patch along these lines!=20=20 >>> >> >>> >> Tobias, do you plan to rework/rebase it?=20=20 >>> > >>> > In the meantime, commit 5ff521452b9ec2aae9ed8e4bb7bdc250a581f203 >>> > added =E2=80=98bad-response=E2=80=99 handling (and more). We should = take a closer >>> > look, but it may be that this issue is now addressed.=20=20 >>>=20 >>> Since you reported the use-case and the patch, could you confirm that >>> the commit 5ff521 addresses the issue? >>>=20 >>> I think it does but maybe I am missing something; probably I am. :-) >> >> It seems not, since a few days ago we had exactly that problem. See >> https://issues.guix.gnu.org/45828 > > Bug#45828 is now closed. I think it makes sense to close this one too. > > If no objection, I am proposing to close this old bug. :-) Sounds good, done! Ludo=E2=80=99. ------------=_1612860181-23288-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Apr 2017 00:27:14 +0000 Received: from localhost ([127.0.0.1]:46258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyp50-00044X-E4 for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:14 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44332) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyp4y-00044I-FN for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyp4r-000598-Uf for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_50,RCVD_IN_SORBS_SPAM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:56635) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cyp4r-000591-RZ for submit@debbugs.gnu.org; Thu, 13 Apr 2017 20:27:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyp4q-0004rD-6r for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyp4n-00058B-1l for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:04 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:58022) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cyp4m-00057g-Sn for guix-patches@gnu.org; Thu, 13 Apr 2017 20:27:00 -0400 Received: from mfilter14-d.gandi.net (mfilter14-d.gandi.net [217.70.178.142]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id CC644C5A54 for ; Fri, 14 Apr 2017 02:26:57 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter14-d.gandi.net Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter14-d.gandi.net (mfilter14-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id hW0WwWkSp0z1 for ; Fri, 14 Apr 2017 02:26:56 +0200 (CEST) X-Originating-IP: 81.240.210.34 Received: from v5.tobias.gr (34.210-240-81.adsl-dyn.isp.belgacom.be [81.240.210.34]) (Authenticated sender: me@tobias.gr) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 501F4C5A50 for ; Fri, 14 Apr 2017 02:26:55 +0200 (CEST) From: Tobias Geerinckx-Rice To: guix-patches@gnu.org Subject: [PATCH] substitute: Ignore bad responses. Date: Fri, 14 Apr 2017 02:27:55 +0200 Message-Id: <20170414002755.32672-1-me@tobias.gr> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.5 (---) * guix/scripts/substitute.scm (http-multiple-get): Catch BAD-RESPONSE exceptions and keep going. --- Guix, One weird HTTP response from a server will kill ‘guix substitute’: updating list of substitutes from 'https://foo'... 50.0%Backtrace: ... guix/ui.scm:1229:8: In procedure run-guix-command: guix/ui.scm:1229:8: Throw to key `bad-response' with args `("Bad Response-Line: ~s" (""))'. error: build failed: substituter `substitute' died unexpectedly Attached is a patch to ignore such bad responses. The offending .narinfo will be ignored for that session, and not cached at all. The result: updating list of substitutes from 'https://bar'... 100.0% updating list of substitutes from 'https://foo'... 2.9% (bad response) updating list of substitutes from 'https://foo'... 5.9% (bad response) As a nice bonus, guix doesn't keel over and die. Is this the best solution? A good one? Should it be made more obvious that only READ-RESPONSE can throw, and that PROC will never be called with, a bad response? No idea. I haven't had enough free time to learn good the Guile like I'd so hoped to do at the beginning of the year. :c Be gentle, dear reader, and all that, T G-R guix/scripts/substitute.scm | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index d3bccf4dd..7eccf9831 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -564,18 +564,24 @@ initial connection on which HTTP requests are sent." (() (reverse result)) ((head tail ...) - (let* ((resp (read-response p)) - (body (response-body-port resp)) - (result (proc head resp body result))) - ;; The server can choose to stop responding at any time, in which - ;; case we have to try again. Check whether that is the case. - ;; Note that even upon "Connection: close", we can read from BODY. - (match (assq 'connection (response-headers resp)) - (('connection 'close) - (close-connection p) - (connect #f tail result)) ;try again - (_ - (loop tail result)))))))))) ;keep going + (catch 'bad-response + (lambda () + (let* ((resp (read-response p)) + (body (response-body-port resp)) + (result (proc head resp body result))) + ;; The server can stop responding at any time, in which case + ;; we have to try again. Check whether that's the case. Note + ;; that we can read from BODY even upon "Connection: close". + (match (assq 'connection (response-headers resp)) + (('connection 'close) + (close-connection p) + (connect #f tail result)) ; try again + (_ + (loop tail result))))) ; keep going + (lambda args + ;; This message appears on the same line as the progress report. + (format (current-error-port) " (bad response)~%") + (loop tail result))))))))) ; keep going (define (read-to-eof port) "Read from PORT until EOF is reached. The data are discarded." -- 2.12.2 ------------=_1612860181-23288-1--