[Insight-developers] threading problems on Linux and SunOS ?

Miller, James V (CRD) millerjv@crd.ge.com
Mon, 24 Sep 2001 11:07:53 -0400


Lydia,

I have been able to reproduce this our Linux and Solaris systems.  On our 2 processor linux system,
itkShrinkImageTest fails about 1-3 times in 1500 executions.  It is seg faulting at 1 of two places.

1) Program termination.  The test has finished running, said it passed, and crashes on exit().

2) Crashes on a call to std::cout. Usually this failure occurs after recovering from an exception but
this is not universally the case.

The latter leads me to believe that somewhere in the code an old style stream (cout, cin, cerr,
fstream, ???) is being used.  This could be in ITK proper or in vnl. The old streams were not thread
safe and I believe the streams in the standard library are thread safe.  In general, I have found
that you cannot mix the two stream libraries.  On some systems, mixing the stream libraries results
in compilation or link errors.  On other systems, runtime errors result.

However, this is just a guess at the cause of the problem.  The terminations are not occuring in any
code that is threaded.  



-----Original Message-----
From: Lydia Ng [mailto:lng@insightful.com]
Sent: Thursday, September 20, 2001 3:42 PM
To: Insight-developers (E-mail)
Subject: [Insight-developers] threading problems on Linux and SunOS ?


Hi All,

Some tests are failing *intermittently* on the Linux and SunOS 
platforms.

The rate of failure seems to depend on the data size and how
intensely multi-threading is used.

I ran some experiments on a 4-proc Linux machine.

Simple tests eg ShrinkImageFilterTest, SinImageFilterAndAdaptorTest,
Log10ImageFilterAndAdaptorTest etc, fails at a very low rate.
I ran ShrinkImageFilterTest 100 times and it seg-fault 5 times.
Consequently these errors only shows up once in a while on the
dashboard.

The MultiResolutionMutualInformation**Test fails more often
(approx 1 in 8 times). Hence, failures show up frequently
on the dashboard.
FYI: Internally, 2 pipeline of three 
ShrinkImageFilters are used to downsample the image.

I think there might be an underlying multi-threading
problem here. Can someone from the system side check
it out?


Thanks,
Lydia








_______________________________________________
Insight-developers mailing list
Insight-developers@public.kitware.com
http://public.kitware.com/mailman/listinfo/insight-developers