[MMTK] Hang in DomainFinder code
Gisle Sælensminde
Gisle.Salensminde at bccs.uib.no
Wed Apr 5 11:04:39 CEST 2006
We have a problem in our normal mode web application server at
ww.bioinfo.no. The processes of the server will often hang, using all
available CPU. This eventually cause the server to go down. We have
tracked the problem to some code from the DomainfinderLib of
Domainfinder. The function rigidMovement in DomainAnalysis.py calls a
function generalized_inverse in Numeric. This hangs somewhere down in
the numeric code (Lapack).
The problem is only present on our dual PIII application server running
Linux, and we have not been able to reproduce it anywhere else,
including a sun solaris server and my own P4-based linux comuter. We
have tried several versions of Numeric, all of them have the same
problem, which is not surprising since the relevant pieces of code have
not changed.
Have anyone else experienced a similar problem?
The code below reproduce the problem on the application server:
import Numeric; N = Numeric
import LinearAlgebra; LA = LinearAlgebra
a = N.array([[ 1. , 0. , 0. , 0. , 1.8795, 0.0064],
[ 0. , 1. , 0. , -1.8795, 0. , 2.7611],
[ 0. , 0. , 1. , -0.0064, -2.7611, 0. ],
[ 1. , 0. , 0. , 0. , 1.7985, 0.1705],
[ 0. , 1. , 0. , -1.7985, 0. , 3.094 ],
[ 0. , 0. , 1. , -0.1705, -3.094 , 0. ],
[ 1. , 0. , 0. , 0. , 1.2889, 0.3984],
[ 0. , 1. , 0. , -1.2889, 0. , 2.8891],
[ 0. , 0. , 1. , -0.3984, -2.8891, 0. ],
[ 1. , 0. , 0. , 0. , 1.201 , 0.4347],
[ 0. , 1. , 0. , -1.201 , 0. , 2.5211],
[ 0. , 0. , 1. , -0.4347, -2.5211, 0. ]])
#The function below never return:
LA.generalized_inverse(a)
#generalized inverse calls singular_value_decomposition(), so this hangs
too:
LA.singular_value_decomposition(a)
More information about the mmtk
mailing list