From unknown Tue Aug 19 23:09:22 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#79191 <79191@debbugs.gnu.org> To: bug#79191 <79191@debbugs.gnu.org> Subject: Status: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. Reply-To: bug#79191 <79191@debbugs.gnu.org> Date: Wed, 20 Aug 2025 06:09:22 +0000 retitle 79191 make bootstrap fails to clear out stale .eln's. They then ge= t wrongly used in the build. reassign 79191 emacs submitter 79191 Alan Mackenzie severity 79191 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 07 11:05:17 2025 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 To: bug-gnu-emacs@gnu.org Subject: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. 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-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: , 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 07 11:31:41 2025 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 To: Alan Mackenzie , Andrea Corallo In-Reply-To: (message from Alan Mackenzie on Thu, 7 Aug 2025 15:04:34 +0000) Subject: Re: bug#79191: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79191 Cc: 79191@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 (---) > 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 07 11:40:49 2025 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 To: Andrea Corallo In-Reply-To: <86ikizp2r8.fsf@gnu.org> (message from Eli Zaretskii on Thu, 07 Aug 2025 18:31:23 +0300) Subject: Re: bug#79191: make bootstrap fails to clear out stale .eln's. They then get wrongly used in the build. References: <86ikizp2r8.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79191 Cc: acm@muc.de, 79191@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 (---) > 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?