Source: ncbi-tools6 Version: 6.1.20170106+dfsg2-6 Severity: serious X-Debbugs-Cc: [email protected] User: [email protected] Usertags: amd64
Dear maintainer, ncbi-tools6 autopkgtest fails on amd64 with a non 0 return code in the debruijn test: | 40s autopkgtest [11:03:16]: test run-unit-test: [----------------------- | 40s ---asn2asn test--- | 41s ---asn2all test--- | 41s ---asn2fsa test--- | 42s ---asn2gb test--- | 42s ---asn2idx test--- | 43s ---asn2xml test--- | 43s ---cleanasn test--- | 43s ---gene2xml test--- | 44s ---vecscreen test--- | 47s ---asndisc test--- | 50s ---asnval test--- | 51s ---asnmacro test--- | 53s ---asntool test--- | 53s ---indexpub test--- | 53s ---getpub test--- | 53s ---getmesh test--- | 53s ---debruijn test--- | 54s autopkgtest [11:03:30]: test run-unit-test: -----------------------] | 54s autopkgtest [11:03:30]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - | 54s run-unit-test FAIL non-zero exit status 160 | 54s autopkgtest [11:03:30]: @@@@@@@@@@@@@@@@@@@@ summary | 54s run-unit-test FAIL non-zero exit status 160 The full autopkgtest log is available here: https://ci.debian.net/data/autopkgtest/testing/amd64/n/ncbi-tools6/67219817/log.gz It appears that the return value is actually undefined, and depends on how the rax register is used before. This is actually reported as a warning at build time: |x86_64-linux-gnu-gcc -o debruijn -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ncbi-tools6-6.1.20170106+dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-rpath-link,../shlib -I../include -L../shlib debruijn.c -lblast -lblastcompadj -lncbi -lm |In file included from /usr/include/x86_64-linux-gnu/sys/types.h:25, | from ../include/ncbilcl.h:150, | from ../include/ncbi.h:57, | from debruijn.c:38: |/usr/include/features.h:199:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] | 199 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" | | ^~~~~~~ |debruijn.c: In function ‘Nlm_Main’: |debruijn.c:72:12: warning: pointer targets in assignment from ‘Nlm_CharPtr’ {aka ‘char *’} to ‘Nlm_Uint1 *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign] | 72 | alphabet = myargs[1].strvalue; | | ^ |debruijn.c:80:14: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign] | 80 | k = strlen(alphabet); | | ^~~~~~~~ | | | | | Nlm_Uint1 * {aka unsigned char *} |In file included from ../include/ncbilcl.h:156: |/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘Nlm_Uint1 *’ {aka ‘unsigned char *’} | 407 | extern size_t strlen (const char *__s) | | ~~~~~~~~~~~~^~~ |debruijn.c:89:10: warning: pointer targets in assignment from ‘char *’ to ‘Nlm_Uint1 *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign] | 89 | output = (char *) malloc(outputsize + 1); | | ^ |debruijn.c:106:8: warning: pointer targets in passing argument 1 of ‘puts’ differ in signedness [-Wpointer-sign] | 106 | puts(output); | | ^~~~~~ | | | | | Nlm_Uint1 * {aka unsigned char *} |In file included from ../include/ncbilcl.h:154: |/usr/include/stdio.h:714:30: note: expected ‘const char *’ but argument is of type ‘Nlm_Uint1 *’ {aka ‘unsigned char *’} | 714 | extern int puts (const char *__s); | | ~~~~~~~~~~~~^~~ |debruijn.c:109:1: warning: control reaches end of non-void function [-Wreturn-type] | 109 | } | | ^ This means that the return value is undefined. Luckily it was 0 with glibc compiled with GCC 14, but unfortunately it gets another value when glibc is compiled with GCC 15. |debruijn.c: At top level: |debruijn.c:29:19: warning: ‘rcsid’ defined but not used [-Wunused-const-variable=] | 29 | static char const rcsid[] = "$Id: debruijn.c,v 1.4 2004/02/09 21:24:59 ucko Exp $"; | | ^~~~~ The following patch fixes the issue: --- ncbi-tools6-6.1.20170106+dfsg2.orig/demo/debruijn.c +++ ncbi-tools6-6.1.20170106+dfsg2/demo/debruijn.c @@ -106,4 +106,6 @@ Int2 Main(void) puts(output); free(output); + + return 0; } Note however there are many other similar warning in the build log, you probably want to fix all of them. Regards Aurelien

