From unknown Tue Aug 19 21:04:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79191: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Aug 2025 15:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79191 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 79191@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.175457911717567 (code B ref -1); Thu, 07 Aug 2025 15:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Aug 2025 15:05:17 +0000 Received: from localhost ([127.0.0.1]:35489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uk2BA-0004ZH-GV for submit@debbugs.gnu.org; Thu, 07 Aug 2025 11:05:16 -0400 Received: from lists.gnu.org ([2001:470:142::17]:49762) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uk2B8-0004Tg-5Q for submit@debbugs.gnu.org; Thu, 07 Aug 2025 11:05:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uk2Aq-00027r-AV for bug-gnu-emacs@gnu.org; Thu, 07 Aug 2025 11:04:56 -0400 Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uk2Am-00056E-AA for bug-gnu-emacs@gnu.org; Thu, 07 Aug 2025 11:04:55 -0400 Received: (qmail 96310 invoked by uid 3782); 7 Aug 2025 17:04:35 +0200 Received: from muc.de (p4fe15782.dip0.t-ipconnect.de [79.225.87.130]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Thu, 07 Aug 2025 17:04:34 +0200 Received: (qmail 19740 invoked by uid 1000); 7 Aug 2025 15:04:34 -0000 Date: Thu, 7 Aug 2025 15:04:34 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Submission-Agent: TMDA/1.3.x (Ph3nix) From: Alan Mackenzie X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) 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: -0.1 (/) Hello, Emacs. I've recently changed a C structure layout (in particular, struct thread_state in thread.h), and tried to rebuild Emacs with make bootstrap. With native compilation disabled, this works, and the resulting Emacs runs satisfactorally. With native compilation enabled, the build throws segmentation faults just as it starts to compile the compiler natively. The brief backtrace on my screen includes lines like: /home/acm/.emacs.d/eln-cache/31.0.50-6953b951/bytecomp-12882072-8edd60a1.eln(F627974652d636f6d70696c652d2d66756e6374696f6e2d7369676e6174757265_byte_compile__function_signature_0+0x240) [0x7f812bedfb60] .. This indicates that the build system is wrongly using stale .eln's rather than the newly build .elc's, despite being requested to make bootstrap. Why was directory ~acm/.emacs.d/eln-cache/31.0.50-6953b951 not deleted on the make bootstrap? It no longer has any purpose. The whole point of make bootstrap is to start a build with a clean slate. Why were these stale .eln's used in the build? This is even worse. This could be one reason why, some while ago, the Emacs build failed to produce reproducible binaries. I think these are build bugs needing fixing. In the meantime, I'd appreciate somebody suggesting a workaround, so that I can actually do a proper bootstrap. Thanks! -- Alan Mackenzie (Nuremberg, Germany). From unknown Tue Aug 19 21:04:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79191: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Aug 2025 15:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79191 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alan Mackenzie , Andrea Corallo Cc: 79191@debbugs.gnu.org Received: via spool by 79191-submit@debbugs.gnu.org id=B79191.175458070122843 (code B ref 79191); Thu, 07 Aug 2025 15:32:02 +0000 Received: (at 79191) by debbugs.gnu.org; 7 Aug 2025 15:31:41 +0000 Received: from localhost ([127.0.0.1]:35558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uk2ai-0005wN-LE for submit@debbugs.gnu.org; Thu, 07 Aug 2025 11:31:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55430) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uk2af-0005w5-C9 for 79191@debbugs.gnu.org; Thu, 07 Aug 2025 11:31:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uk2aZ-0001Tn-6G; Thu, 07 Aug 2025 11:31:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+AHyyloih7PnkKBuXzat97tala2Mln1sdyEzm+yLmds=; b=J1403EAnxK9N R8D/Jjh27XloO0gx+sRYRaJAo0zeB7MR0ioqU1+1unGtsWSTap4pKKXy1SXQIERmej/UECvoZJbol nmV/RkTDPdSbWXy8IqtFOu52tvarWFjdKtASqGnCIe0omjG+Sp3Izhe/h8L/c9zaWn83zqSsEMOL/ gRva/7yh28blkjplDMIaaRU72XU/T3ZIBQrnHUc1dbqIJLWn5IG30nf/vbNePwJa2QnvZIeC2co5A SZp0u8TbHRyiriYrukMhRceFt09FoI9GvAcq1KY81eoz1xJwIs01g0Jo76OxObALw7bG6Z4QrEINa 2mU180HOVA9m15YrGxZOuQ==; Date: Thu, 07 Aug 2025 18:31:23 +0300 Message-Id: <86ikizp2r8.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Alan Mackenzie on Thu, 7 Aug 2025 15:04:34 +0000) References: 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 (---) > Date: Thu, 7 Aug 2025 15:04:34 +0000 > From: Alan Mackenzie > > Hello, Emacs. > > I've recently changed a C structure layout (in particular, struct > thread_state in thread.h), and tried to rebuild Emacs with make > bootstrap. > > With native compilation disabled, this works, and the resulting Emacs > runs satisfactorally. > > With native compilation enabled, the build throws segmentation faults > just as it starts to compile the compiler natively. The brief backtrace > on my screen includes lines like: > > /home/acm/.emacs.d/eln-cache/31.0.50-6953b951/bytecomp-12882072-8edd60a1.eln(F627974652d636f6d70696c652d2d66756e6374696f6e2d7369676e6174757265_byte_compile__function_signature_0+0x240) [0x7f812bedfb60] > > .. This indicates that the build system is wrongly using stale .eln's > rather than the newly build .elc's, despite being requested to make > bootstrap. > > Why was directory ~acm/.emacs.d/eln-cache/31.0.50-6953b951 not deleted on > the make bootstrap? It no longer has any purpose. The whole point of > make bootstrap is to start a build with a clean slate. > > Why were these stale .eln's used in the build? This is even worse. This > could be one reason why, some while ago, the Emacs build failed to > produce reproducible binaries. Andrea, could you please look into this? It sounds like we should tweak native-comp-eln-load-path during the build or something? > I think these are build bugs needing fixing. In the meantime, I'd > appreciate somebody suggesting a workaround, so that I can actually do a > proper bootstrap. The obvious workaround is to delete the subdirectory of eln-cache by hand. From unknown Tue Aug 19 21:04:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79191: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Aug 2025 15:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79191 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andrea Corallo Cc: acm@muc.de, 79191@debbugs.gnu.org Received: via spool by 79191-submit@debbugs.gnu.org id=B79191.175458124924533 (code B ref 79191); Thu, 07 Aug 2025 15:41:01 +0000 Received: (at 79191) by debbugs.gnu.org; 7 Aug 2025 15:40:49 +0000 Received: from localhost ([127.0.0.1]:35575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uk2jY-0006Nd-O5 for submit@debbugs.gnu.org; Thu, 07 Aug 2025 11:40:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57190) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uk2jW-0006NL-0D for 79191@debbugs.gnu.org; Thu, 07 Aug 2025 11:40:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uk2jP-0003UG-St; Thu, 07 Aug 2025 11:40:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=fuNxeF6PqB8O+SCd4lVoNfpf60fuUulPudljd48XI0I=; b=Wv6nPuEWfCtj Q7MIEDEb0h5TFcb7KvRm73QkTFbHCKwvhG+foXQr5WInLRFcVuJEPUoyzARIVcNC/aI85zo8zlkFQ VxKz/usBBr+uBfela86/tQZ5SM87NcbpUMKUjjfzu1lXesFQeGFlX8fKESQ/sW+9W7JrJoADHSyDD t54GT6k8ev3RWGEpfVmxPOW+eXA8UdcCCeTD2JI96IQWytSxgJcxaNinJHkNaGadUeN0JZ+PxtT5M 3DKNNxWDktH4J77Ohj8yZkay4JFcCC7jniPXejE/MuGtdhJbCfeYhQ7U6zBQsGdF2aYwuihGtVM5O qySwKdOTUyA1Ll35MloiLw==; Date: Thu, 07 Aug 2025 18:40:32 +0300 Message-Id: <86fre3p2bz.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86ikizp2r8.fsf@gnu.org> (message from Eli Zaretskii on Thu, 07 Aug 2025 18:31:23 +0300) References: <86ikizp2r8.fsf@gnu.org> 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 (---) > Cc: 79191@debbugs.gnu.org > Date: Thu, 07 Aug 2025 18:31:23 +0300 > From: Eli Zaretskii > > > Date: Thu, 7 Aug 2025 15:04:34 +0000 > > From: Alan Mackenzie > > > > Hello, Emacs. > > > > I've recently changed a C structure layout (in particular, struct > > thread_state in thread.h), and tried to rebuild Emacs with make > > bootstrap. > > > > With native compilation disabled, this works, and the resulting Emacs > > runs satisfactorally. > > > > With native compilation enabled, the build throws segmentation faults > > just as it starts to compile the compiler natively. The brief backtrace > > on my screen includes lines like: > > > > /home/acm/.emacs.d/eln-cache/31.0.50-6953b951/bytecomp-12882072-8edd60a1.eln(F627974652d636f6d70696c652d2d66756e6374696f6e2d7369676e6174757265_byte_compile__function_signature_0+0x240) [0x7f812bedfb60] > > > > .. This indicates that the build system is wrongly using stale .eln's > > rather than the newly build .elc's, despite being requested to make > > bootstrap. > > > > Why was directory ~acm/.emacs.d/eln-cache/31.0.50-6953b951 not deleted on > > the make bootstrap? It no longer has any purpose. The whole point of > > make bootstrap is to start a build with a clean slate. > > > > Why were these stale .eln's used in the build? This is even worse. This > > could be one reason why, some while ago, the Emacs build failed to > > produce reproducible binaries. > > Andrea, could you please look into this? It sounds like we should > tweak native-comp-eln-load-path during the build or something? Come to think of it, I don't understand why Emacs loaded those *.eln files from the cache. Changes on the C level that are incompatible should cause a new hash to be generated, and the name of the eln-cache sub-directory, 31.0.50-6953b951, should no longer match what Emacs looks for. Perhaps the reason is that such changes need to bump ABI_VERSION?