[SciPy-dev] segmentation fault in latest cvs using scipy.test()

Nils Wagner nwagner at mecha.uni-stuttgart.de
Tue Nov 30 05:08:31 EST 2004


Pearu Peterson wrote:

>
>
> On Tue, 30 Nov 2004, Nils Wagner wrote:
>
>>> Which test crashes python, check_syevd or check_heevd?
>>>
>> Python 2.3.3 (#1, Apr  6 2004, 01:47:39)
>> [GCC 3.3.3 (SuSE Linux)] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>>
>>>>> import scipy
>>>>> scipy.lib.lapack.test(verbosity=10)
>>>>
>>  !! No test file 'test_flapack.py' found for <module 
>> 'scipy.lib.lapack.flapack' from '...es/scipy/lib/lapack/flapack.so'>
>>  !! No test file 'test_clapack.py' found for <module 
>> 'scipy.lib.lapack.clapack' from '...es/scipy/lib/lapack/clapack.so'>
>> Found 6 tests for scipy.lib.lapack
>>  !! No test file 'test_calc_lwork.py' found for <module 
>> 'scipy.lib.lapack.calc_lwork' from '...scipy/lib/lapack/calc_lwork.so'>
>> Found 0 tests for __main__
>> check_gebal (scipy.lib.lapack.test_lapack.test_flapack_simple) ... ok
>> check_gehrd (scipy.lib.lapack.test_lapack.test_flapack_simple) ... ok
>> Segmentation fault
>
>
> Now try
>
> scipy.lib.lapack.flapack.zheev([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.zheevd([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.cheev([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.cheevd([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.dsyev([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.dsyevd([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.ssyev([[1,2,3],[2,2,3],[3,3,6]])
> scipy.lib.lapack.flapack.ssyevd([[1,2,3],[2,2,3],[3,3,6]])
>
> Which one is causing python crash? And which one is not?
>
> If they do, then build lib.lapack package against Fortran BLAS/LAPACK 
> libraries and try the tests again. Here are basic steps (fix the paths 
> in BLAS_SRC and LAPACK_SRC to your setup):
>
> $ cd Lib/lib/lapack
> $ rm -rf build
> $ ATLAS=None BLAS=None LAPACK=None BLAS_SRC=~/src/blas \
>    LAPACK_SRC=~/src/LAPACK/ python setup_lapack.py build
> $ python tests/test_lapack.py -v 10
>
> If you still get a crash, build lib.lapack without optimization:
>
No crash, but many failures ... (see below)

Nils


lib/lapack> python2.3 tests/test_lapack.py -v 10
  Found 200 tests for __main__
check_gebal (__main__.test_clapack_complex) ... ok
check_gehrd (__main__.test_clapack_complex) ... ok
check_heev (__main__.test_clapack_complex) ... ok
check_heev_complex (__main__.test_clapack_complex) ... ok
check_heevd (__main__.test_clapack_complex) ... ok
check_heevd_complex (__main__.test_clapack_complex) ... ok
check_heevr (__main__.test_clapack_complex) ... ok
check_heevr_complex (__main__.test_clapack_complex) ... ok
check_heevr_irange (__main__.test_clapack_complex) ... ok
check_heevr_irange_high (__main__.test_clapack_complex) ... FAIL
check_heevr_irange_low (__main__.test_clapack_complex) ... FAIL
check_heevr_vrange (__main__.test_clapack_complex) ... FAIL
check_heevr_vrange_high (__main__.test_clapack_complex) ... FAIL
check_heevr_vrange_low (__main__.test_clapack_complex) ... FAIL
check_gebal (__main__.test_clapack_double) ... ok
check_gehrd (__main__.test_clapack_double) ... ok
check_syev (__main__.test_clapack_double) ... ok
check_syevd (__main__.test_clapack_double) ... ok
check_syevr (__main__.test_clapack_double) ... ok
check_syevr_irange (__main__.test_clapack_double) ... ok
check_syevr_irange_high (__main__.test_clapack_double) ... FAIL
check_syevr_irange_low (__main__.test_clapack_double) ... FAIL
check_syevr_irange_mid (__main__.test_clapack_double) ... FAIL
check_syevr_vrange (__main__.test_clapack_double) ... FAIL
check_syevr_vrange_high (__main__.test_clapack_double) ... FAIL
check_syevr_vrange_low (__main__.test_clapack_double) ... FAIL
check_syevr_vrange_mid (__main__.test_clapack_double) ... FAIL
check_gebal (__main__.test_clapack_double_complex) ... ok
check_gehrd (__main__.test_clapack_double_complex) ... ok
check_heev (__main__.test_clapack_double_complex) ... ok
check_heev_complex (__main__.test_clapack_double_complex) ... ok
check_heevd (__main__.test_clapack_double_complex) ... ok
check_heevd_complex (__main__.test_clapack_double_complex) ... ok
check_heevr (__main__.test_clapack_double_complex) ... ok
check_heevr_complex (__main__.test_clapack_double_complex) ... ok
check_heevr_irange (__main__.test_clapack_double_complex) ... ok
check_heevr_irange_high (__main__.test_clapack_double_complex) ... FAIL
check_heevr_irange_low (__main__.test_clapack_double_complex) ... FAIL
check_heevr_vrange (__main__.test_clapack_double_complex) ... FAIL
check_heevr_vrange_high (__main__.test_clapack_double_complex) ... FAIL
check_heevr_vrange_low (__main__.test_clapack_double_complex) ... FAIL
check_gebal (__main__.test_clapack_float) ... ok
check_gehrd (__main__.test_clapack_float) ... ok
check_syev (__main__.test_clapack_float) ... ok
check_syevd (__main__.test_clapack_float) ... ok
check_syevr (__main__.test_clapack_float) ... ok
check_syevr_irange (__main__.test_clapack_float) ... ok
check_syevr_irange_high (__main__.test_clapack_float) ... FAIL
check_syevr_irange_low (__main__.test_clapack_float) ... FAIL
check_syevr_irange_mid (__main__.test_clapack_float) ... FAIL
check_syevr_vrange (__main__.test_clapack_float) ... FAIL
check_syevr_vrange_high (__main__.test_clapack_float) ... FAIL
check_syevr_vrange_low (__main__.test_clapack_float) ... FAIL
check_syevr_vrange_mid (__main__.test_clapack_float) ... FAIL
check_gebal (__main__.test_flapack_complex) ... ok
check_gehrd (__main__.test_flapack_complex) ... ok
check_heev (__main__.test_flapack_complex) ... ok
check_heev_complex (__main__.test_flapack_complex) ... ok
check_heevd (__main__.test_flapack_complex) ... ok
check_heevd_complex (__main__.test_flapack_complex) ... ok
check_heevr (__main__.test_flapack_complex) ... ok
check_heevr_complex (__main__.test_flapack_complex) ... ok
check_heevr_irange (__main__.test_flapack_complex) ... ok
check_heevr_irange_high (__main__.test_flapack_complex) ... FAIL
check_heevr_irange_low (__main__.test_flapack_complex) ... FAIL
check_heevr_vrange (__main__.test_flapack_complex) ... FAIL
check_heevr_vrange_high (__main__.test_flapack_complex) ... FAIL
check_heevr_vrange_low (__main__.test_flapack_complex) ... FAIL
check_gebal (__main__.test_flapack_double) ... ok
check_gehrd (__main__.test_flapack_double) ... ok
check_syev (__main__.test_flapack_double) ... ok
check_syevd (__main__.test_flapack_double) ... ok
check_syevr (__main__.test_flapack_double) ... ok
check_syevr_irange (__main__.test_flapack_double) ... ok
check_syevr_irange_high (__main__.test_flapack_double) ... FAIL
check_syevr_irange_low (__main__.test_flapack_double) ... FAIL
check_syevr_irange_mid (__main__.test_flapack_double) ... FAIL
check_syevr_vrange (__main__.test_flapack_double) ... FAIL
check_syevr_vrange_high (__main__.test_flapack_double) ... FAIL
check_syevr_vrange_low (__main__.test_flapack_double) ... FAIL
check_syevr_vrange_mid (__main__.test_flapack_double) ... FAIL
check_gebal (__main__.test_flapack_double_complex) ... ok
check_gehrd (__main__.test_flapack_double_complex) ... ok
check_heev (__main__.test_flapack_double_complex) ... ok
check_heev_complex (__main__.test_flapack_double_complex) ... ok
check_heevd (__main__.test_flapack_double_complex) ... ok
check_heevd_complex (__main__.test_flapack_double_complex) ... ok
check_heevr (__main__.test_flapack_double_complex) ... ok
check_heevr_complex (__main__.test_flapack_double_complex) ... ok
check_heevr_irange (__main__.test_flapack_double_complex) ... ok
check_heevr_irange_high (__main__.test_flapack_double_complex) ... FAIL
check_heevr_irange_low (__main__.test_flapack_double_complex) ... FAIL
check_heevr_vrange (__main__.test_flapack_double_complex) ... FAIL
check_heevr_vrange_high (__main__.test_flapack_double_complex) ... FAIL
check_heevr_vrange_low (__main__.test_flapack_double_complex) ... FAIL
check_gebal (__main__.test_flapack_float) ... ok
check_gehrd (__main__.test_flapack_float) ... ok
check_syev (__main__.test_flapack_float) ... ok
check_syevd (__main__.test_flapack_float) ... ok
check_syevr (__main__.test_flapack_float) ... ok
check_syevr_irange (__main__.test_flapack_float) ... ok
check_syevr_irange_high (__main__.test_flapack_float) ... FAIL
check_syevr_irange_low (__main__.test_flapack_float) ... FAIL
check_syevr_irange_mid (__main__.test_flapack_float) ... FAIL
check_syevr_vrange (__main__.test_flapack_float) ... FAIL
check_syevr_vrange_high (__main__.test_flapack_float) ... FAIL
check_syevr_vrange_low (__main__.test_flapack_float) ... FAIL
check_syevr_vrange_mid (__main__.test_flapack_float) ... FAIL

> $ rm -rf build
> $ ATLAS=None BLAS=None LAPACK=None BLAS_SRC=~/src/blas \
>    LAPACK_SRC=~/src/LAPACK/ python setup_lapack.py build config_fc 
> --noopt
> $ python tests/test_lapack.py -v 10
>
> If this works then we are dealing with gcc optimization bug.
>
>
> HTH,
> Pearu
>
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.net
> http://www.scipy.net/mailman/listinfo/scipy-dev



 





More information about the SciPy-Dev mailing list