From unknown Mon Jun 23 07:50:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37449: Bug when using non-trivial inferiors/channel setup Resent-From: Carl Dong Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 18 Sep 2019 16:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37449 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 37449@debbugs.gnu.org X-Debbugs-Original-To: "bug-guix@gnu.org" Reply-To: Carl Dong Received: via spool by submit@debbugs.gnu.org id=B.156882294030479 (code B ref -1); Wed, 18 Sep 2019 16:09:01 +0000 Received: (at submit) by debbugs.gnu.org; 18 Sep 2019 16:09:00 +0000 Received: from localhost ([127.0.0.1]:54751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAcVo-0007vX-5R for submit@debbugs.gnu.org; Wed, 18 Sep 2019 12:09:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:60334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAcVm-0007vP-Q4 for submit@debbugs.gnu.org; Wed, 18 Sep 2019 12:08:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56024) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAcVk-0005Gi-9a for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:57 -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.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAcVi-0003tS-BH for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:55 -0400 Received: from mail4.protonmail.ch ([185.70.40.27]:64298) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iAcVh-0003ql-TK for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:54 -0400 Date: Wed, 18 Sep 2019 16:08:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=carldong.me; s=protonmail; t=1568822926; bh=Twpu70VB/N91+A9AJgqvLPQ0rLAATTLyCyNgWTlP9DE=; h=Date:To:From:Reply-To:Subject:Feedback-ID:From; b=aTmkhozGx1eEzPOnnUnptIslGIgbBTSetwEjZh8NWF74JIOsklsbvA/pAC85yCVbr TAc5AVB9h7laFl3kZNhuU1/zu8CISTWuxDZzrbh+fh6KCcdSPYakjkb/YazmeoexKE V5DkRHETrXNZJhNDu9Rm8laWIgMmr46D+beYm4Vs= From: Carl Dong Message-ID: Feedback-ID: a8j8tDUaJ4AYuDVBywMTwsJebN4w8TVXadJLsJb8td3t3dZi9RdXFlPaQvoFKnI9KgXySsPXcRkajVyY0cGTcA==:Ext:ProtonMail 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: 185.70.40.27 X-Spam-Score: -1.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: -2.3 (--) Hi all, This is a followup to some discussion between rekado, civodul, and I on IRC= (see end of email for transcript). There is a curious bug that happens when usin= g non-trivial inferiors/channels setup that triggers an error with vague outp= ut, something like: ``` building path(s) `/gnu/store/myrl5p8fy3qhpdv7376sak8wmhdsrl5f-profile' Backtrace: 2 (primitive-load "/home/dongcarl/.config/guix/current/bi= =E2=80=A6") In guix/ui.scm: 1692:12 1 (run-guix-command _ . _) 623:13 0 (_ srfi-34 #) guix/ui.scm:623:13: Throw to key `wrong-type-arg' with args `("condition-ha= s-type?" "Wrong type argument")'. ``` Both rekado and I have ran into this problem. Rekado ran into this problem = when using inferiors with more than one channel, and I ran into this problem whe= n using an inferior with a channel that has a .guix-channel file specifying a 'guix channel. A detail here is that it only triggers, but triggers reliabl= y, for certain packages in our manifests, with is quite odd. I've attached the IRC conversation below for convenience. Cheers, Carl Dong contact@carldong.me "I fight for the users" ``` question about general Guix debugging... I'm building a manifest= , and I see this: https://pastebin.com/JjpEjxaG dongcarl: I=E2=80=99ve bumped into this very same bug just a day a= go It's hard to know where to look... :-/ I=E2=80=99m not sure what=E2=80=99s going on here. rekado: REALLY?! a user at the institute, actually Where did you bump into it? Sounds like it needs to be fixed we=E2=80=99re using inferiors with more than one channel rekado: Right exactly! the user managed to avoid the problem for now by pinning the 'guix= channel to commit 2f43e5db1c36ec93a80ed1e3cbe763a8d64adcb5. this sounds like a meta error, really Hmm... Well let me describe what I have there=E2=80=99s something triggering an error in an expression tha= t is wrapped in =E2=80=9Ccall-with-error-handling=E2=80=9D Perhaps the info will be helpful for debugging but the error is not a condition, so the guard fails or something like that my manifest only has one channel in it, called `'bitcoin-guix`, = and that channel's repo has a `.guix-channel` file that specifies a `'guix`= channel actually, the error says that it got a =E2=80=9Ccondition=E2=80= =9D but wrapped inside an =E2=80=9Cinferior-object=E2=80=9D that=E2=80=99s the problem, I think it should just be a condition. the fact that we=E2=80=99re using an inferior results in a wrapped= value it should be unwrapped before raising the condition. another piece of info, this is only happens for one of the packa= ges in the manifest (I narrowed it down), all others are fine =E2=80=94 dongcarl reading same here it happened for python-scanpy others were ine *fine I=E2=80=99m guessing that this may be related to sexp->object in r= ead-repl-response in guix/inferior.scm rekado: Huh... conditions don=E2=80=99t have a self-quoting sexp representation so they end up being wrapped in inferior-object rekado: Is this easy to fix? I don=E2=80=99t know. rekado: what should I look for in guix/inferior.scm? I can take = a look read-repl-response expects to read either (values =E2=80=A6) or (e= xception =E2=80=A6) from the port I don=E2=80=99t know what a condition value would look like we probably need to a) make sure that conditions are serialized pr= operly and b) handle them in read-repl-response. rekado: Why does this error only happen for _some_ objects and b= ut not all? I don=E2=80=99t know we don=E2=80=99t even see the actual error. I guess (a) needs to be done in guix/repl.scm in send-repl-respons= e the problem seems to be that there we only catch plain exceptions,= but not conditions =E2=80=94 dongcarl needs to read up on exceptions and conditions (error 'foo) is an exception conditions are more complex and are defined in srfi-35 conditions have proper types whereas plain errors really only have= a key and optional arguments errors can be caught with (catch 'the-key =E2=80=A6) or (catch #t = =E2=80=A6) for any error dongcarl: could you paste the error on, say, paste.debian.net? (p= atebin.com cannot be accessed over Tor) civodul: Yes, would love to, one second rekado: Ah the type distinction is good to know debugging exceptions from an inferior is... inconvenient civodul: http://paste.debian.net/hidden/03c69d6b/ civodul: agreed I was actually thinking that perhaps inferiors can be a first-cl= ass `guix` cli construct... Not sure if that's possible As in, run the CLI as if `guix` was at this commit Maybe that's dumb :man-shrugging: gunna be back online in 30 mins if you guys need more logs or wt= v dongcarl: oh, i see actually i don't see that much, mostly ellipses ah the re-throw for SRFI-34/35 is interesting it cannot work we should maybe serialize &store-error conditions over the wire ``` From unknown Mon Jun 23 07:50:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37449: Bug when using non-trivial inferiors/channel setup Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 20 Sep 2019 21:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37449 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Carl Dong Cc: 37449@debbugs.gnu.org Received: via spool by 37449-submit@debbugs.gnu.org id=B37449.15690139372426 (code B ref 37449); Fri, 20 Sep 2019 21:13:01 +0000 Received: (at 37449) by debbugs.gnu.org; 20 Sep 2019 21:12:17 +0000 Received: from localhost ([127.0.0.1]:58681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBQCO-0000d3-L9 for submit@debbugs.gnu.org; Fri, 20 Sep 2019 17:12:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBQCM-0000cm-Uj for 37449@debbugs.gnu.org; Fri, 20 Sep 2019 17:12:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60700) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iBQCH-0004xH-Dc; Fri, 20 Sep 2019 17:12:09 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=48674 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iBQCG-0003eE-DF; Fri, 20 Sep 2019 17:12:08 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: Date: Fri, 20 Sep 2019 23:12:07 +0200 In-Reply-To: (Carl Dong's message of "Wed, 18 Sep 2019 16:08:45 +0000") Message-ID: <87mueyoeoo.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (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-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 Carl, Carl Dong skribis: > building path(s) `/gnu/store/myrl5p8fy3qhpdv7376sak8wmhdsrl5f-profile' > Backtrace: > 2 (primitive-load "/home/dongcarl/.config/guix/current/bi=E2= =80=A6") > In guix/ui.scm: > 1692:12 1 (run-guix-command _ . _) > 623:13 0 (_ srfi-34 #) > > guix/ui.scm:623:13: Throw to key `wrong-type-arg' with args `("condition-= has-type?" "Wrong type argument")'. With commit e773b3918f51231f28363905b64ca164b172b47a, you should be able to see the actual error condition. >From there, we should have clues as to why some inferior packages in your manifest are problematic. Let me know! Ludo=E2=80=99. From unknown Mon Jun 23 07:50:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37449: Bug when using non-trivial inferiors/channel setup Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 21 Sep 2019 20:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37449 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Carl Dong Cc: 37449@debbugs.gnu.org Received: via spool by 37449-submit@debbugs.gnu.org id=B37449.156909771228761 (code B ref 37449); Sat, 21 Sep 2019 20:29:02 +0000 Received: (at 37449) by debbugs.gnu.org; 21 Sep 2019 20:28:32 +0000 Received: from localhost ([127.0.0.1]:33201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBlzb-0007Tp-CJ for submit@debbugs.gnu.org; Sat, 21 Sep 2019 16:28:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57075) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBlzZ-0007Tc-I6 for 37449@debbugs.gnu.org; Sat, 21 Sep 2019 16:28:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48520) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iBlzU-0007VZ-0i; Sat, 21 Sep 2019 16:28:24 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52980 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iBlzT-0005Bf-2g; Sat, 21 Sep 2019 16:28:23 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87mueyoeoo.fsf@gnu.org> Date: Sat, 21 Sep 2019 22:28:21 +0200 In-Reply-To: <87mueyoeoo.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 20 Sep 2019 23:12:07 +0200") Message-ID: <871rw9e6my.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (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-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 (---) Ludovic Court=C3=A8s skribis: > With commit e773b3918f51231f28363905b64ca164b172b47a, you should be able > to see the actual error condition. Actually commit 71507435225f10d8d944ba183cbcc77ef953e0e5. From unknown Mon Jun 23 07:50:14 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: Carl Dong Subject: bug#37449: closed (Re: bug#37449: Bug when using non-trivial inferiors/channel setup) Message-ID: References: <87y2xydpis.fsf@gnu.org> X-Gnu-PR-Message: they-closed 37449 X-Gnu-PR-Package: guix Reply-To: 37449@debbugs.gnu.org Date: Sun, 06 Oct 2019 12:32:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1570365122-7942-1" This is a multi-part message in MIME format... ------------=_1570365122-7942-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #37449: Bug when using non-trivial inferiors/channel setup which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 37449@debbugs.gnu.org. --=20 37449: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37449 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1570365122-7942-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 37449-done) by debbugs.gnu.org; 6 Oct 2019 12:31:19 +0000 Received: from localhost ([127.0.0.1]:45747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iH5h1-0001TJ-9u for submit@debbugs.gnu.org; Sun, 06 Oct 2019 08:31:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47114) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iH5gw-0001Kq-VM for 37449-done@debbugs.gnu.org; Sun, 06 Oct 2019 08:31:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55825) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iH5gr-00034Z-Ed; Sun, 06 Oct 2019 08:31:09 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40558 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iH5gr-0005oa-0k; Sun, 06 Oct 2019 08:31:09 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Carl Dong Subject: Re: bug#37449: Bug when using non-trivial inferiors/channel setup References: <87mueyoeoo.fsf@gnu.org> Date: Sun, 06 Oct 2019 14:31:07 +0200 In-Reply-To: <87mueyoeoo.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 20 Sep 2019 23:12:07 +0200") Message-ID: <87y2xydpis.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (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-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37449-done Cc: 37449-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: -3.3 (---) Hi Carl, Ludovic Court=C3=A8s skribis: > Carl Dong skribis: > >> building path(s) `/gnu/store/myrl5p8fy3qhpdv7376sak8wmhdsrl5f-profile' >> Backtrace: >> 2 (primitive-load "/home/dongcarl/.config/guix/current/bi=E2= =80=A6") >> In guix/ui.scm: >> 1692:12 1 (run-guix-command _ . _) >> 623:13 0 (_ srfi-34 #) >> >> guix/ui.scm:623:13: Throw to key `wrong-type-arg' with args `("condition= -has-type?" "Wrong type argument")'. > > With commit e773b3918f51231f28363905b64ca164b172b47a, you should be able > to see the actual error condition. > >>>From there, we should have clues as to why some inferior packages in > your manifest are problematic. [...] > Actually commit 71507435225f10d8d944ba183cbcc77ef953e0e5. IIRC you mentioned on IRC that the problem is solved, so I=E2=80=99m closing this bug. Please reopen it if anything=E2=80=99s wrong! Thanks, Ludo=E2=80=99. ------------=_1570365122-7942-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 18 Sep 2019 16:09:00 +0000 Received: from localhost ([127.0.0.1]:54751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAcVo-0007vX-5R for submit@debbugs.gnu.org; Wed, 18 Sep 2019 12:09:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:60334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAcVm-0007vP-Q4 for submit@debbugs.gnu.org; Wed, 18 Sep 2019 12:08:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56024) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAcVk-0005Gi-9a for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:57 -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.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAcVi-0003tS-BH for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:55 -0400 Received: from mail4.protonmail.ch ([185.70.40.27]:64298) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iAcVh-0003ql-TK for bug-guix@gnu.org; Wed, 18 Sep 2019 12:08:54 -0400 Date: Wed, 18 Sep 2019 16:08:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=carldong.me; s=protonmail; t=1568822926; bh=Twpu70VB/N91+A9AJgqvLPQ0rLAATTLyCyNgWTlP9DE=; h=Date:To:From:Reply-To:Subject:Feedback-ID:From; b=aTmkhozGx1eEzPOnnUnptIslGIgbBTSetwEjZh8NWF74JIOsklsbvA/pAC85yCVbr TAc5AVB9h7laFl3kZNhuU1/zu8CISTWuxDZzrbh+fh6KCcdSPYakjkb/YazmeoexKE V5DkRHETrXNZJhNDu9Rm8laWIgMmr46D+beYm4Vs= To: "bug-guix@gnu.org" From: Carl Dong Subject: Bug when using non-trivial inferiors/channel setup Message-ID: Feedback-ID: a8j8tDUaJ4AYuDVBywMTwsJebN4w8TVXadJLsJb8td3t3dZi9RdXFlPaQvoFKnI9KgXySsPXcRkajVyY0cGTcA==:Ext:ProtonMail 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: 185.70.40.27 X-Spam-Score: -1.3 (-) 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: , Reply-To: Carl Dong Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi all, This is a followup to some discussion between rekado, civodul, and I on IRC= (see end of email for transcript). There is a curious bug that happens when usin= g non-trivial inferiors/channels setup that triggers an error with vague outp= ut, something like: ``` building path(s) `/gnu/store/myrl5p8fy3qhpdv7376sak8wmhdsrl5f-profile' Backtrace: 2 (primitive-load "/home/dongcarl/.config/guix/current/bi= =E2=80=A6") In guix/ui.scm: 1692:12 1 (run-guix-command _ . _) 623:13 0 (_ srfi-34 #) guix/ui.scm:623:13: Throw to key `wrong-type-arg' with args `("condition-ha= s-type?" "Wrong type argument")'. ``` Both rekado and I have ran into this problem. Rekado ran into this problem = when using inferiors with more than one channel, and I ran into this problem whe= n using an inferior with a channel that has a .guix-channel file specifying a 'guix channel. A detail here is that it only triggers, but triggers reliabl= y, for certain packages in our manifests, with is quite odd. I've attached the IRC conversation below for convenience. Cheers, Carl Dong contact@carldong.me "I fight for the users" ``` question about general Guix debugging... I'm building a manifest= , and I see this: https://pastebin.com/JjpEjxaG dongcarl: I=E2=80=99ve bumped into this very same bug just a day a= go It's hard to know where to look... :-/ I=E2=80=99m not sure what=E2=80=99s going on here. rekado: REALLY?! a user at the institute, actually Where did you bump into it? Sounds like it needs to be fixed we=E2=80=99re using inferiors with more than one channel rekado: Right exactly! the user managed to avoid the problem for now by pinning the 'guix= channel to commit 2f43e5db1c36ec93a80ed1e3cbe763a8d64adcb5. this sounds like a meta error, really Hmm... Well let me describe what I have there=E2=80=99s something triggering an error in an expression tha= t is wrapped in =E2=80=9Ccall-with-error-handling=E2=80=9D Perhaps the info will be helpful for debugging but the error is not a condition, so the guard fails or something like that my manifest only has one channel in it, called `'bitcoin-guix`, = and that channel's repo has a `.guix-channel` file that specifies a `'guix`= channel actually, the error says that it got a =E2=80=9Ccondition=E2=80= =9D but wrapped inside an =E2=80=9Cinferior-object=E2=80=9D that=E2=80=99s the problem, I think it should just be a condition. the fact that we=E2=80=99re using an inferior results in a wrapped= value it should be unwrapped before raising the condition. another piece of info, this is only happens for one of the packa= ges in the manifest (I narrowed it down), all others are fine =E2=80=94 dongcarl reading same here it happened for python-scanpy others were ine *fine I=E2=80=99m guessing that this may be related to sexp->object in r= ead-repl-response in guix/inferior.scm rekado: Huh... conditions don=E2=80=99t have a self-quoting sexp representation so they end up being wrapped in inferior-object rekado: Is this easy to fix? I don=E2=80=99t know. rekado: what should I look for in guix/inferior.scm? I can take = a look read-repl-response expects to read either (values =E2=80=A6) or (e= xception =E2=80=A6) from the port I don=E2=80=99t know what a condition value would look like we probably need to a) make sure that conditions are serialized pr= operly and b) handle them in read-repl-response. rekado: Why does this error only happen for _some_ objects and b= ut not all? I don=E2=80=99t know we don=E2=80=99t even see the actual error. I guess (a) needs to be done in guix/repl.scm in send-repl-respons= e the problem seems to be that there we only catch plain exceptions,= but not conditions =E2=80=94 dongcarl needs to read up on exceptions and conditions (error 'foo) is an exception conditions are more complex and are defined in srfi-35 conditions have proper types whereas plain errors really only have= a key and optional arguments errors can be caught with (catch 'the-key =E2=80=A6) or (catch #t = =E2=80=A6) for any error dongcarl: could you paste the error on, say, paste.debian.net? (p= atebin.com cannot be accessed over Tor) civodul: Yes, would love to, one second rekado: Ah the type distinction is good to know debugging exceptions from an inferior is... inconvenient civodul: http://paste.debian.net/hidden/03c69d6b/ civodul: agreed I was actually thinking that perhaps inferiors can be a first-cl= ass `guix` cli construct... Not sure if that's possible As in, run the CLI as if `guix` was at this commit Maybe that's dumb :man-shrugging: gunna be back online in 30 mins if you guys need more logs or wt= v dongcarl: oh, i see actually i don't see that much, mostly ellipses ah the re-throw for SRFI-34/35 is interesting it cannot work we should maybe serialize &store-error conditions over the wire ``` ------------=_1570365122-7942-1--