Subject: Re: bug#63742: 30.0.50; [BUG] package.el having a hard time

From: Ruijie Yu <[email-masked]>
Date: Sun, 28 May 2023 12:53:53 +0800

>> Does the problem go away if you rebuild without native-compilation?
>> If yes, this is a known problem (bug#63679), and Andrea (CC'ed) is
>> aware of that, I think.
>
> Indeed, this problem goes away if I rebuild without native-compilation.
> To minimize changes, I used the same commit (bb7605c), and used the same
> config options except for native comp.
>
>  'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
>  --with-modules --without-libotf --without-m17n-flt --without-gconf
>  --enable-link-time-optimization --with-native-compilation=no
>  --with-xinput2 --with-pgtk --without-xaw3d --with-sound=alsa
>  --with-tree-sitter '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
>  'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
>  -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
>  -fstack-clash-protection -fcf-protection'
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
>
> By the way, do we have a bisect for this, where we know what revision(s)
> introduced this issue?  If not, (and if I have time during the weekend,)
> I can try to bisect it.  And in the meantime, I'll sit on all my
> known-good builds until this issue is fixed.
>
> Some data points:
>
> - known good version (the build I'm using to send this message):
>   "fa598571adab4858282f337b45984517e197f8a9"
>
> - known bad version (the build where I observed the reported issues):
>   "bb7605c087006b714236165f88341545355d3673"

Here is the bisect result.

--8<---------------cut here---------------start------------->8---
b2b2be98da5825e6bc130999ffe38f5ed615586a is the first bad commit
commit b2b2be98da5825e6bc130999ffe38f5ed615586a
Author: Andrea Corallo <[email-masked]>
Date:   Wed May 24 17:05:26 2023 +0200

    Fix nativecomp ICE compiling structure related code (bug#63674)

    * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define the predicate to
    be effective at compile time as native comp relies on `cl-typep' that
    relies o predicates to work.

    * test/src/comp-resources/comp-test-funcs.el (cl-lib): Require.
    (comp-test-struct): Define struct.
    (comp-test-63674-1-f): Add new test.

 lisp/emacs-lisp/cl-macs.el                 | 9 ++++++---
 test/src/comp-resources/comp-test-funcs.el | 8 ++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)
bisect found first bad commit
--8<---------------cut here---------------end--------------->8---

What I did:

    $ git bisect start bb7605c087006b714236165f88341545355d3673 fa598571adab4858282f337b45984517e197f8a9
    $ git bisect run sh repro.sh

With the attached files as reproducer.  Hope this helps.

Oh, by the way, while inspecting my reproducer scripts I noticed that I
forgot to add -Q -- I really hope this does not bite me since
git-bisect-run took a few hours to finish.

-- 
Best,

RY