GNU bug report logs - #61504
29.0.60; executing byte-code from previous build causes SIGSEGV crash

Previous Next

Package: emacs;

Reported by: Istvan Marko <mi-ebugs <at> kismala.com>

Date: Tue, 14 Feb 2023 06:35:02 UTC

Severity: normal

Found in version 29.0.60

Full log


Message #8 received at 61504 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Istvan Marko <mi-ebugs <at> kismala.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 61504 <at> debbugs.gnu.org
Subject: Re: bug#61504: 29.0.60; executing byte-code from previous build
 causes SIGSEGV crash
Date: Tue, 14 Feb 2023 09:29:32 +0000
[Message part 1 (text/plain, inline)]
>
> There seems to be a byte-code change between versions 
> 0ec0a610ed226419269f519021cbe8fb2dde2ed5 (old) and 
> a4aa32bdfff7aaf54efbacbb04b7f2b52fef92a7 (new) which causes the new 
> version to crash with SIGSEGV when executing certain code from an .elc 
> built using the old version. Recompiling the file with the new version 
> causes the new .elc to work correctly.
>

The bytecode did not change, but the byte codes generated by the 
save-restriction form did change.

Now that I think of it again, it is possible make that change while 
preserving backward compatibility.

Eli, what do you think of the attached patch?  It restores the 'unbind 1' 
at the end of save-restriction, and puts the two data elements into a cons 
instead of pushing them separately.  (Of course this passes make and make 
check, with and without native compilation.)
[Improve-backward-compatibility-of-save-restriction.patch (text/x-diff, attachment)]

This bug report was last modified 2 years and 126 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.