bug-m4
[Top][All Lists]
Advanced

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

Re: FYI: Core dump :(


From: Akim Demaille
Subject: Re: FYI: Core dump :(
Date: 15 Oct 2001 10:38:35 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Artificial Intelligence)

>>>>> "Akim" == Akim Demaille <address@hidden> writes:

Akim> I don't get it.  I no longer can see it.  I wonder what has
Akim> changed in my env.

Arg...  It seems that --disable-shared hides it.  Or is it dmalloc?  I
don't know.  But CVS M4 with a plain ./configure, on the current CVS
Autoconf gives:


src/ace/tests % ./testsuite.058 -x                               nostromo 10:28
## ------------------------------ ##
## GNU Autoconf 2.52e test suite. ##
## ------------------------------ ##
58. acc.at:18: testing AC_LANG_CPLUSPLUS...
+ cat
+ set +vx
acc.at:18: autoconf --include=$srcdir 
+ autoconf --include=.
--- /dev/null   Fri Jun 15 10:16:37 2001
+++ at-stderr   Mon Oct 15 10:29:08 2001
@@ -0,0 +1,2 @@
+Memory bounds violation detected (SIGSEGV).  Either a stack overflow
+occurred, or there is a bug in /usr/local/bin/m4.  Check for possible infinite 
recursion.
acc.at:18: exit code was 1, expected 0
58. acc.at:18: FAILED near `acc.at:18'


src/ace/tests % cat configure.ac                                 nostromo 10:29
AC_INIT
AC_CONFIG_AUX_DIR($top_srcdir/config)
AC_CONFIG_HEADER(config.h:config.hin)
AC_STATE_SAVE(before)
AC_LANG_CPLUSPLUS
AC_OUTPUT
AC_STATE_SAVE(after)

If you use autoconf -f -v, you learn that:

/usr/local/bin/m4 --nesting-limit=1024 --include=/usr/local/share/autoconf 
--define=m4_warnings=syntax --debug=aflq 
--error-output=autom4te.cachhe/traces.0 --trace=AC_CHECK_FUNCS 
--trace=AC_CHECK_HEADERS --trace=AC_CHECK_LIB --trace=AC_CHECK_TYPES 
--trace=AC_CONFIG_FILES --trace=AC_CONFIG_HEADERS --trace=AC_C_CONST 
--trace=AC_C_INLINE --trace=AC_DECL_SYS_SIGLIST --trace=AC_DEFINE_TRACE_LITERAL 
--trace=AC_FUNC_ALLOCA --trace=AC_FUNC_CHOWN --trace=AC_FUNC_ERROR_AT_LINE 
--trace=AC_FUNC_FNMATCH --trace=AC_FUNC_FORK --trace=AC_FUNC_FSEEKO 
--trace=AC_FUNC_GETGROUPS --trace=AC_FUNC_GETLOADAVG --trace=AC_FUNC_GETPGRP 
--trace=AC_FUNC_LSTAT --trace=AC_FUNC_MALLOC --trace=AC_FUNC_MEMCMP 
--trace=AC_FUNC_MKTIME --trace=AC_FUNC_MMAP --trace=AC_FUNC_OBSTACK 
--trace=AC_FUNC_SETPGRP --trace=AC_FUNC_SETVBUF_REVERSED --trace=AC_FUNC_STAT 
--trace=AC_FUNC_STRCOLL --trace=AC_FUNC_STRERROR_R --trace=AC_FUNC_STRFTIME 
--trace=AC_FUNC_STRTOD --trace=AC_FUNC_UTIME_NULL --trace=AC_FUNC_VPRINTF 
--trace=AC_FUNC_WAIT3 --trace=AC_HEADER_DIRENT --trace=AC_HEADER_MAJOR 
--trace=AC_HEADER_STAT --trace=AC_HEADER_STDC --trace=AC_HEADER_SYS_WAIT 
--trace=AC_HEADER_TIME --trace=AC_LIBSOURCE --trace=AC_PATH_X 
--trace=AC_PROG_AWK --trace=AC_PROG_CC --trace=AC_PROG_CPP --trace=AC_PROG_CXX 
--trace=AC_PROG_GCC_TRADITIONAL --trace=AC_PROG_INSTALL --trace=AC_PROG_LEX 
--trace=AC_PROG_LIBTOOL --trace=AC_PROG_LN_S --trace=AC_PROG_MAKE_SET 
--trace=AC_PROG_RANLIB --trace=AC_PROG_YACC --trace=AC_STRUCT_ST_BLOCKS 
--trace=AC_STRUCT_TIMEZONE --trace=AC_STRUCT_TM --trace=AC_SUBST 
--trace=AC_TYPE_MODE_T --trace=AC_TYPE_OFF_T --trace=AC_TYPE_PID_T 
--trace=AC_TYPE_SIGNAL --trace=AC_TYPE_SIZE_T --trace=AC_TYPE_UID_T 
--trace=AH_OUTPUT --trace=AM_CONDITIONAL --trace=AM_GNU_GETTEXT 
--trace=AM_PROG_LIBTOOL --trace=include --trace=m4_include 
--trace=m4_pattern_allow --trace=m4_pattern_forbid 
--reload-state=/usr/local/share/autoconf/autoconf/autoconf.m4f aclocal.m4 
configure.ac </dev/null >autom4te.cache/output.0
Memory bounds violation detected (SIGSEGV).  Either a stack overflow
occurred, or there is a bug in /usr/local/bin/m4.  Check for possible infinite 
recursion.
autom4te: /usr/local/bin/m4 --nesting-limit=1024: failed with exit status: 139

if you remove the traces, it passes:

src/ace/tests % /usr/local/bin/m4 --nesting-limit=1024 
--include=/usr/local/share/autoconf --define=m4_warnings=syntax --debug=aflq 
--error-output=autom4te.cachhe/traces.0 
--reload-state=/usr/local/share/autoconf/autoconf/autoconf.m4f aclocal.m4 
configure.ac </dev/null >autom4te.cache/output.0
src/ace/tests %                                                  nostromo 10:31



Now for the bad news.  Believe me or not, but if I try to remove *one*
--trace, I no longer observe the SEGV.  I tried a few of them, and
each one simply ``fixed´´ the SEGV :(

src/ace/tests % gdb /usr/local/bin/m4                            nostromo Err 1
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
....
Program received signal SIGSEGV, Segmentation fault.
0x400397d5 in m4_symtab_hash () from /usr/local/lib/libm4.so.0
(gdb) l
No symbol table is loaded.  Use the "file" command.
(gdb) where
#0  0x400397d5 in m4_symtab_hash () from /usr/local/lib/libm4.so.0
#1  0x4002b493 in m4_hash_lookup_node () from /usr/local/lib/libm4.so.0
#2  0x4002b43c in m4_hash_lookup () from /usr/local/lib/libm4.so.0
#3  0x4003979d in m4_symbol_destroy () from /usr/local/lib/libm4.so.0
#4  0x40039612 in m4_symtab_apply () from /usr/local/lib/libm4.so.0
#5  0x4003973c in m4_symtab_exit () from /usr/local/lib/libm4.so.0
#6  0x804abce in main ()
#7  0x4006c6ef in __libc_start_main () from /lib/libc.so.6





reply via email to

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