Subject: threaded applications randomly crash on -current
To: NetBSD amd64 <port-amd64@netbsd.org>
From: Nicolas Joly <njoly@pasteur.fr>
List: port-amd64
Date: 10/20/2004 16:54:08
Hi,

While trying some bioinfo applications on our amd64 machines running
2.99.10 and 2.0H kernels (we currently run them on Tru64/alpha), i
noticed that the threaded ones randomly crash (at least NCBI blast and
WashU hmmer).

In the meantime, they run flawlessly on other systems i tested, under
the same conditions: NetBSD/i386 2.99.10, NetBSD/alpha 2.99.10,
Linux/amd64 CentOS-3.3RC1 and Tru64/alpha v5.1.

They work fine, without thread support too.

njoly@lanfeust [tmp/blastclust]> uname -a
NetBSD lanfeust.sis.pasteur.fr 2.99.10 NetBSD 2.99.10 (LANFEUST) #0: Wed Oct 20 11:11:55 CEST 2004  njoly@lanfeust.sis.pasteur.fr:/local/src/NetBSD/obj/amd64/sys/arch/amd64/compile/LANFEUST amd64

First try with blast 2.2.9 :

njoly@lanfeust [tmp/blastclust]> while test ! -f blastclust.core
do
blastclust -p F -i nidulans.seq -o /dev/null     
done
Oct 20, 2004  2:25 PM Start clustering of 7799 queries
Oct 20, 2004  2:25 PM Start clustering of 7799 queries
Oct 20, 2004  2:25 PM Start clustering of 7799 queries
njoly@lanfeust [tmp/blastclust]> file blastclust.core
blastclust.core: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), NetBSD-style, from 'blastclust' (signal 8)
njoly@lanfeust [tmp/blastclust]> gdb /local/gensoft/bin/blastclust blastclust.core
GNU gdb 5.3nb1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64--netbsd"...
Core was generated by `blastclust'.
Program terminated with signal 8, Arithmetic exception.
Reading symbols from /usr/libexec/ld.elf_so...done.
Loaded symbols for /usr/libexec/ld.elf_so
Reading symbols from /local/gensoft/lib/libncbitool.so.0...done.
Loaded symbols for /local/gensoft/lib/libncbitool.so.0
Reading symbols from /local/gensoft/lib/libncbiobj.so.0...done.
Loaded symbols for /local/gensoft/lib/libncbiobj.so.0
Reading symbols from /local/gensoft/lib/libncbi.so.0...done.
Loaded symbols for /local/gensoft/lib/libncbi.so.0
Reading symbols from /usr/lib/libpthread.so.0...done.
Loaded symbols for /usr/lib/libpthread.so.0
Reading symbols from /usr/lib/libm.so.0...done.
Loaded symbols for /usr/lib/libm.so.0
Reading symbols from /usr/lib/libc.so.12...done.
Loaded symbols for /usr/lib/libc.so.12
#0  0x0000000041513cac in __ieee754_exp () from /usr/lib/libm.so.0
(gdb) bt
#0  0x0000000041513cac in __ieee754_exp () from /usr/lib/libm.so.0
(gdb) 

Same for hmmer 2.3.2 :

njoly@lanfeust [tmp/hmmer]> while test ! -f hmmsearch.core
do
hmmsearch --cpu 2 x.hmm /mount/banks/rel/swissprot/fasta/swissprot_new|&head -n 1
done
hmmsearch - search a sequence database with a profile HMM
hmmsearch - search a sequence database with a profile HMM
hmmsearch - search a sequence database with a profile HMM
hmmsearch - search a sequence database with a profile HMM
hmmsearch - search a sequence database with a profile HMM
njoly@lanfeust [tmp/hmmer]> ll hmmsearch.core 
-rw-------  1 njoly  users  87797760 Oct 20 16:49 hmmsearch.core
njoly@lanfeust [tmp/hmmer]> file hmmsearch.core
hmmsearch.core: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), NetBSD-style, from 'hmmsearch' (signal 8)
njoly@lanfeust [tmp/hmmer]> gdb /local/gensoft/bin/hmmsearch hmmsearch.core
GNU gdb 5.3nb1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64--netbsd"...
Core was generated by `hmmsearch'.
Program terminated with signal 8, Arithmetic exception.
Reading symbols from /usr/libexec/ld.elf_so...done.
Loaded symbols for /usr/libexec/ld.elf_so
Reading symbols from /usr/lib/libm.so.0...done.
Loaded symbols for /usr/lib/libm.so.0
Reading symbols from /usr/lib/libpthread.so.0...done.
Loaded symbols for /usr/lib/libpthread.so.0
Reading symbols from /usr/lib/libc.so.12...done.
Loaded symbols for /usr/lib/libc.so.12
#0  0x0000000040813cac in __ieee754_exp () from /usr/lib/libm.so.0
(gdb) bt
#0  0x0000000040813cac in __ieee754_exp () from /usr/lib/libm.so.0
(gdb) 

Anyone else seeing this ?

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.