automake
[Top][All Lists]
Advanced

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

Re: On Ubuntu 10.4, test programs that segfault do XPASS


From: Roberto Bagnara
Subject: Re: On Ubuntu 10.4, test programs that segfault do XPASS
Date: Sun, 22 Aug 2010 09:36:34 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050929 Thunderbird/1.0.7 Fedora/1.0.7-1.1.fc4 Mnenhy/0.7.3.0

On 08/22/10 06:11, Ralf Wildenhues wrote:
* Roberto Bagnara wrote on Sat, Aug 21, 2010 at 11:32:45PM CEST:
I am using Automake's simple test driver.

Are you using parallel-tests or not?

I am not using it now (though I am planning to use it in the future).

Any setting for the variables
TESTS_ENVIRONMENT, LOG_COMPILER?

I am not setting them.

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: bug23

I am able to reproduce this _only_ on Ubuntu (10.4):
on all other systems I have access to things work
as expected.

Please show
   ./bug23; echo $?

$ ./bug23; echo $?
Segmentation fault
139

as well as
   /bin/dash -c './bug23; echo $?'

$ /bin/dash -c './bug23; echo $?'
Segmentation fault
139

$ /bin/bash -c './bug23; echo $?'
/bin/bash: line 1:  6781 Segmentation fault      ./bug23
139

and also
   make check SHELL='/bin/dash -x' TESTS=bug23

$ make check SHELL='/bin/dash -x' TESTS=bug23
make  check-am
+ make check-am
make[1]: Entering directory ...
make  ... bug23 ...
make[2]: Entering directory ...
make[2]: ... is up to date.
make[2]: `bug23' is up to date.
make[2]: ... is up to date.
...
make[2]: Leaving directory ...
make  check-TESTS
+ make check-TESTS
make[2]: Entering directory ...
+ failed=0
+ all=0
+ xfail=0
+ xpass=0
+ skip=0
+ srcdir=...
+ export srcdir
+ list= bug23
+ red=
+ grn=
+ lgn=
+ blu=
+ std=
+ test -n  bug23
+ test -f ./bug23
+ dir=./
+ ./bug23
+ expr 0 + 1
+ all=1
+ 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 ...
+ report=Please report to ...
+ ecwc -c
+ + wc -c
+ test 41 -le 59
+ + 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 ...
+ echo Please report to ...
Please report to ...
+ echo ==========================================================
==========================================================
+ test 1 -eq 0
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory ...
make[1]: *** [check-am] Error 2
make[1]: Leaving directory ...
make: *** [check] Error 2

$ make check SHELL='/bin/bash -x' TESTS=bug23
make  check-am
+ make check-am
make[1]: Entering directory ...
make  ... bug23 ...
make[2]: Entering directory ...
make[2]: ... is up to date.
make[2]: `bug23' is up to date.
make[2]: ... is up to date.
...
make[2]: Leaving directory ...
make  check-TESTS
+ make check-TESTS
make[2]: Entering directory ...
+ 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 ...
+ report='Please report to ...'
++ echo 'Please report to ...'
++ wc -c
++ wc -c
+ test 41 -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 ...'
+ echo 'Please report to ...'
Please report to ...
+ echo ==========================================================
==========================================================
+ test 1 -eq 0
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory ...
make[1]: *** [check-am] Error 2
make[1]: Leaving directory ...
make: *** [check] Error 2

(replace /bin/dash with whatever SHELL is assigned to in your Makefile).

In the Makefile I have:

SHELL = /bin/bash

Thanks a lot,

  Roberto

--
Prof. Roberto Bagnara
Applied Formal Methods Laboratory
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:address@hidden



reply via email to

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