Subject: Re: bug#62504: 30.0.50; SEGFAULT On M-x

From: Eli Zaretskii <[email-masked]>
Date: Tue, 28 Mar 2023 20:01:01 +0300

> From: Jacob Faibussowitsch <[email-masked]>
> Date: Tue, 28 Mar 2023 11:25:49 -0400
> 
> This bug is twofold and appears to be related to bug#62446 and bug#61917. I produce a much smaller reproducer that generates the same kind of error as bug#61917, namely `(wrong-number-of-arguments #<subr signal> 2)`. Segfaults only occur after the following commit:
> 
> commit 52b67740d10df8ca539fdc2c7d50283997683141
> Author: Mattias Engdegård <[email-masked]>
> Date:   Sat Mar 25 15:38:00 2023 +0100
> 
>     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.
> 
> 
> Common setup:
> 
> 1. mkdir repro
> 2. Put attached init.el and main.c inside (technically, main.c need not be in repro)
> 
> ———
> 
> To reproduce bug#61917:
> 
> 1. git checkout master
> 2. configure --with-native-compilation \
>   --without-x \
>   --without-ns \
>   --without-compress-install \
>   --with-native-compilation \
>   --with-json \
>   --with-tree-sitter
> 3. make bootstrap
> 4. emacs  --init-directory ../repro
> 5. Check messages, and ye shall find the bug message.
> 
> ——— 
> 
> To reproduce segfault:
> 
> 1. git checkout 52b67740d10df8ca539fdc2c7d50283997683141
> 2. Perform same configure and build commands as above.
> 3. emacs --init-directory ../repro ../repro/main.c (loading main.c is *required*, the segfault does not fire otherwise)
> 4. (In emacs) M-x
> 5. Fatal error 11: Segmentation fault

Thanks.

Andrea, maybe this will help you investigate the issue.