Subject: bug#11512: Testsuite summary for GNU Automake 1.12

From: "Guido Trentalancia" <[email-masked]>
Date: Tue, 29 May 2012 00:35:10 +0200

>----- Original Message -----
>From: [email-masked]
>To: [email-masked]
Cc: [email-masked]
>Data: Sun, 27 May 2012 20:01:07 +0200
>Subject: Re: bug#11512: Testsuite summary for GNU Automake 1.12

>tags 11512 moreinfo
>severity 11512 minor
>thanks
>
>Hi Guido, thanks for the report, and sorry for the delay.
>
>On 05/18/2012 08:40 PM, Guido Trentalancia wrote:
>> ============================================================================
>> Testsuite summary for GNU Automake 1.12
>> ============================================================================
>> # TOTAL: 2968
>> # PASS:  2833
>> # SKIP:  89
>> # XFAIL: 42
>> # FAIL:  4
>> # XPASS: 0
>> # ERROR: 0
>> ============================================================================
>> See ./test-suite.log
>> Please report to [email-masked]
>> ============================================================================
>>
>What system are you on exactly?  A lots of useful debugging information
>about your system and the tools you are using should have been saved by
>the test harness in the 't/get-sysconf.log' file; could you please post
>its content here?
>
>> ./lib/test-driver: line 95:  8767 Segmentation fault      "$@" >
>> $log_file 2>&1
>> FAIL: t/pm/Condition-t.pl
>> 
>> ./lib/test-driver: line 95:  8815 Segmentation fault      "$@" >
>> $log_file 2>&1
>> FAIL: t/pm/DisjConditions-t.pl
>>
>Huh?  This sounds like you perl is segfaulting when executing these tests ...
>Strange.  Does this happen reliably and consistently, or in a racy way?
>Does it happens also if you run run the test cases by hand?  As with:
>
>  $ perl -Mstrict -I lib -w t/pm/DisjConditions-t.pl

The above mentioned perl test failures were due to a broken perl installation. After re-installing perl, they complete successfully, so please ignore the above.

The only test which fails is t/cond29.sh.

>> FAIL: t/cond29.sh
>> FAIL: t/cond29
>> ==============

It keeps failing unless the ulimit on virtual memory is increased to 500000 as you suggested...

>> Running from installcheck: no
>> Using TAP: no
>> PATH
>> = /usr/src/automake-1.12/t/ax:/usr/src/automake-1.12/t/wrap:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
>> ++ pwd
>> /usr/src/automake-1.12/t/cond29.dir
>> + echo AC_PROG_CC
>> + cat
>> + ulimit -v 1
>> + sh -c :
>> ./t/cond29.sh: line 39:   613 Killed                  sh -c ":"
>> + ulimit -v 150000
>> + sh -c :
>> + ulimit -v 150000
>>
>>  [SNIP]
>>
>> + echo 'AM_CONDITIONAL([C24], [:])'
>> + aclocal-1.12 -Werror
>> + automake-1.12 --foreign -Werror -Wall
>> Out of memory!
>> ./t/cond29.sh: line 61:   686 Segmentation fault      $AUTOMAKE
>> + exit_status=139
>>
>What happens if you raise the ulimit above to (say) 500000?

The t/cond29.sh test completes successfully with ulimit -v 500000.

>What if you bring it down to (say) 50000?  Or 10000?

With 50000 it also fails (it's less than the actual 150000 value).

With 300000 and 200000 it still completes successfully... 

So, the ulimit -v value needs to be increased from 150000 to at least 200000.

However, it's quite ugly to hard-code memory limits in the test code.

The default on my bash version 4.2 patchlevel 28 is unlimited virtual memory, can you not avoid limiting it, for example as follows:

--- automake-1.12/t/cond29.sh   2012-04-21 16:38:05.000000000 +0200
+++ automake-1.12-work/t/cond29.sh      2012-05-29 00:24:10.248959036 +0200
@@ -36,9 +36,6 @@ EOF
 # that 70 MB is enough for x86_64 Fedora 16, that gives tools and
 # libraries plenty of room to grow.  Suggested by Jim Meyering in
 # automake bug#10374.
-(ulimit -v 1; sh -c ":") && skip_ "no adequate 'ulimit' builtin found"
-(ulimit -v 150000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found"
-ulimit -v 150000

 for i in 
   01 02 03 04 05 06 07 08 09 10 

>> + set +e
>> + cd /usr/src/automake-1.12
>> + test no = yes
>> + case $am_explicit_skips in
>> + test 139 -eq 0
>> + keep_testdirs=yes
>> + am_keeping_testdirs
>> + case $keep_testdirs in
>> + return 0
>> + set +x
>> cond29: exit 139
>> 
>
>Regards,
>  Stefano

Regards,

Guido