On 08/22/10 12:09, Ralf Wildenhues wrote:
* Roberto Bagnara wrote on Sun, Aug 22, 2010 at 09:36:34AM CEST:On 08/22/10 06:11, Ralf Wildenhues wrote:* Roberto Bagnara wrote on Sat, Aug 21, 2010 at 11:32:45PM CEST:I have three programs that, due to a buggy program transformation, keep allocating stack space until they segfault:$ ulimit -s 8192 $ ./bug23 Segmentation fault[...]However: $ make check ... XPASS: bug23I am able to reproduce this _only_ on Ubuntu (10.4): on all other systems I have access to things work as expected.Thanks for the data, unfortunately I still have no clue. The fact that both dash and bash fail looks like it could be a libc or kernel issue. Can you post (gzip'ed) trace of strace -f -o trace make check SHELL='/bin/bash -x' TESTS=bug23 and maybe make the package available so we can try it out?
Hi Ralf, thanks a lot for helping me with this. $ tar jxf ubuntu_bug.tar.bz2 $ cd ubuntu_bug/ $ autoreconf $ ./configure 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 sets $(MAKE)... yes 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 for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... none configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands $ make check make bug23 make[1]: Entering directory `/tmp/ubuntu_bug' gcc -DPACKAGE_NAME=\"ubuntu_bug\" -DPACKAGE_TARNAME=\"ubuntu_but\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"ubuntu_bug\ 0.1\" -DPACKAGE_BUGREPORT=\"bagn...@cs.unipr.it\" -DPACKAGE_URL=\"\" -I. -g -O2 -c bug23.c gcc -g -O2 -o bug23 bug23.o make[1]: Leaving directory `/tmp/ubuntu_bug' make check-TESTS make[1]: Entering directory `/tmp/ubuntu_bug' XPASS: bug23 ========================================================== 1 of 1 test did not behave as expected (1 unexpected pass) Please report to bagn...@cs.unipr.it ========================================================== make[1]: *** [check-TESTS] Error 1 make[1]: Leaving directory `/tmp/ubuntu_bug' make: *** [check-am] Error 2 $ strace -f -o trace make check SHELL='/bin/bash -x' TESTS=bug23 make bug23 + make bug23 make[1]: Entering directory `/tmp/ubuntu_bug' make[1]: `bug23' is up to date. make[1]: Leaving directory `/tmp/ubuntu_bug' make check-TESTS + make check-TESTS make[1]: Entering directory `/tmp/ubuntu_bug' + failed=0 + all=0 + xfail=0 + xpass=0 + skip=0 + srcdir=. + export srcdir + list=' bug23 ' + red= + grn= + lgn= + blu= + std= + test -n ' bug23 ' + for tst in '$list' + test -f ./bug23 + dir=./ + ./bug23 ++ expr 0 + 1 + all=1 + case " bug23 " in ++ expr 0 + 1 + xpass=1 ++ expr 0 + 1 + failed=1 + col= + res=XPASS + echo 'XPASS: bug23' XPASS: bug23 + test 1 -eq 1 + tests=test + All= + test 1 -eq 0 + test 1 -eq 0 + test 1 -eq 1 + passes=pass + banner='1 of 1 test did not behave as expected (1 unexpected pass)' + dashes='1 of 1 test did not behave as expected (1 unexpected pass)' + skipped= + test 0 -ne 0 + report= + test 1 -ne 0 + test -n bagn...@cs.unipr.it + report='Please report to bagn...@cs.unipr.it' ++ echo 'Please report to bagn...@cs.unipr.it' ++ wc -c ++ echo '1 of 1 test did not behave as expected (1 unexpected pass)' ++ wc -c + test 37 -le 59 ++ echo '1 of 1 test did not behave as expected (1 unexpected pass)' ++ sed s/./=/g + dashes=========================================================== + test 1 -eq 0 + echo ========================================================== ========================================================== + echo '1 of 1 test did not behave as expected (1 unexpected pass)' 1 of 1 test did not behave as expected (1 unexpected pass) + test -z '' + test -z 'Please report to bagn...@cs.unipr.it' + echo 'Please report to bagn...@cs.unipr.it' Please report to bagn...@cs.unipr.it + echo ========================================================== ========================================================== + test 1 -eq 0 make[1]: *** [check-TESTS] Error 1 make[1]: Leaving directory `/tmp/ubuntu_bug' make: *** [check-am] Error 2 $ automake --version automake (GNU automake) 1.11.1 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Tom Tromey <tro...@redhat.com> and Alexandre Duret-Lutz <a...@gnu.org>. $ autoconf --version autoconf (GNU Autoconf) 2.65 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. -- Prof. Roberto Bagnara Applied Formal Methods Laboratory Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:bagn...@cs.unipr.it
trace.bz2
Description: BZip2 compressed data
ubuntu_bug.tar.bz2
Description: BZip2 compressed data