[SciPy-Dev] memory corruption when running scipy 0.8 test suite

Christoph Gohlke cgohlke@uci....
Mon Jul 12 20:11:53 CDT 2010


Dear SciPy developers,

I am trying to fix the errors and failures reported in the thread 
"[SciPy-User] many test failures on windows 64" 
<http://mail.scipy.org/pipermail/scipy-user/2010-July/025961.html>. Most 
of the issues seem specific for the msvc9/MKL build of scipy 0.8. I am 
now down to 1 error and 6 failures (from 16 errors and 9 failures).


The following failure in ndimage does not appear when ndimage.test() is 
run out of context of scipy.test()

FAIL: extrema 3
----------------------------------------------------------------------
Traceback (most recent call last):
   File "C:\Python26\lib\site-packages\scipy\ndimage\tests\test_ndimage.py",
line 3149, in test_extrema03
     self.failUnless(numpy.all(output1[2]  == output4))
AssertionError


The output1[2] array contains a NaN in the first position. If I disable 
the following dsyevr related tests in 
scipy.lib.lapack.tests.test_esv.py, all ndimage tests pass. Could this 
be a memory corruption issue in MKL? Besides the ndimage failure, 
scipy.lib.lapack seems to work and passes all tests. Also, this artifact 
only happens or surfaces on the 64-bit build.


Index: test_esv.py
===================================================================
--- test_esv.py (revision 6598)
+++ test_esv.py (working copy)
@@ -91,17 +91,17 @@
      def test_ssyevr(self):
          self._test_base('ssyevr', 'F')

-    @dec.skipif(FLAPACK_IS_EMPTY, "Flapack empty, skip flapack test")
-    def test_dsyevr(self):
-        self._test_base('dsyevr', 'F')
+#    @dec.skipif(FLAPACK_IS_EMPTY, "Flapack empty, skip flapack test")
+#    def test_dsyevr(self):
+#        self._test_base('dsyevr', 'F')

      @dec.skipif(FLAPACK_IS_EMPTY, "Flapack empty, skip flapack test")
      def test_ssyevr_ranges(self):
          self._test_syevr_ranges('ssyevr', 'F')

-    @dec.skipif(FLAPACK_IS_EMPTY, "Flapack empty, skip flapack test")
-    def test_dsyevr_ranges(self):
-        self._test_syevr_ranges('dsyevr', 'F')
+#    @dec.skipif(FLAPACK_IS_EMPTY, "Flapack empty, skip flapack test")
+#    def test_dsyevr_ranges(self):
+#        self._test_syevr_ranges('dsyevr', 'F')

      # Clapack tests
      @dec.skipif(CLAPACK_IS_EMPTY or not FUNCS_CLAPACK["ssyev"],


I checked the flapack_esv.pyf.src code but could not find anything 
obvious. I am linking against mkl_lapack95_lp64, mkl_blas95_lp64, 
mkl_intel_lp64, mkl_intel_thread, and mkl_core, MKL version 10.2.5.1.

Thank you,

Christoph


More information about the SciPy-Dev mailing list