From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Date: Fri, 17 Jun 2022 17:27:23 -0400 Message-ID: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5141"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 55972@debbugs.gnu.org To: Lynn Winebarger Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jun 17 23:28:28 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o2JW0-00019P-EE for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Jun 2022 23:28:28 +0200 Original-Received: from localhost ([::1]:33258 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o2JVx-000494-PU for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Jun 2022 17:28:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2JVf-00045K-R9 for bug-gnu-emacs@gnu.org; Fri, 17 Jun 2022 17:28:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53221) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o2JVa-0004mG-62 for bug-gnu-emacs@gnu.org; Fri, 17 Jun 2022 17:28:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o2JVa-0001cR-2M for bug-gnu-emacs@gnu.org; Fri, 17 Jun 2022 17:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 17 Jun 2022 21:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55972 X-GNU-PR-Package: emacs Original-Received: via spool by 55972-submit@debbugs.gnu.org id=B55972.16555012606194 (code B ref 55972); Fri, 17 Jun 2022 21:28:02 +0000 Original-Received: (at 55972) by debbugs.gnu.org; 17 Jun 2022 21:27:40 +0000 Original-Received: from localhost ([127.0.0.1]:47118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2JVD-0001bq-Qy for submit@debbugs.gnu.org; Fri, 17 Jun 2022 17:27:40 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:8313) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2JVB-0001bc-RQ for 55972@debbugs.gnu.org; Fri, 17 Jun 2022 17:27:39 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B4B1C8025F; Fri, 17 Jun 2022 17:27:30 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 15E6A8043C; Fri, 17 Jun 2022 17:27:25 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1655501245; bh=YnghBfg335JK0I6snQ2u59N3xbB4QpxX2BiQMwwO8zM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=VSTag6xmKcHu0BNxFB/ZKTRF7Gx9tFz7VEjGHqCVRNer3AqkOa6UuM8uEiPSug97J tROL8tNxs9jrOZ+e+s7W12RKdktPqbO+561QQgwkI7GWmkssPq3wJdsLcmQMjXn1Ls o8EdqIqWO2/n+M6EPtk7NIlz3abHMo8RiGuQ5/0McXZN83SApWgc3WTpDAtPSBapJU YMwHK25xLAk0AFX2fAHnkFoQqDieclnpl1E35hLCTLjlbFb9XLWenshO4To9cYW6tw Pk0/YhgIlfGyu0HxinL3ERMS44MEkSeCOqLIOjsB3ki4IVjwIhvuJYn60QiMiHwYJL gYThISYYc+P/Q== Original-Received: from alfajor (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D05D31204C5; Fri, 17 Jun 2022 17:27:24 -0400 (EDT) In-Reply-To: (Lynn Winebarger's message of "Fri, 17 Jun 2022 16:06:01 -0400") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:234725 Archived-At: > I was going to ask about directly addressing the underlying problem by > tail-calling or trampolining to a byte-code vector in the constants > array, but then realized you would have to either make sure there > could be no "gotos" between the segments or do a real trampoline to an > explicit label. And in either case you would have to save the > contents of the stack frame and reinstate them in the continuation > byte-code call, and I don't see any byte-codes that would support > that. Otherwise you could only do it when you know there is no stack > in use, which is what I believe your solution effectively does. Indeed, the 64k limit can bite hard in some cases where working around it would take a lot of work and we don't have any of the infrastructure needed for it. But luckily, in practice those hard cases tend not to occur at all. Instead we tend to bump into the limit just because we're too naive in how we combine together several top-level expressions. > As long as I'm looking at the compile log, I also see a lot of errors of > the form: > package-quickstart2.el:14739:39: Warning: The compiler ignores > =E2=80=98autoload=E2=80=99 except at top level. You should > probably put the autoload of the macro =E2=80=98bind-map-for-min= or-mode=E2=80=99 > at top-level. Could you make a separate bug report for this one? I'm not sure what's the better fix for this one. It should be a harmless warning, but even when it's harmless it's annoying. Stefan