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 ALs3A7nQI184MAAA0tVLHw (envelope-from ) for ; Fri, 31 Jul 2020 08:05:13 +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 IHN9OrjQI1/RegAAbx9fmQ (envelope-from ) for ; Fri, 31 Jul 2020 08:05:12 +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 66CED94005D for ; Fri, 31 Jul 2020 08:05:12 +0000 (UTC) Received: from localhost ([::1]:48776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k1Q2P-0005r0-Hq for larch@yhetil.org; Fri, 31 Jul 2020 04:05:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k1Q2I-0005qq-4J for bug-guix@gnu.org; Fri, 31 Jul 2020 04:05:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k1Q2H-0002OW-PV for bug-guix@gnu.org; Fri, 31 Jul 2020 04:05:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k1Q2H-0006cQ-J7 for bug-guix@gnu.org; Fri, 31 Jul 2020 04:05:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#42601: Guix install bug: error: Unbound variable: ~S Resent-From: Bengt Richter Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 31 Jul 2020 08:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42601 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ricardo Wurmus Received: via spool by 42601-submit@debbugs.gnu.org id=B42601.159618267325405 (code B ref 42601); Fri, 31 Jul 2020 08:05:01 +0000 Received: (at 42601) by debbugs.gnu.org; 31 Jul 2020 08:04:33 +0000 Received: from localhost ([127.0.0.1]:37293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1Q1p-0006bh-G0 for submit@debbugs.gnu.org; Fri, 31 Jul 2020 04:04:33 -0400 Received: from imta-36.everyone.net ([216.200.145.36]:34456 helo=imta-38.everyone.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1Q1m-0006bY-Rb for 42601@debbugs.gnu.org; Fri, 31 Jul 2020 04:04:32 -0400 Received: from pps.filterd (omta002.sj2.proofpoint.com [127.0.0.1]) by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 06V81DaL029984; Fri, 31 Jul 2020 01:04:29 -0700 X-Eon-Originating-Account: 5yIKLlPQPcaPQtZF1gumlTlStG_vvf93JAebbgdm7Bg X-Eon-Dm: m0116953.ppops.net Received: by m0116953.mta.everyone.net (EON-AUTHRELAY2 - 5a81dc5b) id m0116953.5ef25221.3c4b82; Fri, 31 Jul 2020 01:04:28 -0700 X-Eon-Sig: AQMHrIJfI9CMUAkm3wIAAAAD,bb73494a9e96cc5775804ac759369f5f X-Eip: s38O0-h5kfaWPc03Rd3yjOMfXHpoYjsYIL1WONdaE9Q Date: Fri, 31 Jul 2020 10:04:10 +0200 From: Bengt Richter Message-ID: <20200731080410.GA3470@LionPure> References: <20200729180947.682312e8@interia.pl> <20200729181647.62f44f79@interia.pl> <87v9i6gq5s.fsf@elephly.net> <20200729214428.0afc9ab4@interia.pl> <87sgdagjpe.fsf@elephly.net> <20200730001210.2d3617b8@interia.pl> <87pn8ege77.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87pn8ege77.fsf@elephly.net> User-Agent: Mutt/1.10.1 (2018-07-13) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-31_02:2020-07-31, 2020-07-31 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2006250000 definitions=main-2007310059 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: , Reply-To: Bengt Richter Cc: 42601@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; 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: -0.51 X-TUID: jlVuGuG8iIKE Hi, On +2020-07-30 00:15:56 +0200, Ricardo Wurmus wrote: > > Jan Wielkiewicz writes: > > > Dnia 2020-07-29, o godz. 22:17:01 > > Ricardo Wurmus napisał(a): > > > >> > >> “avr-toolchain” is a procedure, not a package. Use > >> “avr-toolchain-4.9” or “avr-toolchain-5”. > >> > > > > Success! > > > > What about the strange message though? > > "incorrect package definition" would be better. > > “Unbound variable: ~S” looks like a format string with a placeholder > that didn’t get replaced with an actual value. It would be marginally > better if it said “Unbound variable: avr-toolchain”. I suspect there are also bugs lurking in the exception-reporting chain between a (throw 'exception args ...) and the ultimate format statement that produces a message with "~S" in it. Perhaps one got fixed or avoided in the upgrade? It seems like something must receive a malformed (key . args) pair where the args don't match the standard(?) tuple expected for the key. I'd look for dynamic format string generation splitting arg strings and mistakenly recomposing a format string and args for it, such that "~S" got placed in the arg list instead of string-appended into the proper final format. Just a hunch. IIRC I've seen mangling the final format string and its args wind up with a mismatch in number of args and interpolation "~s" elements and if not papered over, that gets reported as a formatting error (which it is, but which hides the real error). > > We should, I think, take advantage of the fact that the type of inputs > is known: it can only be an origin or a package value. Perhaps we can > catch unbound variables in inputs and print a more valuable error > message. I think you are right. And all implicit meta-data should be seen as potential security vulnerabilities IMO :) Who do you trust to do a reinterpret-cast for you? > > -- > Ricardo > > > -- Regards, Bengt Richter