From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.emacs.devel Subject: Re: --with-native-compilation build failure on 32-bit systems Date: Mon, 8 Aug 2022 06:22:02 -0400 Message-ID: References: <86k07nl9qe.fsf@phe.ftfl.ca> <87bksyc36k.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000008e97e105e5b83006" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33153"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Lars Ingebrigtsen , Joseph Mingrone , emacs-devel , emacs@freebsd.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 08 12:23:14 2022 Return-path: Envelope-to: ged-emacs-devel@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 1oKzuj-0008RA-Uy for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Aug 2022 12:23:14 +0200 Original-Received: from localhost ([::1]:59280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oKzui-0003lh-K2 for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Aug 2022 06:23:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oKzts-00034F-Nc for emacs-devel@gnu.org; Mon, 08 Aug 2022 06:22:20 -0400 Original-Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]:43647) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oKzto-0008VI-Gj for emacs-devel@gnu.org; Mon, 08 Aug 2022 06:22:20 -0400 Original-Received: by mail-pg1-x534.google.com with SMTP id h132so8167674pgc.10 for ; Mon, 08 Aug 2022 03:22:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=4Q5abwkT71H+oWtC45xx/rrtlZfPJp2j3ZZYNcCj9yo=; b=byRuF6TGWO7Pv8DuYReSODyggUAsH4qhVmGf3fKU4XatRV94llSszBDF/EC/qjY83v fHseCP7O5xJRvTr2+Cv7Gvb/WZxiryFSQJNkR3P3SeKlFza8pXEuCU0VTuJkUI8dIuQr HImdZXlMvwZE7sqUF1vLl5DRsvX3NNSQMEFBke4EaEfd+yNt9CMmHaETRBjP9uTqf8K2 OS0P8cpdACQdh+aga4W1pDA3Otb7zh3kfTQNf0PG71Pmp6nbLCJOSXhyRMd2mUjGp5Nv gmTgnDKl+0RPXcP5XeDQ6A+js18zTVOE33SJZ7/ELgeN90P6F3B53T2wgL2HtTE284Hn UtYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=4Q5abwkT71H+oWtC45xx/rrtlZfPJp2j3ZZYNcCj9yo=; b=yRZjZrfeRTj+Xc3q63SEIqOlFBMDC7FZZJpehnp2DK64PZidrLyjw0mbXqfbqkSDvJ xk4+D647TrHqE9t5tBOY3T1GPf3EZayqqkXCqEQEh11n+uis2+rwJCq+W/pIzDmXwxTT /yg5NHTpg01psxWCqeO3acu3bDTc1uF67YiYWok8vPrBNHKCU4kHpj3U1bZPOIBcmg3w /If4AzT57mrk4b4GcnTdlW5w6Blhzx6evN0+GlQdb3/qJ4+Bxt4W5fVakNlWCz/J2clg SAb8XGMSfzF0Y0A00ck+M3Z/ZshDkxyGj3Qy5XMZ7ccG6UTwJdk606G9paL/fb9OzvQV ckJg== X-Gm-Message-State: ACgBeo2m4TB7FDmisjeJyjSBjalSFct5sR4R45QId8GWTNZcBaByPcFs AlrSzsd/d+TayRXBtDC6NLbjVY0mkgxuh0yUa5M= X-Google-Smtp-Source: AA6agR6dglOtbfnZJPmZ6Oq+bz8dQE8dXli9waV0oaNqqe6jXGioB6m1w/NPRYrb6kImEeyTOgyPXtn8HVXc5Qj+5Ms= X-Received: by 2002:aa7:8f0a:0:b0:52d:8135:64e0 with SMTP id x10-20020aa78f0a000000b0052d813564e0mr18068283pfr.0.1659954134946; Mon, 08 Aug 2022 03:22:14 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::534; envelope-from=owinebar@gmail.com; helo=mail-pg1-x534.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:293247 Archived-At: --0000000000008e97e105e5b83006 Content-Type: text/plain; charset="UTF-8" On Mon, Aug 8, 2022, 3:44 AM Andrea Corallo wrote: > Lynn Winebarger writes: > > > On Fri, Aug 5, 2022, 10:42 AM Andrea Corallo wrote: > > > > Andrea Corallo writes: > > > > > Lars Ingebrigtsen writes: > > > > > >> Joseph Mingrone writes: > > >> > > >>> Could 261d6af have broken --with-native-compilation builds on 32-bit > > >>> systems? This is what I see building in a clean FreeBSD/i386 13.0 > > >>> jail using 261d6af: > > >>> > http://pkg.ftfl.ca/data/13i386-default/2022-08-04_22h38m28s/logs/errors/emacs-devel-29.0.50.20220804,2.log > > >> > > >> I guess these are the error messages? > > >> > > >> emacs: Trying to load incoherent dumped eln file > > >> > > > /wrkdirs/usr/ports/editors/emacs-devel/work-full/emacs-261d6af/native-lisp/29.0.50-7cc1a43d/preloaded/ediff-hook-0b92f1a2-f843c8a0.eln > > > > >> > > >> I don't know what that means; Andrea added to the CCs. > > > > > > It's very surprising to see 261d6af causing this side effect, at > least I > > > don't see why should effect the 32bit build only. > > > > > > I'm trying to reproduce it on my 32bit env. > > > > I confirm the build it's broken on my 32bit env as well, (but not on the > > 64 one). > > > > Loading the second dump, while we are relocating the ediff-hook > > compilation unit, we realize (@ pdumper.c:5304) that its file field is > > not a cons as expected but just a string. > > > > Now the question is why this is not fixed-up in loadup.el:477 as for the > > other compilation units? > > > > Are you sure it's actually fixed up in the other compilation units? > > Indeed, otherwise an error is signaled. > > > This problem should be signaled by loadup if there are any NCUs it does > not fix up. It would be a lot easier to diagnose > > the problem from there. > > loadup is in charge of fixing up on all CU's file fields, and indeed if > something goes wrong in that code an error is signaled. But evidently > this is not the case, so there's something more to understand. > I just looked, and there are 2 possible paths for NCUs to be in the dump without an error being signaled: 1 - either the --bin-dest or --eln-dest flag is not specified (or is on the command line but empty) 2 - there is an NCU loaded for which no symbol is bound to a subr in that NCU. Since I put in some code (in loadup) to explicitly test whether any loaded NCU would be missed by (2), I have seen one instance pop up, though not while only loading the files in loadup - site-load loads many more. However, I've removed the requirement of having a cons cell in the NCU in the dump file, so I don't know if it was destined was garbage collection, and so discarded by the dump process. Lynn --0000000000008e97e105e5b83006 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Aug 8, 2022, 3:44 AM Andrea Corallo <akrl@sdf.org> wrote:
Lynn Winebarger <owinebar@gmail.com> writes:

> On Fri, Aug 5, 2022, 10:42 AM Andrea Corallo <akrl@sdf.org> wrote:=
>
>=C2=A0 Andrea Corallo <akrl@sdf.org> writes:
>
>=C2=A0 > Lars Ingebrigtsen <larsi@gnus.org> writes:
>=C2=A0 >
>=C2=A0 >> Joseph Mingrone <jrm@ftfl.ca> writes:
>=C2=A0 >>
>=C2=A0 >>> Could 261d6af have broken --with-native-compilation= builds on 32-bit
>=C2=A0 >>> systems?=C2=A0 This is what I see building in a cle= an FreeBSD/i386 13.0
>=C2=A0 >>> jail using 261d6af:
>=C2=A0 >>> http://pkg.ftfl.ca/data/13i386-def= ault/2022-08-04_22h38m28s/logs/errors/emacs-devel-29.0.50.20220804,2.log
>=C2=A0 >>
>=C2=A0 >> I guess these are the error messages?
>=C2=A0 >>
>=C2=A0 >> emacs: Trying to load incoherent dumped eln file
>=C2=A0 >>
>=C2=A0 /wrkdirs/usr/ports/editors/emacs-devel/work-full/emacs-261d6af/n= ative-lisp/29.0.50-7cc1a43d/preloaded/ediff-hook-0b92f1a2-f843c8a0.eln
>=C2=A0
>=C2=A0 >>
>=C2=A0 >> I don't know what that means; Andrea added to the C= Cs.
>=C2=A0 >
>=C2=A0 > It's very surprising to see 261d6af causing this side e= ffect, at least I
>=C2=A0 > don't see why should effect the 32bit build only.
>=C2=A0 >
>=C2=A0 > I'm trying to reproduce it on my 32bit env.
>
>=C2=A0 I confirm the build it's broken on my 32bit env as well, (bu= t not on the
>=C2=A0 64 one).
>
>=C2=A0 Loading the second dump, while we are relocating the ediff-hook<= br> >=C2=A0 compilation unit, we realize (@ pdumper.c:5304) that its file fi= eld is
>=C2=A0 not a cons as expected but just a string.
>
>=C2=A0 Now the question is why this is not fixed-up in loadup.el:477 as= for the
>=C2=A0 other compilation units?
>
> Are you sure it's actually fixed up in the other compilation units= ?

Indeed, otherwise an error is signaled.

> This problem should be signaled by loadup if there are any NCUs it doe= s not fix up.=C2=A0 It would be a lot easier to diagnose
> the problem from there.

loadup is in charge of fixing up on all CU's file fields, and indeed if=
something goes wrong in that code an error is signaled.=C2=A0 But evidently=
this is not the case, so there's something more to understand.

=
2 - there is an NCU loaded for which no symbol is bound t= o a subr in that NCU.

Si= nce I put in some code (in loadup) to explicitly test whether any loaded NC= U would be missed by (2), I have seen one instance pop up, though not while= only loading the files in loadup - site-load loads many more.=C2=A0 Howeve= r, I've removed the requirement of having a cons cell in the NCU in the= dump file, so I don't know if it was destined was garbage collection, = and so discarded by the dump process.

Lynn

--0000000000008e97e105e5b83006--