[Insight-developers] ITK test failures in Debug only

Luis Ibanez luis.ibanez at kitware.com
Mon Sep 17 09:48:06 EDT 2007


Hi Sean,


 From the tests that are failing in this Mac Debug build,
the "MedianImageFilterTest" is probably the simplest one
to follow.


You are right, that this may not be a problem with the
MultiThreader itself but with the classes that use it.



Bad news: The mac "mini2" that we thought was a dual-processor
           here, happens not to be a Kitware machine. So we will
           have to rely on your help to track this bug down.


Good news: This test above is actually an example in

               Insight/Examples/Filtering/

            In principle it is equivalent to run it as

              MedianImageFilterTest
                   BrainProtonDensitySlice.png
                   MedianImageFilter.png
                   1

            (in a single command line from a shell)


So, the first test will be to put this to run 100 (or more)
times from a shell script and see when it crashes. Or to
add a for loop inside the example and for the Update by
doing something like


     for(unsigned int i=0; i<100; i++)
       {
       filter->Modified();
       filter->Update();
       }


For one thing, it will be interesting to see if the problem
happens with the isolated example in the same way that it
happens when the example is "included" into the file:

            FilteringExamples8.cxx

Note that when we put th examples into a test, we simply
"#include" them and redefine "main".


For the record:

    From the 12 examples included in the FilteringExamples8.cxx
    test, only 2 are failing in the Mac / Debug build. They are:

         *  MedianImageFilterTest
         *  MathematicalMorphologyGrayscaleFiltersTest



If you have a chance, could you please run the isolated
example MedianImageFilterTest with the added for-loop
described above ?

and let us know how it goes...



     Thanks


        Luis


--------------------
Sean McBride wrote:
> On 9/13/07 3:20 PM, Luis Ibanez said:
> 
> 
>>Thanks a lot for trying with ITK 3.2.
>>
>>It is rather bad news....
>>
>>I interpret that as:
>>
>>    "the error has been there for a long time"
> 
> 
> Agreed.
> 
> 
>>On the bright side, you are not getting
>>these errors with your VTK build, so we
>>could trace this by comparing the vtkMultithreader
>>with the itkMultithreader.
>>
>>Just to double check:
>>
>>   Is your VTK build using also Debug ?
>>   Is it submitted to the VTK Dashboard ?
> 
> 
> We have 5 VTK testbeds submitted to the public dashboard, 2 Debug, 3 Release.
> 
> But I'm not sure the bug is in itkMultithreader itself.  It could be a
> lack of mutexes by clients of itkMultithreader.
> 
> 
>>I will suggest that we identify which one of
>>the current failing test is the simplest case
>>and then we track from it.
> 
> 
> Good idea.  We are not so familiar with the test details... which are
> simple cases?
> 
> 
>>The fact that this happens only in a Debug build
>>still leaves open the option that it might be
>>an unitialized variable that happens to be in
>>the Multithreader.
>>
>>Is it possible to run Valgrind in one of these tests ?
> 
> 
> No.  Valgrind does not exist on Mac OS X.  The closest Mac equivalent is
> 'guard malloc' but is not supported by CMake (bug 4954).  However, this
> can be worked around, we will try running some of the tests with
> gmalloc, but it doesn't do Uninitialized Memory Reads checking.
> 


More information about the Insight-developers mailing list