vagrant@vagrant-ubuntu-server-trusty-32:~/git-repositories/3rd-party/emacs$ cat /etc/issue
Ubuntu 14.04.2 LTS \n \l
vagrant@vagrant-ubuntu-server-trusty-32:~/git-repositories/3rd-party/emacs$ uname -a
Linux vagrant-ubuntu-server-trusty-32 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:49 UTC 2015 i686 i686 i686 GNU/Linux
vagrant@vagrant-ubuntu-server-trusty-32:~/git-repositories/3rd-party/emacs$ git show --stat
commit b74db6347cf5cac1ebd4c604fd5691c588fd8e32
Date: Tue Feb 24 16:34:13 2015 -0800
Backtrace after malloc arena is corrupted
Without this change, if the malloc arena is corrupted and then
'backtrace' is called, the backtrace can crash because 'backtrace'
calls 'malloc'. For more, please see:
* emacs.c (main): Initialize tables used by 'backtrace'.
* sysdep.c (emacs_backtrace): Document the newly used part of the API.
src/ChangeLog | 10 ++++++++++
src/emacs.c | 2 ++
src/sysdep.c | 12 +++++++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
vagrant@vagrant-ubuntu-server-trusty-32:~/git-repositories/3rd-party/emacs$ ./autogen.sh && ./configure --without-x && make
Checking whether you have the necessary tools...
(Read INSTALL.REPO for more details on building Emacs)
Checking for autoconf (need at least version 2.65)...
ok
Checking for automake (need at least version 1.11)...
ok
Your system has the required tools.
Running 'autoreconf -fi -I m4' ...
lib/Makefile.am: installing 'build-aux/depcomp'
You can now run './configure'.
checking for xcrun... no
checking for GNU Make... make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make supports nested variables... (cached) yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... -std=gnu99
checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for ranlib... ranlib
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking whether gcc -std=gnu99 accepts -g3 -O2... yes
checking whether the compiler is clang... no
checking whether make supports nested variables... (cached) yes
checking whether ln -s works for files in the same directory... yes
checking for install-info... /usr/bin/install-info
checking for gzip... /bin/gzip
checking for paxctl... no
checking for setfattr... no
checking for -znocombreloc... yes
checking whether addresses are sanitized... no
checking for library containing sqrt... -lm
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for machine/soundcard.h... no
checking for sys/soundcard.h... yes
checking for soundcard.h... no
checking for mmsystem.h... no
checking for _oss_ioctl in -lossaudio... no
checking for ALSA... yes
checking for sys/systeminfo.h... no
checking for sys/sysinfo.h... yes
checking for coff.h... no
checking for pty.h... yes
checking for sys/resource.h... yes
checking for sys/utsname.h... yes
checking for pwd.h... yes
checking for utmp.h... yes
checking for util.h... no
checking for sys/socket.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for pthread.h... yes
checking for malloc/malloc.h... no
checking for maillock.h... yes
checking for sys/un.h... yes
checking for dirent.h... yes
checking for execinfo.h... yes
checking for stdio_ext.h... yes
checking for getopt.h... yes
checking for sys/time.h... yes
checking for wchar.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for sys/select.h... yes
checking for sys/stat.h... (cached) yes
checking for utime.h... yes
checking if personality LINUX32 can be set... yes
checking if Linux sysinfo may be used... yes
checking for term.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether sys_siglist is declared... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for net/if.h... yes
checking for ifaddrs.h... yes
checking for net/if_dl.h... no
checking for struct ifreq.ifr_flags... yes
checking for struct ifreq.ifr_hwaddr... yes
checking for struct ifreq.ifr_netmask... yes
checking for struct ifreq.ifr_broadaddr... yes
checking for struct ifreq.ifr_addr... yes
checking for struct ifreq.ifr_addr.sa_len... no
checking whether gcc understands -MMD -MF... yes
checking for long file names... yes
checking for X... disabled
checking whether malloc is Doug Lea style... yes
checking sys/vlimit.h usability... yes
checking sys/vlimit.h presence... yes
checking for sys/vlimit.h... yes
checking for data_start... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for main in -lXbsd... no
checking for library containing pthread_kill... -lpthread
checking for DBUS... yes
checking for dbus_watch_get_unix_fd... yes
checking for dbus_type_is_valid... yes
checking for dbus_validate_bus_name... yes
checking for dbus_validate_path... yes
checking for dbus_validate_interface... yes
checking for dbus_validate_member... yes
checking for lgetfilecon in -lselinux... yes
checking for LIBGNUTLS... yes
checking for LIBGNUTLS3... no
checking for GFILENOTIFY... yes
checking for library containing inflateEnd... -lz
checking gpm.h usability... yes
checking gpm.h presence... yes
checking for gpm.h... yes
checking for Gpm_Open in -lgpm... yes
checking for LIBXML2... yes
checking for htmlReadMemory in -lxml2... yes
checking whether netdb declares h_errno... yes
checking for maillock in -lmail... no
checking for maillock in -llockfile... yes
checking for accept4... yes
checking for fchdir... yes
checking for gethostname... yes
checking for getrusage... yes
checking for get_current_dir_name... yes
checking for lrand48... yes
checking for random... yes
checking for rint... yes
checking for select... yes
checking for getpagesize... (cached) yes
checking for setlocale... yes
checking for newlocale... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for shutdown... yes
checking for getaddrinfo... yes
checking for pthread_sigmask... yes
checking for strsignal... yes
checking for setitimer... yes
checking for sendto... yes
checking for recvfrom... yes
checking for getsockname... yes
checking for getpeername... yes
checking for getifaddrs... yes
checking for freeifaddrs... yes
checking for gai_strerror... yes
checking for sync... yes
checking for getpwent... yes
checking for endpwent... yes
checking for getgrent... yes
checking for endgrent... yes
checking for cfmakeraw... yes
checking for cfsetspeed... yes
checking for copysign... yes
checking for __executable_start... yes
checking for log2... yes
checking for aligned_alloc... yes
checking for __builtin_unwind_init... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for grantpt... yes
checking for getpt... yes
checking for posix_openpt... yes
checking for library containing tputs... -ltinfo
checking for timerfd interface... yes
checking whether signals can be handled on alternate stack... yes
checking valgrind/valgrind.h usability... no
checking valgrind/valgrind.h presence... no
checking for valgrind/valgrind.h... no
checking for tzalloc... no
checking for tzset... yes
checking for readlinkat... yes
checking for faccessat... yes
checking for fcntl... yes
checking for fdopendir... yes
checking for fstatat... yes
checking for fsync... yes
checking for gettimeofday... yes
checking for nanotime... no
checking for lstat... yes
checking for mkostemp... yes
checking for pipe2... yes
checking for pselect... yes
checking for pthread_sigmask... (cached) yes
checking for fchmod... yes
checking for readlink... yes
checking for strtoimax... yes
checking for strtoumax... yes
checking for symlink... yes
checking for localtime_r... yes
checking for futimes... yes
checking for futimesat... yes
checking for futimens... yes
checking for utimensat... yes
checking for lutimes... yes
checking for getdtablesize... yes
checking for secure_getenv... yes
checking for socket... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for snprintf... yes
checking whether GLib is linked in... yes
checking for nl_langinfo and CODESET... yes
checking for mbstate_t... yes
checking for signals via characters... yes
checking for _setjmp... yes
checking for sigsetjmp... yes
checking for usable FIONREAD... yes
checking for usable SIGIO... yes
checking for struct alignment... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for unsigned long long int... yes
checking whether byte ordering is bigendian... no
checking whether the preprocessor supports include_next... yes
checking whether system header files limit the line length... no
checking whether strtold conforms to C99... yes
checking if environ is properly declared... yes
checking for complete errno.h... yes
checking for mode_t... yes
checking whether fdatasync is declared... yes
checking for st_dm_mode in struct stat... no
checking whether strmode is declared... no
checking whether lstat correctly handles trailing slash... yes
checking for getopt.h... (cached) yes
checking for getopt_long_only... yes
checking whether getopt is POSIX compatible... yes
checking for working GNU getopt function... yes
checking for working GNU getopt_long function... yes
checking whether getenv is declared... yes
checking for C/C++ restrict keyword... __restrict
checking for struct timeval... yes
checking for wide-enough struct timeval.tv_sec member... yes
checking for long long int... yes
checking whether stdint.h conforms to C99... yes
checking whether memrchr is declared... yes
checking whether alarm is declared... yes
checking whether <sys/select.h> is self-contained... yes
checking for sigset_t... yes
checking for wchar_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking whether strtoimax is declared... yes
checking whether strtoumax is declared... yes
checking whether stat file-mode macros are broken... no
checking for struct timespec in <time.h>... yes
checking whether unsetenv is declared... yes
checking whether the utimes function works... yes
checking for struct utimbuf... yes
checking type of array argument to getgroups... gid_t
checking whether getdtablesize is declared... yes
checking for alloca as a compiler built-in... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking for clock_settime... yes
checking whether dup2 works... yes
checking for library containing backtrace_symbols_fd... none required
checking whether fcntl handles F_DUPFD correctly... yes
checking whether fcntl understands F_DUPFD_CLOEXEC... needs runtime check
checking for library containing fdatasync... none required
checking whether fdopendir is declared... yes
checking whether fdopendir works... yes
checking for __fpending... yes
checking whether __fpending is declared... yes
checking whether fstatat (..., 0) works... yes
checking for getloadavg... yes
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking whether getloadavg is declared... yes
checking whether gettimeofday clobbers localtime buffer... no
checking for gettimeofday with POSIX signature... almost
checking for memrchr... yes
checking for working mktime... yes
checking whether signature of pselect conforms to POSIX... yes
checking whether pselect detects invalid fds... yes
checking whether pthread_sigmask returns error numbers... yes
checking whether pthread_sigmask unblocks signals correctly... guessing yes
checking for putenv compatible with GNU and SVID... yes
checking sys/acl.h usability... no
checking sys/acl.h presence... no
checking for sys/acl.h... no
configure: WARNING: libacl development library was not found or not usable.
configure: WARNING: GNU Emacs will be built without ACL support.
checking whether readlink signature is correct... yes
checking whether readlink handles trailing slash correctly... yes
checking whether readlinkat signature is correct... yes
checking for sig2str... no
checking for volatile sig_atomic_t... yes
checking for sighandler_t... yes
checking for socklen_t... yes
checking for ssize_t... yes
checking for struct stat.st_atim.tv_nsec... yes
checking whether struct stat.st_atim is of type struct timespec... yes
checking for struct stat.st_birthtimespec.tv_nsec... no
checking for struct stat.st_birthtimensec... no
checking for struct stat.st_birthtim.tv_nsec... no
checking for working stdalign.h... no
checking for max_align_t... no
checking whether NULL can be used in arbitrary expressions... yes
checking whether inttypes macros match system or gnu printf... system
checking for stpcpy... yes
checking whether strtoimax works... yes
checking whether symlink handles trailing slash correctly... yes
checking whether <sys/select.h> is self-contained... (cached) yes
checking for nlink_t... yes
checking whether localtime_r is declared... yes
checking whether localtime_r is compatible with its POSIX signature... yes
checking for library containing timer_settime... -lrt
checking for timer_settime... yes
checking for unsetenv... yes
checking for unsetenv() return type... int
checking whether unsetenv obeys POSIX... yes
checking for variable-length arrays... yes
checking whether getdtablesize works... yes
Configured for `i686-pc-linux-gnu'.
Where should the build process find the source code? .
What compiler should emacs be built with? gcc -std=gnu99 -g3 -O2
Should Emacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should Emacs use a relocating allocator for buffers? no
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? none
What toolkit should Emacs use? none
Where do we find X Windows header files? NONE
Where do we find X Windows libraries? NONE
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? no
Does Emacs use -ljpeg? no
Does Emacs use -ltiff? no
Does Emacs use a gif library? no
Does Emacs use a png library? no
Does Emacs use -lrsvg-2? no
Does Emacs use imagemagick? no
Does Emacs support sound? yes
Does Emacs use -lgpm? yes
Does Emacs use -ldbus? yes
Does Emacs use -lgconf? no
Does Emacs use GSettings? no
Does Emacs use a file notification library? yes -lgio (gfile)
Does Emacs use access control lists? no
Does Emacs use -lselinux? yes
Does Emacs use -lgnutls? yes
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? no
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? no
Does Emacs use -lxft? no
Does Emacs directly use zlib? yes
Does Emacs use toolkit scroll bars? no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating ./doc/man/emacs.1
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating lib-src/Makefile
config.status: creating oldXMenu/Makefile
config.status: creating doc/emacs/Makefile
config.status: creating doc/misc/Makefile
config.status: creating doc/lispintro/Makefile
config.status: creating doc/lispref/Makefile
config.status: creating src/Makefile
config.status: creating lwlib/Makefile
config.status: creating lisp/Makefile
config.status: creating leim/Makefile
config.status: creating nextstep/Makefile
config.status: creating nt/Makefile
config.status: creating test/automated/Makefile
config.status: creating admin/unidata/Makefile
config.status: creating admin/grammars/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing src/epaths.h commands
config.status: executing src/.gdbinit commands
config.status: executing doc/emacs/emacsver.texi commands
config.status: executing etc-refcards-emacsver.tex commands
make -C lib all
make[1]: Entering directory `/home/vagrant/git-repositories/3rd-party/emacs/lib'
GEN alloca.h
GEN c++defs.h
GEN arg-nonnull.h
GEN warn-on-use.h
GEN dirent.h
GEN fcntl.h
GEN inttypes.h
GEN signal.h
GEN stdalign.h
GEN stddef.h
GEN stdio.h
GEN stdlib.h
GEN string.h
GEN sys/select.h
GEN sys/stat.h
GEN sys/time.h
GEN sys/types.h
GEN time.h
GEN unistd.h
make all-am
make[2]: Entering directory `/home/vagrant/git-repositories/3rd-party/emacs/lib'
CC allocator.o
CC binary-io.o
CC c-ctype.o
CC c-strcasecmp.o
CC c-strncasecmp.o
CC careadlinkat.o
CC close-stream.o
CC count-one-bits.o
CC count-trailing-zeros.o
CC md5.o
CC sha1.o
CC sha256.o
CC sha512.o
CC dtoastr.o
CC dtotimespec.o
CC filemode.o
CC gettime.o
CC pipe2.o
CC acl-errno-valid.o
CC file-has-acl.o
CC qcopy-acl.o
CC qset-acl.o
CC stat-time.o
CC strftime.o
CC timespec.o
CC timespec-add.o
CC timespec-sub.o
CC u64.o
CC unistd.o
CC utimens.o
CC openat-die.o
CC save-cwd.o
CC fcntl.o
CC sig2str.o
AR libgnu.a
make[2]: Leaving directory `/home/vagrant/git-repositories/3rd-party/emacs/lib'
make[1]: Leaving directory `/home/vagrant/git-repositories/3rd-party/emacs/lib'
make -C lib-src all
make[1]: Entering directory `/home/vagrant/git-repositories/3rd-party/emacs/lib-src'
CC regex.o
CCLD etags
CCLD ctags
CCLD emacsclient
CCLD ebrowse
CCLD profile
CC pop.o
CCLD movemail
CCLD hexl
CCLD update-game-score
CCLD make-docfile
make[1]: Leaving directory `/home/vagrant/git-repositories/3rd-party/emacs/lib-src'
make -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' all
make[1]: Entering directory `/home/vagrant/git-repositories/3rd-party/emacs/src'
GEN globals.h
CC vm-limit.o
CC dispnew.o
CC frame.o
CC scroll.o
CC xdisp.o
CC menu.o
CC window.o
CC charset.o
CC coding.o
CC category.o
CC ccl.o
CC character.o
CC chartab.o
CC bidi.o
CC cm.o
CC term.o
CC terminal.o
CC xfaces.o
CC dbusbind.o
CC emacs.o
CC keyboard.o
CC macros.o
CC keymap.o
CC sysdep.o
CC buffer.o
CC filelock.o
CC insdel.o
CC marker.o
CC minibuf.o
CC fileio.o
CC dired.o
CC cmds.o
CC casetab.o
CC casefiddle.o
CC indent.o
CC search.o
CC regex.o
CC undo.o
CC alloc.o
CC data.o
GEN buildobj.h
CC doc.o
CC editfns.o
CC callint.o
CC eval.o
CC floatfns.o
CC fns.o
CC font.o
CC print.o
CC lread.o
CC syntax.o
CC unexelf.o
CC bytecode.o
CC process.o
CC gnutls.o
CC callproc.o
CC region-cache.o
CC sound.o
CC atimer.o
CC doprnt.o
CC intervals.o
CC textprop.o
CC composite.o
CC xml.o
CC gfilenotify.o
CC profiler.o
CC decompress.o
CC xgselect.o
CC terminfo.o
CC lastfile.o
CCLD temacs
/bin/mkdir -p ../etc
: paxctl -r temacs
: setfattr -n user.pax.flags -v er temacs
make -C ../lisp update-subdirs
make[2]: Entering directory `/home/vagrant/git-repositories/3rd-party/emacs/lisp'
for file in `find . -type d -print`; do case $file in .*/cedet* | .*/leim* ) ;; *) wins="$wins${wins:+ }$file" ;; esac; done; \
for file in $wins; do \
./../build-aux/update-subdirs $file; \
done;
make[2]: Leaving directory `/home/vagrant/git-repositories/3rd-party/emacs/lisp'
./temacs --batch --load loadup bootstrap
make[1]: *** [bootstrap-emacs] Segmentation fault (core dumped)
make[1]: Leaving directory `/home/vagrant/git-repositories/3rd-party/emacs/src'
make: *** [src] Error 2
vagrant@vagrant-ubuntu-server-trusty-32:~/git-repositories/3rd-party/emacs/src$ gdb temacs
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from temacs...done.
warning: File "/home/vagrant/git-repositories/3rd-party/emacs/src/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /home/vagrant/git-repositories/3rd-party/emacs/src/.gdbinit
line to your configuration file "/home/vagrant/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/vagrant/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
(gdb) run --batch --load loadup bootstrap
Starting program: /home/vagrant/git-repositories/3rd-party/emacs/src/temacs --batch --load loadup bootstrap
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
process 8435 is executing new program: /home/vagrant/git-repositories/3rd-party/emacs/src/temacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
__GI___backtrace (array=array@entry=0xbfffedcc, size=size@entry=0) at ../sysdeps/i386/backtrace.c:141
141 ../sysdeps/i386/backtrace.c: No such file or directory.
(gdb) bt
#0 __GI___backtrace (array=array@entry=0xbfffedcc, size=size@entry=0) at ../sysdeps/i386/backtrace.c:141
#1 0x080ed543 in emacs_backtrace (backtrace_limit=backtrace_limit@entry=-1) at sysdep.c:2177
#2 0x0804f744 in main (argc=<optimized out>, argv=0xbffff6d4) at emacs.c:887
(gdb)