GNU bug report logs -
#75135
30.0.93; Infinite loop in comp--native-compile
Previous Next
Reported by: Hugh Daschbach <hdasch <at> ccss.com>
Date: Fri, 27 Dec 2024 06:13:03 UTC
Severity: normal
Tags: patch
Found in version 30.0.93
Done: Andrea Corallo <acorallo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 75135 in the body.
You can then email your comments to 75135 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Fri, 27 Dec 2024 06:13:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Hugh Daschbach <hdasch <at> ccss.com>:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org.
(Fri, 27 Dec 2024 06:13:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Emacs hangs when attempting to compile tests from obsolete ELPA package
seq.
To reproduce:
```
curl -o /tmp/seq-tests.el https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/tests/seq-tests.el?h=externals/seq
$ emacs -Q --eval "(progn (setq debug-on-quit t) (require 'comp) (comp--native-compile \"/tmp/seq-tests.el\" nil))"
```
Press C-g shortly after the Emacs frame opens. This produces the
following backtrace:
```
Debugger entered--Lisp error: (quit)
#f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>)(1)
cl--nsublis-rec((1 . #1))
cl--nsublis-rec((#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #3)))
cl--nsublis-rec(((#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4))))
cl-nsublis(((nil . #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705043564 :slot 1))) (#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4)) :if #f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>))
cl-nsubst-if(#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705043564 :slot 1) #f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>) (#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #5)))
comp--ssa-rename-insn((setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4)) #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6ffbc9c ...> :beg 0 :end 5))
#f(compiled-function (bb in-frame) #<bytecode -0x950d6b51c773586>)(#s(comp-block-lap :name bb_0 :insns ((setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #6)) (call specbind #s(comp-mvar :typeset nil :valset (l1) :range nil :neg nil :id nil :slot nil) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil :slot 0)) (setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil :slot 0) equal) (call specbind #s(comp-mvar :typeset nil :valset (fn-1716) :range nil :neg nil :id nil :slot nil) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil :slot 0)) (setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil :slot 0) (error)) (push-handler condition-case #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil :slot 0) bb_3 bb_1)) :closed t :in-edges (#s(comp-edge :src #s(comp-block-lap :name entry :insns ((comment "Lisp function: nil") (jump bb_0)) :closed nil :in-edges nil :out-edges (#3) :idom #4 :df #<hash-table eql 0/0 0x1f48d6d5dc56 ...> :post-num 7 :final-frame #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6f5e86a ...> :beg 0 :end 5) :sp -1 :addr nil :non-ret-insn nil :no-ret nil) :dst #1 :number 0)) :out-edges (#s(comp-edge :src #1 :dst #s(comp-block-lap :name bb_1 :insns ((setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) seq-mapn) (setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 1) +) (setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 2) (3 4 5 7)) (set #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 3) (call symbol-value ...)) (set #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) (callref funcall ... ... ... ...)) (setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 1) (4 5 6 8)) (set #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 1) (call cons ... ...)) (set #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) (call cons ... ...)) (pop-handler) (jump bb_4)) :closed t :in-edges (#3) :out-edges (#s(comp-edge :src #4 :dst #s(comp-block-lap :name bb_4 :insns ... :closed t :in-edges ... :out-edges ... :idom #1 :df #<hash-table eql 0/0 0x1f48d6db0e9b ...> :post-num 2 :final-frame nil :sp 0 :addr 25 :non-ret-insn nil :no-ret nil) :number 8)) :idom #1 :df #<hash-table eql 1/6 0x1f48d6df564a ...> :post-num 3 :final-frame nil :sp -1 :addr 6 :non-ret-insn nil :no-ret nil) :number 2) #s(comp-edge :src #1 :dst #s(comp-block-lap :name bb_3 :insns ((fetch-handler #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0)) (jump bb_2)) :closed t :in-edges (#4) :out-edges (#s(comp-edge :src #5 :dst #s(comp-block-lap :name bb_2 :insns ... :closed nil :in-edges ... :out-edges ... :idom #5 :df #<hash-table eql 1/6 0x1f48d6ddb42f ...> :post-num 4 :final-frame nil :sp 0 :addr 15 :non-ret-insn nil :no-ret nil) :number 3)) :idom #1 :df #<hash-table eql 1/6 0x1f48d6dd6fb2 ...> :post-num 5 :final-frame nil :sp -1 :addr nil :non-ret-insn nil :no-ret nil) :number 1)) :idom #s(comp-block-lap :name entry :insns ((comment "Lisp function: nil") (jump bb_0)) :closed nil :in-edges nil :out-edges (#s(comp-edge :src #2 :dst #1 :number 0)) :idom #2 :df #<hash-table eql 0/0 0x1f48d6d5dc56 ...> :post-num 7 :final-frame #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6f5e86a ...> :beg 0 :end 5) :sp -1 :addr nil :non-ret-insn nil :no-ret nil) :df #<hash-table eql 0/0 0x1f48d6d5d965 ...> :post-num 6 :final-frame nil :sp -1 :addr 0 :non-ret-insn nil :no-ret nil) #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6ffbc9c ...> :beg 0 :end 5))
#f(compiled-function (bb in-frame) #<bytecode -0x950d6b51c773586>)(#s(comp-block-lap :name entry :insns ((comment "Lisp function: nil") (jump bb_0)) :closed nil :in-edges nil :out-edges (#s(comp-edge :src #1 :dst #s(comp-block-lap :name bb_0 :insns ((setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #9)) (call specbind #s(comp-mvar :typeset nil :valset ... :range nil :neg nil :id nil :slot nil) #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0)) (setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) equal) (call specbind #s(comp-mvar :typeset nil :valset ... :range nil :neg nil :id nil :slot nil) #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0)) (setimm #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) (error)) (push-handler condition-case #s(comp-mvar :typeset ... :valset nil :range nil :neg nil :id nil :slot 0) bb_3 bb_1)) :closed t :in-edges (#3) :out-edges (#s(comp-edge :src #4 :dst #s(comp-block-lap :name bb_1 :insns ... :closed t :in-edges ... :out-edges ... :idom #4 :df #<hash-table eql 1/6 0x1f48d6df564a ...> :post-num 3 :final-frame nil :sp -1 :addr 6 :non-ret-insn nil :no-ret nil) :number 2) #s(comp-edge :src #4 :dst #s(comp-block-lap :name bb_3 :insns ... :closed t :in-edges ... :out-edges ... :idom #4 :df #<hash-table eql 1/6 0x1f48d6dd6fb2 ...> :post-num 5 :final-frame nil :sp -1 :addr nil :non-ret-insn nil :no-ret nil) :number 1)) :idom #1 :df #<hash-table eql 0/0 0x1f48d6d5d965 ...> :post-num 6 :final-frame nil :sp -1 :addr 0 :non-ret-insn nil :no-ret nil) :number 0)) :idom #1 :df #<hash-table eql 0/0 0x1f48d6d5dc56 ...> :post-num 7 :final-frame #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6f5e86a ...> :beg 0 :end 5) :sp -1 :addr nil :non-ret-insn nil :no-ret nil) #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6f5e86a ...> :beg 0 :end 5))
comp--ssa-rename()
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_100>("F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_399" #s(comp-func-d :name nil :c-name "F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_399" :byte-func #f(compiled-function () #<bytecode 0x1d75f3728f817ae2>) :doc nil :int-spec nil :command-modes nil :lap ((byte-constant (1 . #6) . 6) (byte-varbind l1 . 0) (byte-constant equal . 7) (byte-varbind fn-1716 . 1) (byte-constant (error) . 8) (byte-pushconditioncase TAG 19 . 1) (byte-constant seq-mapn . 9) (byte-constant + . 10) (byte-constant (3 4 5 7) . 11) (byte-varref l1 . 0) (byte-call . 3) (byte-constant (4 5 6 8) . 12) (byte-list2 . 0) (byte-pophandler) (byte-goto TAG 28 . 1) (TAG 19 . 1) (byte-varbind err . 2) (byte-constant signal . 13) (byte-varset fn-1716 . 1) (byte-varref err . 2) (byte-car . 0) (byte-varref err . 2) (byte-cdr . 0) (byte-unbind . 1) (byte-list2 . 0) (TAG 28 . 1) (byte-varbind args-1717 . 3) (byte-constant ert-form-evaluation-aborted-1719 . 14) (byte-varbind value-1718 . 4) (byte-constant nil . 15) (byte-varbind form-description-1720 . 5) (byte-constant #f(compiled-function () #<bytecode 0x4331903cd0037d8>) . 16) (byte-unwind-protect . 0) (byte-constant apply . 17) (byte-varref fn-1716 . 1) (byte-varref args-1717 . 3) (byte-call . 2) (byte-dup . 0) (byte-varset value-1718 . 4) (byte-unbind . 1) (byte-goto-if-not-nil TAG 49 . 0) (byte-constant ert-fail . 18) (byte-varref form-description-1720 . 5) (byte-call . 1) (byte-discard) (TAG 49 . 0) (byte-unbind . 1) (byte-varref value-1718 . 4) (byte-unbind . 4) (byte-constant nil . 15) ...) :ssa-status nil :frame-size 5 :vframe-size 0 :blocks #<hash-table eq 8/24 0x1f48d6ca4ed6 ...> :lap-block #<hash-table equal 0/0 0x1f48d6ca4ec0 ...> :edges-h #<hash-table eql 9/24 0x1f48d6ca4f55 ...> :block-cnt-gen #f(compiled-function () #<bytecode 0x41f1ebb0af513a>) :edge-cnt-gen #f(compiled-function () #<bytecode 0x41f1ebb0af51e2>) :has-non-local t :speed 2 :safety 1 :pure nil :declared-type nil :type #s(comp-mvar :typeset nil :valset (nil) :range nil :neg nil :id nil :slot nil) :lambda-list nil))
comp--ssa()
comp--fwprop(nil)
comp--native-compile("/tmp/seq-tests.el" nil)
(progn (setq debug-on-quit t) (require 'comp) (comp--native-compile "/tmp/seq-tests.el" nil))
eval((progn (setq debug-on-quit t) (require 'comp) (comp--native-compile "/tmp/seq-tests.el" nil)) t)
command-line-1(("--eval" "(progn (setq debug-on-quit t) (require 'comp) (comp--native-compile \"/tmp/seq-tests.el\" nil))"))
command-line()
normal-top-level()
```
Admittedly, trying to compile an obsolete ELPA package is not a good
idea. In fact, it was a configuration bug. But it might be interesting
to see why the compiler hangs.
Thanks,
Hugh
--
In GNU Emacs 30.0.93 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.18.2, Xaw3d scroll bars) of 2024-12-24 built on klaatu
Repository revision: 8064b2a67988e815c52e289fe2a235ce1008776f
Repository branch: emacs-30
Windowing system distributor 'The X.Org Foundation', version 11.0.12401004
System Description: Arch Linux
Configured using:
'configure --with-x-toolkit=lucid --with-native-compilation
--prefix=/home/hugh/.local'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr comp-run emacsbug message mailcap yank-media puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils thingatpt help-fns radix-tree
cl-print time-date pcase cl-macs ert map byte-opt pp ewoc debug
backtrace find-func compile text-property-search comint ansi-osc
ansi-color ring comp cl-seq comp-cstr cl-extra help-mode comp-common
warnings icons subr-x rx gv cl-loaddefs cl-lib bytecomp byte-compile rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)
Memory information:
nil
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Sun, 29 Dec 2024 10:18:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 75135 <at> debbugs.gnu.org (full text, mbox):
Hugh Daschbach <hdasch <at> ccss.com> writes:
> Emacs hangs when attempting to compile tests from obsolete ELPA package
> seq.
>
> To reproduce:
>
> ```
> curl -o /tmp/seq-tests.el https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/tests/seq-tests.el?h=externals/seq
> $ emacs -Q --eval "(progn (setq debug-on-quit t) (require 'comp) (comp--native-compile \"/tmp/seq-tests.el\" nil))"
> ```
>
> Press C-g shortly after the Emacs frame opens. This produces the
> following backtrace:
Okay I can reproduce on master as well.
> ```
> Debugger entered--Lisp error: (quit)
> #f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>)(1)
> cl--nsublis-rec((1 . #1))
> cl--nsublis-rec((#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #3)))
> cl--nsublis-rec(((#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4))))
> cl-nsublis(((nil . #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705043564 :slot 1))) (#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4)) :if #f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>))
> cl-nsubst-if(#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705043564 :slot 1) #f(compiled-function (x) #<bytecode -0x145e3142cf39a7e4>) (#s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #5)))
> comp--ssa-rename-insn((setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id 34397705172435 :slot 0) (1 . #4)) #s(comp-vec :data #<hash-table eql 5/6 0x1f48d6ffbc9c ...> :beg 0 :end 5))
[...]
> comp--ssa()
> comp--fwprop(nil)
> comp--native-compile("/tmp/seq-tests.el" nil)
> (progn (setq debug-on-quit t) (require 'comp) (comp--native-compile "/tmp/seq-tests.el" nil))
> eval((progn (setq debug-on-quit t) (require 'comp) (comp--native-compile "/tmp/seq-tests.el" nil)) t)
> command-line-1(("--eval" "(progn (setq debug-on-quit t) (require 'comp) (comp--native-compile \"/tmp/seq-tests.el\" nil))"))
> command-line()
> normal-top-level()
> ```
>
> Admittedly, trying to compile an obsolete ELPA package is not a good
> idea. In fact, it was a configuration bug. But it might be interesting
> to see why the compiler hangs.
Yes it's certanly interesting thanks for the report will look at.
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Sun, 29 Dec 2024 14:24:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 75135 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
The attached should be fixing it, could you give it a try?
Circular objects are rare in code and we lived with this for a long
time, I'd suggest to install this only on master not to touch the
release branch. Eli WDYT?
Thanks
Andrea
[circ.patch (text/x-diff, inline)]
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 2966ed255ac..f3b6b8fd606 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2481,8 +2481,9 @@ comp--ssa-rename-insn
(setf (comp-vec-aref frame slot-n) mvar
(cadr insn) mvar))))
(pcase insn
- (`(setimm ,(pred targetp) ,_imm)
- (new-lvalue))
+ (`(setimm ,lval ,_imm)
+ (when (targetp lval)
+ (new-lvalue)))
(`(,(pred comp--assign-op-p) ,(pred targetp) . ,_)
(let ((mvar (comp-vec-aref frame slot-n)))
(setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Sun, 29 Dec 2024 14:29:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 75135 <at> debbugs.gnu.org (full text, mbox):
> From: Andrea Corallo <acorallo <at> gnu.org>
> Cc: 75135 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
> Date: Sun, 29 Dec 2024 09:23:19 -0500
>
> Circular objects are rare in code and we lived with this for a long
> time, I'd suggest to install this only on master not to touch the
> release branch. Eli WDYT?
Agreed.
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Sun, 02 Mar 2025 04:22:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 75135 <at> debbugs.gnu.org (full text, mbox):
Andrea Corallo <acorallo <at> gnu.org> writes:
> The attached should be fixing it, could you give it a try?
Ping, Hugh, any chance you could try the below patch? Thanks.
>
> Circular objects are rare in code and we lived with this for a long
> time, I'd suggest to install this only on master not to touch the
> release branch. Eli WDYT?
>
> Thanks
>
> Andrea
>
> diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
> index 2966ed255ac..f3b6b8fd606 100644
> --- a/lisp/emacs-lisp/comp.el
> +++ b/lisp/emacs-lisp/comp.el
> @@ -2481,8 +2481,9 @@ comp--ssa-rename-insn
> (setf (comp-vec-aref frame slot-n) mvar
> (cadr insn) mvar))))
> (pcase insn
> - (`(setimm ,(pred targetp) ,_imm)
> - (new-lvalue))
> + (`(setimm ,lval ,_imm)
> + (when (targetp lval)
> + (new-lvalue)))
> (`(,(pred comp--assign-op-p) ,(pred targetp) . ,_)
> (let ((mvar (comp-vec-aref frame slot-n)))
> (setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))
Added tag(s) patch.
Request was from
Stefan Kangas <stefankangas <at> gmail.com>
to
control <at> debbugs.gnu.org.
(Sun, 02 Mar 2025 04:23:04 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Sun, 02 Mar 2025 05:53:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 75135 <at> debbugs.gnu.org (full text, mbox):
Stefan Kangas <stefankangas <at> gmail.com> writes:
> Andrea Corallo <acorallo <at> gnu.org> writes:
>
>> The attached should be fixing it, could you give it a try?
>
> Ping, Hugh, any chance you could try the below patch? Thanks.
Currently running 30.1 (git commit 92e96a11752) I confirm that the
infinite loop still exists without the patch.
The problem is resolved with the patch.
Thanks for the fix.
Hugh
>> Circular objects are rare in code and we lived with this for a long
>> time, I'd suggest to install this only on master not to touch the
>> release branch. Eli WDYT?
>>
>> Thanks
>>
>> Andrea
>>
>> diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
>> index 2966ed255ac..f3b6b8fd606 100644
>> --- a/lisp/emacs-lisp/comp.el
>> +++ b/lisp/emacs-lisp/comp.el
>> @@ -2481,8 +2481,9 @@ comp--ssa-rename-insn
>> (setf (comp-vec-aref frame slot-n) mvar
>> (cadr insn) mvar))))
>> (pcase insn
>> - (`(setimm ,(pred targetp) ,_imm)
>> - (new-lvalue))
>> + (`(setimm ,lval ,_imm)
>> + (when (targetp lval)
>> + (new-lvalue)))
>> (`(,(pred comp--assign-op-p) ,(pred targetp) . ,_)
>> (let ((mvar (comp-vec-aref frame slot-n)))
>> (setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 08:46:01 GMT)
Full text and
rfc822 format available.
Message #25 received at 75135 <at> debbugs.gnu.org (full text, mbox):
hugh <at> ccss.com writes:
> Stefan Kangas <stefankangas <at> gmail.com> writes:
>
>> Andrea Corallo <acorallo <at> gnu.org> writes:
>>
>>> The attached should be fixing it, could you give it a try?
>>
>> Ping, Hugh, any chance you could try the below patch? Thanks.
>
> Currently running 30.1 (git commit 92e96a11752) I confirm that the
> infinite loop still exists without the patch.
>
> The problem is resolved with the patch.
>
> Thanks for the fix.
>
> Hugh
I think somehow I forgot installing this fix.
I did it now on master, in case we want it in the release branch it
needs some testing there anyway.
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 10:00:03 GMT)
Full text and
rfc822 format available.
Message #28 received at 75135 <at> debbugs.gnu.org (full text, mbox):
> From: Andrea Corallo <acorallo <at> gnu.org>
> Cc: Stefan Kangas <stefankangas <at> gmail.com>, 75135 <at> debbugs.gnu.org, Eli
> Zaretskii <eliz <at> gnu.org>, Hugh Daschbach <hdasch <at> ccss.com>
> Date: Thu, 06 Nov 2025 03:45:22 -0500
>
> hugh <at> ccss.com writes:
>
> > Stefan Kangas <stefankangas <at> gmail.com> writes:
> >
> >> Andrea Corallo <acorallo <at> gnu.org> writes:
> >>
> >>> The attached should be fixing it, could you give it a try?
> >>
> >> Ping, Hugh, any chance you could try the below patch? Thanks.
> >
> > Currently running 30.1 (git commit 92e96a11752) I confirm that the
> > infinite loop still exists without the patch.
> >
> > The problem is resolved with the patch.
> >
> > Thanks for the fix.
> >
> > Hugh
>
> I think somehow I forgot installing this fix.
>
> I did it now on master, in case we want it in the release branch it
> needs some testing there anyway.
Thanks. So this bug can be closed now, right?
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 10:48:01 GMT)
Full text and
rfc822 format available.
Message #31 received at 75135 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Andrea Corallo <acorallo <at> gnu.org>
>> Cc: Stefan Kangas <stefankangas <at> gmail.com>, 75135 <at> debbugs.gnu.org, Eli
>> Zaretskii <eliz <at> gnu.org>, Hugh Daschbach <hdasch <at> ccss.com>
>> Date: Thu, 06 Nov 2025 03:45:22 -0500
>>
>> hugh <at> ccss.com writes:
>>
>> > Stefan Kangas <stefankangas <at> gmail.com> writes:
>> >
>> >> Andrea Corallo <acorallo <at> gnu.org> writes:
>> >>
>> >>> The attached should be fixing it, could you give it a try?
>> >>
>> >> Ping, Hugh, any chance you could try the below patch? Thanks.
>> >
>> > Currently running 30.1 (git commit 92e96a11752) I confirm that the
>> > infinite loop still exists without the patch.
>> >
>> > The problem is resolved with the patch.
>> >
>> > Thanks for the fix.
>> >
>> > Hugh
>>
>> I think somehow I forgot installing this fix.
>>
>> I did it now on master, in case we want it in the release branch it
>> needs some testing there anyway.
>
> Thanks. So this bug can be closed now, right?
As you prefer, the bug it's ATM still present in the release branch
that's why I've not closed it.
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 11:05:01 GMT)
Full text and
rfc822 format available.
Message #34 received at 75135 <at> debbugs.gnu.org (full text, mbox):
> From: Andrea Corallo <acorallo <at> gnu.org>
> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
> hdasch <at> ccss.com
> Date: Thu, 06 Nov 2025 05:47:16 -0500
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> >> I think somehow I forgot installing this fix.
> >>
> >> I did it now on master, in case we want it in the release branch it
> >> needs some testing there anyway.
> >
> > Thanks. So this bug can be closed now, right?
>
> As you prefer, the bug it's ATM still present in the release branch
> that's why I've not closed it.
Do we intend to fix this on the release branch at some later date? If
not, the bug should be closed, as we do with bugs that are resolved on
the development branch and which we don't intend to back-port.
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 13:25:01 GMT)
Full text and
rfc822 format available.
Message #37 received at 75135 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Andrea Corallo <acorallo <at> gnu.org>
>> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
>> hdasch <at> ccss.com
>> Date: Thu, 06 Nov 2025 05:47:16 -0500
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> I think somehow I forgot installing this fix.
>> >>
>> >> I did it now on master, in case we want it in the release branch it
>> >> needs some testing there anyway.
>> >
>> > Thanks. So this bug can be closed now, right?
>>
>> As you prefer, the bug it's ATM still present in the release branch
>> that's why I've not closed it.
>
> Do we intend to fix this on the release branch at some later date? If
> not, the bug should be closed, as we do with bugs that are resolved on
> the development branch and which we don't intend to back-port.
I'm interested in your opinion as well. On my side:
- given the nature of the bug.
- given we did already at least one major release it and as a
consequence it would not be a regression fix.
I'd be okay also with having the fix only on master.
Happy to back port it once tested if you prefer tho.
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#75135; Package
emacs.
(Thu, 06 Nov 2025 13:43:01 GMT)
Full text and
rfc822 format available.
Message #40 received at 75135 <at> debbugs.gnu.org (full text, mbox):
> From: Andrea Corallo <acorallo <at> gnu.org>
> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
> hdasch <at> ccss.com
> Date: Thu, 06 Nov 2025 08:24:31 -0500
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> >> From: Andrea Corallo <acorallo <at> gnu.org>
> >> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
> >> hdasch <at> ccss.com
> >> Date: Thu, 06 Nov 2025 05:47:16 -0500
> >>
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >>
> >> >> I think somehow I forgot installing this fix.
> >> >>
> >> >> I did it now on master, in case we want it in the release branch it
> >> >> needs some testing there anyway.
> >> >
> >> > Thanks. So this bug can be closed now, right?
> >>
> >> As you prefer, the bug it's ATM still present in the release branch
> >> that's why I've not closed it.
> >
> > Do we intend to fix this on the release branch at some later date? If
> > not, the bug should be closed, as we do with bugs that are resolved on
> > the development branch and which we don't intend to back-port.
>
> I'm interested in your opinion as well. On my side:
> - given the nature of the bug.
> - given we did already at least one major release it and as a
> consequence it would not be a regression fix.
> I'd be okay also with having the fix only on master.
I agree. The emacs-30 release branch is not expected to have any more
releases.
Reply sent
to
Andrea Corallo <acorallo <at> gnu.org>:
You have taken responsibility.
(Thu, 06 Nov 2025 13:50:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Hugh Daschbach <hdasch <at> ccss.com>:
bug acknowledged by developer.
(Thu, 06 Nov 2025 13:50:02 GMT)
Full text and
rfc822 format available.
Message #45 received at 75135-done <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Andrea Corallo <acorallo <at> gnu.org>
>> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
>> hdasch <at> ccss.com
>> Date: Thu, 06 Nov 2025 08:24:31 -0500
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> From: Andrea Corallo <acorallo <at> gnu.org>
>> >> Cc: hugh <at> ccss.com, stefankangas <at> gmail.com, 75135 <at> debbugs.gnu.org,
>> >> hdasch <at> ccss.com
>> >> Date: Thu, 06 Nov 2025 05:47:16 -0500
>> >>
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >>
>> >> >> I think somehow I forgot installing this fix.
>> >> >>
>> >> >> I did it now on master, in case we want it in the release branch it
>> >> >> needs some testing there anyway.
>> >> >
>> >> > Thanks. So this bug can be closed now, right?
>> >>
>> >> As you prefer, the bug it's ATM still present in the release branch
>> >> that's why I've not closed it.
>> >
>> > Do we intend to fix this on the release branch at some later date? If
>> > not, the bug should be closed, as we do with bugs that are resolved on
>> > the development branch and which we don't intend to back-port.
>>
>> I'm interested in your opinion as well. On my side:
>> - given the nature of the bug.
>> - given we did already at least one major release it and as a
>> consequence it would not be a regression fix.
>> I'd be okay also with having the fix only on master.
>
> I agree. The emacs-30 release branch is not expected to have any more
> releases.
Ok closing thx!
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org.
(Fri, 05 Dec 2025 12:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 22 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.