bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24204: temacs crashes on invocation with new GLIBC 2.24


From: jpbion
Subject: bug#24204: temacs crashes on invocation with new GLIBC 2.24
Date: Thu, 11 Aug 2016 08:30:57 -0700
User-agent: Roundcube Webmail/1.2.1

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@entry=1, argv=argv@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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]