Mailing List Archive

0.96 checks still fail on FreeBSD 6.x
I'm preparing everything to update to 0.96 on FreeBSD ports
tree and I noted 0.96 is still failing (checks) on 6.x

This program built for amd64-portbld-freebsd6.4
Python 2.6.4
gmake: Entering directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm'
llvm[0]: Running test suite
gmake[1]: Entering directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/test'
Making a new site.exp file...
Making LLVM 'lit.site.cfg' file...
Making LLVM unittest 'lit.site.cfg' file...
( ulimit -t 600 ; ulimit -d 512000 ; ulimit -m 512000 ; ulimit -v 512000 ; \
/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/utils/lit/lit.py
-s -v --no-tcl-as-sh CodeGen ExecutionEngine Integer Verifier )
Fatal error 'kse_create() failed
' at line 469 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 25)
-- Testing: 2124 tests, 2 threads --
gmake[1]: *** [check-local-lit] Error 1
gmake[1]: Leaving directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/test'
gmake: *** [check-lit] Error 2
gmake: Leaving directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm'
FAIL: llvmcheck.sh
=======================================
1 of 6 tests failed
Please report to http://bugs.clamav.net
=======================================

Any hints?
--
Renato Botelho
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: 0.96 checks still fail on FreeBSD 6.x [ In reply to ]
On 04/05/2010 02:50 PM, Renato Botelho wrote:
> I'm preparing everything to update to 0.96 on FreeBSD ports
> tree and I noted 0.96 is still failing (checks) on 6.x

Hi Renato,

How about other FreeBSD versions?

>
> This program built for amd64-portbld-freebsd6.4
> Python 2.6.4
> gmake: Entering directory
> `/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm'
> llvm[0]: Running test suite
> gmake[1]: Entering directory
> `/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/test'
> Making a new site.exp file...
> Making LLVM 'lit.site.cfg' file...
> Making LLVM unittest 'lit.site.cfg' file...
> ( ulimit -t 600 ; ulimit -d 512000 ; ulimit -m 512000 ; ulimit -v 512000 ; \
> /work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/utils/lit/lit.py
> -s -v --no-tcl-as-sh CodeGen ExecutionEngine Integer Verifier )
> Fatal error 'kse_create() failed
> ' at line 469 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 25)

Looks like something wrong with python threads on FreeBSD6.
I only have access to a FreeBSD 8 box, and errno 25 is this:
#define ENOTTY 25

I don't know why thread creation would fail with that error, maybe its
an errno from another syscall that failed, and errno wasn't reset?
Anyway a google search tells me that KSE was removed in FreeBSD 8.

> -- Testing: 2124 tests, 2 threads --

Threads aren't mandatory, they are only used to speed up make check on
SMP systems.

Try this patch (if it works you can keep it as a FreeBSD6-specific patch
in the ports?)
diff --git a/libclamav/c++/llvmcheck.sh b/libclamav/c++/llvmcheck.sh
index f1d01c9..92493a1 100755
--- a/libclamav/c++/llvmcheck.sh
+++ b/libclamav/c++/llvmcheck.sh
@@ -10,4 +10,4 @@ import sys
if sys.hexversion < 0x2040000: sys.exit(1)
EOF
test $? -eq 0 || { echo "Python version older than 2.4, skipping LLVM
tests"; exit 77; }
-exec $GMAKE -C llvm check-lit TESTSUITE="--no-tcl-as-sh CodeGen
ExecutionEngine Integer Verifier"
+exec $GMAKE -C llvm check-lit TESTSUITE="--no-tcl-as-sh --threads 1
CodeGen ExecutionEngine Integer Verifier"

Best regards,
--Edwin
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: 0.96 checks still fail on FreeBSD 6.x [ In reply to ]
2010/4/5 Török Edwin <edwin@clamav.net>:
> On 04/05/2010 02:50 PM, Renato Botelho wrote:
>> I'm preparing everything to update to 0.96 on FreeBSD ports
>> tree and I noted 0.96 is still failing (checks) on 6.x
>
> Hi Renato,
>
> How about other FreeBSD versions?

The problem is only on FreeBSD 6.x

> Try this patch (if it works you can keep it as a FreeBSD6-specific patch
> in the ports?)
> diff --git a/libclamav/c++/llvmcheck.sh b/libclamav/c++/llvmcheck.sh
> index f1d01c9..92493a1 100755
> --- a/libclamav/c++/llvmcheck.sh
> +++ b/libclamav/c++/llvmcheck.sh
> @@ -10,4 +10,4 @@ import sys
>  if sys.hexversion < 0x2040000: sys.exit(1)
>  EOF
>  test $? -eq 0 || { echo "Python version older than 2.4, skipping LLVM
> tests"; exit 77; }
> -exec $GMAKE -C llvm check-lit TESTSUITE="--no-tcl-as-sh CodeGen
> ExecutionEngine Integer Verifier"
> +exec $GMAKE -C llvm check-lit TESTSUITE="--no-tcl-as-sh --threads 1
> CodeGen ExecutionEngine Integer Verifier"

I used --threads=1 and that problem was fixed, now I got a core dumped:

PASS: llvmunittest_JIT
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for amd64-portbld-freebsd6.4
Python 2.6.4
gmake: Entering directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm'
llvm[0]: Running test suite
gmake[1]: Entering directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/test'
Making a new site.exp file...
Making LLVM 'lit.site.cfg' file...
Making LLVM unittest 'lit.site.cfg' file...
( ulimit -t 600 ; ulimit -d 512000 ; ulimit -m 512000 ; ulimit -v 512000 ; \
/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/utils/lit/lit.py
-s -v --no-tcl-as-sh --threads=1 CodeGen ExecutionEngine Integer
Verifier )
-- Testing: 2124 tests, 1 threads --
Testing: 0 .. 10.lit.py: LitConfig.py:63: warning: Unable to find
'bash', running Tcl tests internally.
. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..

1 warning(s) in tests.
Testing Time: 78.74s
Expected Passes : 1363
Expected Failures : 16
Unsupported Tests : 745
gmake[1]: Leaving directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm/test'
gmake: Leaving directory
`/work/a/ports/security/clamav/work/clamav-0.96/libclamav/c++/llvm'
PASS: llvmcheck.sh
==================
All 6 tests passed
==================
GEN version.h.tmp
git: not found
svnversion: not found
GEN version.h
CC libclamav_la-version.lo
/bin/sh ../libtool --silent --tag=CC --mode=compile gcc42
-DHAVE_CONFIG_H -I. -I.. -I.. -I./nsis -I../libltdl
-DWARN_DLOPEN_FAIL -I/usr/local/include
-DSEARCH_LIBDIR=\"/usr/local/lib\" -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o libclamav_la-version.lo `test -f
'version.c' || echo './'`version.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CCLD libclamav.la
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
Making check in clamscan
Making check in clamd
Making check in clamdscan
Making check in freshclam
Making check in sigtool
Making check in clamconf
Making check in database
Making check in docs
Making check in etc
Making check in clamav-milter
Making check in test
Making check in unit_tests
make check_clamav check_clamd check_freshclam.sh check_sigtool.sh
check_unit_vg.sh check1_clamscan.sh check2_clamd.sh check3_clamd.sh
check4_clamd.sh check5_clamd_vg.sh check6_clamd_vg.sh
check7_clamd_hg.sh check8_clamd_hg.sh
CC check_clamav-check_clamav.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_clamav.o
`test -f 'check_clamav.c' || echo './'`check_clamav.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_jsnorm.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_jsnorm.o
`test -f 'check_jsnorm.c' || echo './'`check_jsnorm.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_str.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_str.o `test
-f 'check_str.c' || echo './'`check_str.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_regex.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_regex.o `test
-f 'check_regex.c' || echo './'`check_regex.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_disasm.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_disasm.o
`test -f 'check_disasm.c' || echo './'`check_disasm.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_uniq.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_uniq.o `test
-f 'check_uniq.c' || echo './'`check_uniq.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_matchers.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_matchers.o
`test -f 'check_matchers.c' || echo './'`check_matchers.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_htmlnorm.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_htmlnorm.o
`test -f 'check_htmlnorm.c' || echo './'`check_htmlnorm.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamav-check_bytecode.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamav-check_bytecode.o
`test -f 'check_bytecode.c' || echo './'`check_bytecode.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CCLD check_clamav
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CC check_clamd-check_clamd.o
gcc42 -DHAVE_CONFIG_H -I. -I.. -I..
-DSRCDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-DBUILDDIR=\"/work/a/ports/security/clamav/work/clamav-0.96/unit_tests\"
-I/usr/local/include -O2 -fno-strict-aliasing -pipe
-Wl,-rpath=/usr/local/lib/gcc42 -c -o check_clamd-check_clamd.o `test
-f 'check_clamd.c' || echo './'`check_clamd.c
gcc42: -rpath=/usr/local/lib/gcc42: linker input file unused because
linking not done
CCLD check_clamd
`check_freshclam.sh' is up to date.
`check_sigtool.sh' is up to date.
cat ../unit_tests/.split/split.clam-phish-exeaa
../unit_tests/.split/split.clam-phish-exeab > clam-phish-exe
`check1_clamscan.sh' is up to date.
`check7_clamd_hg.sh' is up to date.
make check-TESTS
Segmentation fault (core dumped)
FAIL: check_clamav
PASS: check_freshclam.sh
PASS: check_sigtool.sh
SKIP: check_unit_vg.sh
PASS: check1_clamscan.sh
PASS: check2_clamd.sh
PASS: check3_clamd.sh
PASS: check4_clamd.sh
SKIP: check5_clamd_vg.sh
SKIP: check6_clamd_vg.sh
SKIP: check7_clamd_hg.sh
SKIP: check8_clamd_hg.sh
========================================
1 of 7 tests failed
(5 tests were not run)
See unit_tests/test-suite.log
Please report to http://bugs.clamav.net/
========================================
*** Error code 1


--
Renato Botelho
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: 0.96 checks still fail on FreeBSD 6.x [ In reply to ]
On 04/05/2010 04:48 PM, Renato Botelho wrote:
>
> I used --threads=1 and that problem was fixed

Ok.

>, now I got a core dumped:
>
> make check-TESTS
> Segmentation fault (core dumped)
> FAIL: check_clamav
> PASS: check_freshclam.sh
> PASS: check_sigtool.sh
> SKIP: check_unit_vg.sh
> PASS: check1_clamscan.sh
> PASS: check2_clamd.sh
> PASS: check3_clamd.sh
> PASS: check4_clamd.sh
> SKIP: check5_clamd_vg.sh
> SKIP: check6_clamd_vg.sh
> SKIP: check7_clamd_hg.sh
> SKIP: check8_clamd_hg.sh
> ========================================
> 1 of 7 tests failed
> (5 tests were not run)
> See unit_tests/test-suite.log

Can you pastebin the test-suite.log? (or upload it somewhere compressed).

Likely its the -lthr vs -pthread mismatch in ClamAV vs libcheck.so ...
for which I think we haven't figured a solution yet.
Maybe you could build libcheck as part of the ClamAV build, and use
--with-libcheck-prefix in ClamAV to pick up that libcheck. You wouldn't
install this libcheck, just use it during ClamAV's make check.

Alternatively you can pass --disable-check on FreeBSD 6, and then
check_clamav will be SKIPed.

Best regards,
--Edwin
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net