[Debian-med-packaging] Bug#1123553: ncbi-tools6: autopktest failure on amd6 with libc6 2.42-6 due to unspecified return value
Aurelien Jarno
aurel32 at debian.org
Wed Dec 17 18:39:36 GMT 2025
Source: ncbi-tools6
Version: 6.1.20170106+dfsg2-6
Severity: serious
X-Debbugs-Cc: debian-amd64 at lists.debian.org
User: debian-amd64 at lists.debian.org
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
More information about the Debian-med-packaging
mailing list