GNU bug report logs -
#24204
temacs crashes on invocation with new GLIBC 2.24
Previous Next
Reported by: jpbion <at> jfwest.com
Date: Thu, 11 Aug 2016 15:52:01 UTC
Severity: normal
Tags: patch
Merged with 23760,
24033
Found in version 25.0.95
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Using the new glibc, v2.24, and GCC 6.1
Any attempt to run 'temacs' fails with a segment fault. It appears that
the call to 'malloc' inside the 'calloc' function in Emacs' gmalloc.c
file starts to recurse, and eventually hits a segment fault after
recursing 10,000+ times. Here is the stack trace at the beginning of
this nested recursion hell.
I don't know why the call to malloc is turning into a call for the
calloc in gmalloc.c, but I think whatever is doing that is causing this
problem.
Any thoughts? Anything else needed?
commands to get this far:
./autogen.sh
./configure --prefix=/usr --libexecdir=/usr/lib --localstatedir=/var
--with-x-t\
oolkit=no --without-x --without-gif
make bootstrap
src/config.h lines, that contain the word 'malloc':
4 matches in 12 lines for "malloc" in buffer: config.h
26: intended to work with other packages as well (like gmalloc.c)
108:/* Define to 1 if the system memory allocator is Doug Lea style,
with m\
alloc
109: hooks and malloc_set_state. */
110:/* #undef DOUG_LEA_MALLOC */
232:#define GNU_MALLOC 1
234:/* Define to set the G_SLICE environment variable to
"always-malloc" at
236:/* #undef G_SLICE_ALWAYS_MALLOC */
774:/* Define to 1 if you have the <malloc/malloc.h> header file. */
775:/* #undef HAVE_MALLOC_MALLOC_H */
1446:/* #undef SYSTEM_MALLOC */
1599:/* Define this to check for malloc buffer overrun. */
1600:/* #undef XMALLOC_OVERRUN_CHECK */
stack track of temacs at beginning of recursive loop:
#0 0x08133c63 in backtrace_top () at eval.c:206
#1 0xffffffff in <function called from gdb> ()
#2 0x08133c63 in backtrace_top () at eval.c:206
#3 0xffffffff in <function called from gdb> ()
#4 0x0818a4a0 in calloc (nmemb=508, size=1) at gmalloc.c:1519
#5 0x0818a4cb in calloc (nmemb=508, size=1) at gmalloc.c:1529
#6 0x0818a4cb in calloc (nmemb=1, size=508) at gmalloc.c:1529
#7 0xffffffff in g_malloc0 (n_bytes=508) at gmem.c:124
#8 0xffffffff in g_malloc0_n (n_blocks=127, n_block_bytes=4) at
gmem.c:355
#9 0xffffffff in g_slice_init_nomessage () at gslice.c:440
#10 0xffffffff in g_slice_alloc () at gslice.c:515
#11 0xffffffff in g_slice_alloc (mem_size=56) at gslice.c:1003
#12 0xffffffff in g_hash_table_new_full (hash_func=0xb78c6320
<g_str_hash>, key\
_equal_func=0xb78c62f0 <g_str_equal>, key_destroy_func=0x0,
value_destroy_func=\
0x0) at ghash.c:711
#13 0xffffffff in g_hash_table_new (hash_func=0xb78c6320 <g_str_hash>,
key_equa\
l_func=0xb78c62f0 <g_str_equal>) at ghash.c:674
#14 0xffffffff in g_quark_init () at gquark.c:61
#15 0xffffffff in glib_init_ctor () at glib-init.c:243
#16 0xffffffff in glib_init_ctor () at glib-init.c:301
#17 0xffffffff in call_init (l=<optimized out>, argc=argc <at> entry=1,
argv=argv <at> en\
try=0xbffffd94, env=0xbffffd9c) at dl-init.c:72
#18 0xffffffff in _dl_init (env=0xbffffd9c, argv=0xbffffd94, argc=1,
l=<optimiz\
ed out>) at dl-init.c:30
#19 0xffffffff in _dl_init (main_map=<optimized out>, argc=1,
argv=0xbffffd94, \
env=0xbffffd9c) at dl-init.c:120
#20 0xffffffff in _dl_start_user () at /lib/ld-linux.so.2
This bug report was last modified 8 years and 346 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.