>>>>> "Akim" == Akim Demaille <[EMAIL PROTECTED]> 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 _______________________________________________ Bug-m4 mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-m4
