Subject: bug#26638: 25.2; Fatal error 6: Abortmake[1]: *** [Makefile:737: bootstrap-emacs] Abort (core dumped)

From: 白井彰 <[email-masked]>
Date: Wed, 26 Apr 2017 00:50:21 +0900

Thanks for reading the report.

> If you run 'make' again, on the directory where 'make' failed, does 'make' work the second time?
'make' does not work the second time:
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no; make; make
checking for xcrun... no
    :
./temacs --batch --load loadup bootstrap
Fatal error 6: Abortmake[1]: *** [Makefile:737: bootstrap-emacs] Abort (core dumped)
make[1]: Leaving directory '/tmp/emacs-25.2/src'
make: *** [Makefile:398: src] Error 2
make -C lib all
    :
./temacs --batch --load loadup bootstrap
Fatal error 6: Abortmake[1]: *** [Makefile:737: bootstrap-emacs] Abort (core dumped)
make[1]: Leaving directory '/tmp/emacs-25.2/src'
make: *** [Makefile:398: src] Error 2

> Can you reproduce the problem easily?
Yes, I can reproduce the problem every time:
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no; make
checking for xcrun... no
    :
./temacs --batch --load loadup bootstrap
Fatal error 6: Abortmake[1]: *** [Makefile:737: bootstrap-emacs] Abort (core dumped)
make[1]: Leaving directory '/tmp/emacs-25.2/src'
make: *** [Makefile:398: src] Error 2
% cd ..; rm -rf emacs-25.2
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no; make
checking for xcrun... no
    :
./temacs --batch --load loadup bootstrap
Fatal error 6: Abortmake[1]: *** [Makefile:737: bootstrap-emacs] Abort (core dumped)
make[1]: Leaving directory '/tmp/emacs-25.2/src'
make: *** [Makefile:398: src] Error 2

> Can you reproduce it with CFLAGS='-g' instead of '-g -O'?
No, I cannot reproduce it with CFLAGS='-g':
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no CFLAGS='-g'; make
checking for xcrun... no
    :
checking for cc -D_STDC_C99= option to disable position independent executables... no

Configured for 'i386-pc-solaris2.10'.

  Where should the build process find the source code?    .
  What compiler should emacs be built with?               cc -D_STDC_C99= -g
    :
  Does Emacs support Xwidgets (requires gtk3)?            no

checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating ./doc/man/emacs.1
    :
config.status: executing etc-refcards-emacsver.tex commands
make -C lib all
make[1]: Entering directory '/tmp/emacs-25.2/lib'
  GEN      byteswap.h
    :
make[2]: Leaving directory '/tmp/emacs-25.2/lisp'
./temacs --batch --load loadup bootstrap
Loading loadup.el (source)...
Using load-path (/tmp/emacs-25.2/lisp /tmp/emacs-25.2/lisp/emacs-lisp /tmp/emacs-25.2/lisp/language /tmp/emacs-25.2/lisp/international /tmp/emacs-25.2/lisp/textmodes /tmp/emacs-25.2/lisp/vc)
Loading emacs-lisp/byte-run...
    :
Loading /tmp/emacs-25.2/lisp/leim/leim-list.el (source)...
Finding pointers to doc strings...
Finding pointers to doc strings...done
Dumping under the name emacs
44539 pure bytes used
mv -f emacs bootstrap-emacs
make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
    :
LC_ALL=C ./temacs -batch -l loadup dump
Loading loadup.el (source)...
Using load-path (/tmp/emacs-25.2/lisp)
Loading emacs-lisp/byte-run...
    :
Loading leim/leim-list.el (source)...
Finding pointers to doc strings...
Finding pointers to doc strings...done
Pure-hashed: 24148 strings, 3793 vectors, 38652 conses, 3700 bytecodes, 102 others
Dumping under the name emacs
1782190 pure bytes used
Adding name emacs-25.2.1
ln -f emacs bootstrap-emacs
make[1]: Leaving directory '/tmp/emacs-25.2/src'
make -C lisp all
    :
make[1]: Leaving directory '/tmp/emacs-25.2'
%

> Can you give us a debugging backtrace with dbx and/or GDB, preferably without -O?
The debugging backtrace with pstack and GDB, with -O:
% pstack /tmp/emacs-25.2/src/core
core '/tmp/emacs-25.2/src/core' of 20343:       ./temacs --batch --load loadup bootstrap
 fe6dab25 _lwp_kill (1, 6) + 15
 fe681ee3 raise    (6) + 1f
 081c888a terminate_due_to_signal (6, 28, 80470b8, 8294416) + a2
 081f5167 emacs_abort (3240, 0, 80470e8, 81d13f5, 3240, 5298) + f
 082945c8 specbind (3240, 5298, 80470e8, 81d13cd) + 1cc
 081d13f5 safe_run_hooks (1cdc8) + 35
 08228707 Fdo_auto_save (5298, 0, 5, 81ca48e) + c7
 081ca52b shut_down_emacs (6) + eb
 081c884a terminate_due_to_signal (6, 28, 8047228, 826e05d) + 62
 081f5167 emacs_abort (83be594, 85cd64d, 8047228, 0, 85bbd68, 0) + f
 0826e36e set_internal (1cdb0, 85d454b, 0, 0) + 3b6
 0826dfa4 Fset     (1cdb0, 85d454b, 2, 82cbecb) + 20
 081efb4a syms_of_keymap (feffb818, 0, 1, feffdd68, 1, 0) + ae
 081c957f main     (5, 8047340, 8047358, feffb818) + 69f
 0809b12d _start   (5, 8047474, 804747d, 8047485, 804748c, 8047493) + 7d
% gdb /tmp/emacs-25.2/src/temacs /tmp/emacs-25.2/src/core
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
    :
Loaded symbols for /lib/ld.so.1
Core was generated by `./temacs --batch --load loadup bootstrap'.
Program terminated with signal 6, Aborted.
#0  0xfe6dab25 in _lwp_kill () from /usr/lib/libc.so.1
Die: DW_TAG_restrict_type (abbrev = 52, offset = 2004061)
        has children: FALSE
        attributes:
                DW_AT_type (DW_FORM_ref4) constant ref: 2004056 (adjusted)
/tmp/emacs-25.2/src/.gdbinit:19: Error in sourced command file:
Dwarf Error: Cannot find type of die [in module /tmp/emacs-25.2/src/temacs]
(gdb) backtrace
#0  0xfe6dab25 in _lwp_kill () from /usr/lib/libc.so.1
#1  0xfe6d599f in thr_kill () from /usr/lib/libc.so.1
#2  0xfe681ee3 in raise () from /usr/lib/libc.so.1
Die: DW_TAG_restrict_type (abbrev = 52, offset = 2004061)
        has children: FALSE
        attributes:
                DW_AT_type (DW_FORM_ref4) constant ref: 2004056 (adjusted)
Dwarf Error: Cannot find type of die [in module /tmp/emacs-25.2/src/temacs]
(gdb) quit
%

> Also, would you please let us know the following information?
> * The output of 'cc -V', 'uname -a', 'ulimit -a'.
> * The values of CC and CFLAGS in src/Makefile.
Please see the following information:
% cc -V
cc: Sun C 5.9 SunOS_i386 Patch 124868-01 2007/07/12
usage: cc [ options] files.  Use 'cc -flags' for details
% uname -a
SunOS tokyo 5.10 Generic_141445-09 i86pc i386 i86pc
% ulimit -a
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         unlimited
stack(kbytes)        10240
coredump(blocks)     unlimited
nofiles(descriptors) 1024
vmemory(kbytes)      unlimited
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no
% egrep '^CC =|^CFLAGS =' /tmp/emacs-25.2/src/Makefile
CC = cc -D_STDC_C99=
CFLAGS = -g -O
% cd ..; rm -rf emacs-25.2
% gzcat emacs-25.2.tar.gz | tar xfp -; cd emacs-25.2; ./configure --with-gif=no CFLAGS='-g'
% egrep '^CC =|^CFLAGS =' /tmp/emacs-25.2/src/Makefile
CC = cc -D_STDC_C99=
CFLAGS = -g

Thanks.