Subject: bug#62537: Error compiling emacs master with native compilation activated

From: Pedro Andres Aranda Gutierrez <[email-masked]>
Date: Thu, 30 Mar 2023 11:59:52 +0200

Let me know when you are done. I can pull-up a VM in no time to check,
check pre-patches, etc.
I'm on master

Best, /PA

On Thu, 30 Mar 2023 at 11:28, Andrea Corallo <[email-masked]> wrote:
>
> Pedro Andres Aranda Gutierrez <[email-masked]> writes:
>
> > HI
> > there seems to be a problem when compiling the org-mode files with
> > native compilation activated
> >
> > ```
> >   ELC+ELN  org/org-plot.elc
> >
> > Error: native-ice ("org/org-plot.el" "block does not end with a
> > branch" #s(comp-block-lap bb_8 ((comment "LAP TAG 83") (call
> > helper_unbind_n #s(comp-mvar nil nil ((1 . 1)) nil nil nil)) (setimm
> > #s(comp-mvar (t) nil nil nil nil 2) make-temp-file) (setimm
> > #s(comp-mvar (t) nil nil nil nil 3) "org-plot") (set #s(comp-mvar (t)
> > nil nil nil nil 2) (callref funcall #s(comp-mvar (t) nil nil nil nil
> > 2) #s(comp-mvar (t) nil nil nil nil 3))) (call
> > record_unwind_protect_excursion) (setimm #s(comp-mvar (t) nil nil nil
> > nil 3) org-plot/goto-nearest-table) (set #s(comp-mvar (t) nil nil nil
> > nil 3) (callref funcall #s(comp-mvar (t) nil nil nil nil 3))) (setimm
> > #s(comp-mvar (t) nil nil nil nil 3) org-table-to-lisp) (set
> > #s(comp-mvar (t) nil nil nil nil 3) (callref funcall #s(comp-mvar (t)
> > nil nil nil nil 3))) (call helper_unbind_n #s(comp-mvar nil nil ((1 .
> > 1)) nil nil nil)) (setimm #s(comp-mvar (t) nil nil nil nil 4)
> > plist-get) (set #s(comp-mvar (t) nil nil nil nil 5) #s(comp-mvar (t)
> > nil nil nil nil 0)) (setimm #s(comp-mvar (t) nil nil nil nil 6)
> > :transpose) (set #s(comp-mvar (t) nil nil nil nil 4) (callref funcall
> > #s(comp-mvar (t) nil nil nil nil 4) #s(comp-mvar (t) nil nil nil nil
> > 5) #s(comp-mvar (t) nil nil nil nil 6))) (set #s(comp-mvar (t) nil nil
> > nil nil 5) #s(comp-mvar (t) nil nil nil nil 4)) (setimm #s(comp-mvar
> > (t) nil nil nil nil 6) #s(hash-table size 3 test eq rehash-size 1.5
> > rehash-threshold 0.8125 purecopy t data (y 105 yes 105 t 105)))) nil
> > nil nil nil #s(hash-table size 65 test eql rehash-size 1.5
> > rehash-threshold 0.8125 data ()) nil nil 1 72 nil nil)
> > org-plot/gnuplot)
> >   mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode
> > 0x285567f77ae87d2>))
> >   debug-early-backtrace()
> >   debug-early(error (native-ice "org/org-plot.el" "block does not end
> > with a branch" #s(comp-block-lap :name bb_8 :insns ((comment "LAP TAG
> > 83") (call helper_unbind_n #s(comp-mvar :typeset nil :valset nil
> > :range ((1 . 1)) :neg nil :id nil :slot nil)) (setimm #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 2)
> > make-temp-file) (setimm #s(comp-mvar :typeset (t) :valset nil :range
> > nil :neg nil :id nil :slot 3) "org-plot") (set #s(comp-mvar :typeset
> > (t) :valset nil :range nil :neg nil :id nil :slot 2) (callref funcall
> > #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil
> > :slot 2) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 3))) (call record_unwind_protect_excursion) (setimm
> > #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil
> > :slot 3) org-plot/goto-nearest-table) (set #s(comp-mvar :typeset (t)
> > :valset nil :range nil :neg nil :id nil :slot 3) (callref funcall
> > #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil
> > :slot 3))) (setimm #s(comp-mvar :typeset (t) :valset nil :range nil
> > :neg nil :id nil :slot 3) org-table-to-lisp) (set #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 3) (callref
> > funcall #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 3))) (call helper_unbind_n #s(comp-mvar :typeset nil :valset
> > nil :range ((1 . 1)) :neg nil :id nil :slot nil)) (setimm #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 4)
> > plist-get) (set #s(comp-mvar :typeset (t) :valset nil :range nil :neg
> > nil :id nil :slot 5) #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 6) :transpose) (set #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 4) (callref
> > funcall #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 4) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil
> > :id nil :slot 5) #s(comp-mvar :typeset (t) :valset nil :range nil :neg
> > nil :id nil :slot 6))) (set #s(comp-mvar :typeset (t) :valset nil
> > :range nil :neg nil :id nil :slot 5) #s(comp-mvar :typeset (t) :valset
> > nil :range nil :neg nil :id nil :slot 4)) (setimm #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 6)
> > #<hash-table eq 3/3 0x155ea01696a7>)) :closed nil :in-edges nil
> > :out-edges nil :idom nil :df #<hash-table eql 0/65 0x155ea02c4401>
> > :post-num nil :final-frame nil :sp 1 :addr 72 :non-ret-insn nil
> > :no-ret nil) org-plot/gnuplot))
> >   signal(native-ice ("org/org-plot.el" "block does not end with a
> > branch" #s(comp-block-lap :name bb_8 :insns ((comment "LAP TAG 83")
> > (call helper_unbind_n #s(comp-mvar :typeset nil :valset nil :range ((1
> > . 1)) :neg nil :id nil :slot nil)) (setimm #s(comp-mvar :typeset (t)
> > :valset nil :range nil :neg nil :id nil :slot 2) make-temp-file)
> > (setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 3) "org-plot") (set #s(comp-mvar :typeset (t) :valset nil
> > :range nil :neg nil :id nil :slot 2) (callref funcall #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 2)
> > #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil
> > :slot 3))) (call record_unwind_protect_excursion) (setimm #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 3)
> > org-plot/goto-nearest-table) (set #s(comp-mvar :typeset (t) :valset
> > nil :range nil :neg nil :id nil :slot 3) (callref funcall #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 3)))
> > (setimm #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 3) org-table-to-lisp) (set #s(comp-mvar :typeset (t) :valset
> > nil :range nil :neg nil :id nil :slot 3) (callref funcall #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 3))) (call
> > helper_unbind_n #s(comp-mvar :typeset nil :valset nil :range ((1 . 1))
> > :neg nil :id nil :slot nil)) (setimm #s(comp-mvar :typeset (t) :valset
> > nil :range nil :neg nil :id nil :slot 4) plist-get) (set #s(comp-mvar
> > :typeset (t) :valset nil :range nil :neg nil :id nil :slot 5)
> > #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 6) :transpose) (set #s(comp-mvar :typeset (t)
> > :valset nil :range nil :neg nil :id nil :slot 4) (callref funcall
> > #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id nil
> > :slot 4) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil :id
> > nil :slot 5) #s(comp-mvar :typeset (t) :valset nil :range nil :neg nil
> > :id nil :slot 6))) (set #s(comp-mvar :typeset (t) :valset nil :range
> > nil :neg nil :id nil :slot 5) #s(comp-mvar :typeset (t) :valset nil
> > :range nil :neg nil :id nil :slot 4)) (setimm #s(comp-mvar :typeset
> > (t) :valset nil :range nil :neg nil :id nil :slot 6) #<hash-table eq
> > 3/3 0x155ea01696a7>)) :closed nil :in-edges nil :out-edges nil :idom
> > nil :df #<hash-table eql 0/65 0x155ea02c4401> :post-num nil
> > :final-frame nil :sp 1 :addr 72 :non-ret-insn nil :no-ret nil)
> > org-plot/gnuplot))
> >   comp--native-compile("org/org-plot.el")
> >   batch-native-compile()
> >   batch-byte+native-compile()
> >   command-line-1(("--eval" "(setq load-prefer-newer t
> > byte-compile-warnings 'all)" "-l" "comp" "-f"
> > "batch-byte+native-compile" "org/org-plot.el"))
> >   command-line()
> >   normal-top-level()
> > Internal native compiler error: "org/org-plot.el", "block does not end
> > with a branch", #s(comp-block-lap bb_8 ((comment "LAP TAG 83") (call
> > helper_unbind_n #s(comp-mvar nil nil ((1 . 1)) nil nil nil)) (setimm
> > #s(comp-mvar (t) nil nil nil nil 2) make-temp-file) (setimm
> > #s(comp-mvar (t) nil nil nil nil 3) "org-plot") (set #s(comp-mvar (t)
> > nil nil nil nil 2) (callref funcall #s(comp-mvar (t) nil nil nil nil
> > 2) #s(comp-mvar (t) nil nil nil nil 3))) (call
> > record_unwind_protect_excursion) (setimm #s(comp-mvar (t) nil nil nil
> > nil 3) org-plot/goto-nearest-table) (set #s(comp-mvar (t) nil nil nil
> > nil 3) (callref funcall #s(comp-mvar (t) nil nil nil nil 3))) (setimm
> > #s(comp-mvar (t) nil nil nil nil 3) org-table-to-lisp) (set
> > #s(comp-mvar (t) nil nil nil nil 3) (callref funcall #s(comp-mvar (t)
> > nil nil nil nil 3))) ...) nil nil nil nil #s(hash-table size 65 test
> > eql rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil ...),
> > #<symbol org-plot/gnuplot at 23521>
> > make[5]: *** [Makefile:327: org/org-plot.elc] Error 255
>
> Hi Pedro,
>
> bisecting this should be due to:
> "
> 52b67740d10df8ca539fdc2c7d50283997683141
> Author:     Mattias Engdegård <[email-masked]>
> AuthorDate: Sat Mar 25 15:38:00 2023 +0100
> Commit:     Mattias Engdegård <[email-masked]>
> CommitDate: Sat Mar 25 16:21:09 2023 +0100
>
> Parent:     db7e95531ac Switch buffer in Ftreesit_query_capture
> Merged:     comp-no-spawn
> Follows:    emacs-28.2 (164697)
>
> Generalise a LAP optimisation rule
>
> * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
> Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
> rule previously overlooked.  This is usually beneficial in code size
> and almost always shortens dynamic paths.
> "
>
> I'll try to have a look as soon as I've some time.
>
> Thanks
>
>   Andrea

-- 
Fragen sind nicht da um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should
run a leader-deposed hook here, but we can't yet