Subject: bug#57789: Emacs 28.1 clone build with native compilation crashes on s390x

From: Rob Browning <[email-masked]>
Date: Fri, 03 Jan 2025 12:34:37 -0600

Stefan Kangas <[email-masked]> writes:

> Thanks.  I guess not a lot of us have access to an s390x machine, so I
> don't think anyone has been able to test it.

Hmm, I think I've heard there may be (or were?) some public instances
that provide short-term dev access, but have never looked in to it.

I was also going to outline an easy way to test in a vm at least on a
Debian system via debvm/mmdebstrap, but after doing that, I wasn't able
to reproduce the problem there.  (Happy to provide instructions for
anyone interested, otherwise.)

In any case, I just tried both the current Debian package and an
upstream emcs-29.4 checkout on zelenka.debian.org, and both fail.

The emacs-29.4 tree fails like this:

make[3]: Entering directory '/home/rlb/emacs/admin/unidata'
make[3]: Nothing to be done for 'charscript.el'.
make[3]: Leaving directory '/home/rlb/emacs/admin/unidata'
make -C ../admin/unidata emoji-zwj.el
make[3]: Entering directory '/home/rlb/emacs/admin/unidata'
make[3]: Nothing to be done for 'emoji-zwj.el'.
make[3]: Leaving directory '/home/rlb/emacs/admin/unidata'
  ELC+ELN  ../lisp/emacs-lisp/eldoc.elc

Error: wrong-type-argument ("../lisp/emacs-lisp/eldoc.el" hash-table-p [unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound])
Fatal error 11: Segmentation fault
Backtrace:
../src/bootstrap-emacs(emacs_backtrace+0x46) [0x2aa1c2f12f6]
../src/bootstrap-emacs(terminate_due_to_signal+0x9e) [0x2aa1c18fb76]
../src/bootstrap-emacs(+0x8fdde) [0x2aa1c18fdde]
../src/bootstrap-emacs(+0x1ef45a) [0x2aa1c2ef45a]
../src/bootstrap-emacs(+0x1ef4a2) [0x2aa1c2ef4a2]
linux-vdso64.so.1(__kernel_rt_sigreturn+0x0) [0x3ffdc0e5480]
../src/bootstrap-emacs(+0x2433a4) [0x2aa1c3433a4]
../src/bootstrap-emacs(visit_static_gc_roots+0x196) [0x2aa1c342dae]
../src/bootstrap-emacs(garbage_collect+0x1e6) [0x2aa1c3445d6]
../src/bootstrap-emacs(eval_sub+0x54c) [0x2aa1c370244]
../src/bootstrap-emacs(eval_sub+0x4ac) [0x2aa1c3701a4]
../src/bootstrap-emacs(Fcond+0x84) [0x2aa1c3711f4]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fwhile+0x6e) [0x2aa1c370fb6]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Flet+0x2e2) [0x2aa1c374012]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fcond+0x84) [0x2aa1c3711f4]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(+0x271716) [0x2aa1c371716]
../src/bootstrap-emacs(+0x27362c) [0x2aa1c37362c]
../src/bootstrap-emacs(eval_sub+0x290) [0x2aa1c36ff88]
../src/bootstrap-emacs(Fsetq+0xa8) [0x2aa1c370ab0]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fwhile+0x6e) [0x2aa1c370fb6]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Flet+0x2e2) [0x2aa1c374012]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fcond+0x84) [0x2aa1c3711f4]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(+0x271716) [0x2aa1c371716]
../src/bootstrap-emacs(+0x27362c) [0x2aa1c37362c]
../src/bootstrap-emacs(eval_sub+0x290) [0x2aa1c36ff88]
../src/bootstrap-emacs(Fsetq+0xa8) [0x2aa1c370ab0]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fwhile+0x6e) [0x2aa1c370fb6]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Flet+0x2e2) [0x2aa1c374012]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
../src/bootstrap-emacs(Fcond+0x84) [0x2aa1c3711f4]
../src/bootstrap-emacs(eval_sub+0x8d2) [0x2aa1c3705ca]
...
make[3]: *** [Makefile:282: ../lisp/emacs-lisp/eldoc.elc] Segmentation fault
make[2]: *** [Makefile:841: ../lisp/emacs-lisp/eldoc.elc] Error 2
make[2]: Leaving directory '/home/rlb/emacs/src'
make[1]: *** [Makefile:544: src] Error 2
make[1]: Leaving directory '/home/rlb/emacs'
make[1]: Entering directory '/home/rlb/emacs'
***
*** "make all" failed with exit status 2.
***
*** You could try to:
*** - run "make bootstrap", which might fix the problem
*** - run "make V=1", which displays the full commands invoked by make,
***   to further investigate the problem
***
make[1]: *** [Makefile:414: advice-on-failure] Error 2
make[1]: Leaving directory '/home/rlb/emacs'
make: *** [Makefile:370: all] Error 2

Hope this helps
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4