[Insight-developers] james.uiowa Linux-icc-7.1-opt

Hans J. Johnson hans-johnson at uiowa.edu
Mon, 19 Jan 2004 20:40:58 -0600


Brad,

I've found a way to clean the last two testing errors for the intel
compilers.  This may be a compiler optimization error, but it is easy to
work around.

The segfault occurs in the itkExceptionMacro.   The segfault occurs
during the destruction of an std::basic_string (I'm guessing it's the
message string, but I'm not sure).  I figured out how to side-step the
problem while trying to debug the program. My guess is that the problem
occurs because their is an object creation, an object destruction all
within the throw scopping.

If the itkExceptionMacro is made more explicit, the error goes away.

Here is the new itkExceptionMacro:
 {
  ::itk::OStringStream message;
  message << "itk::ERROR: " << this->GetNameOfClass()
          << "(" << this << "): " x ;
   ::itk::ExceptionObject tempException(__FILE__, __LINE__,
message.str().c_str());//Explicit naming to avoid compiler error on
intel
  throw tempException;
  }

I did not make this change, so if you could to it, I would really
appreciate it.

Thanks,
Hans

PS:  This may also clear the G5 errors.


On Mon, 2004-01-19 at 12:04, Brad King wrote:
> Hans,
> 
> There are two tests failing on your Linux-icc-7.1-opt build.  I've built a
> copy of ITK using the same compiler version and C/CXX flags, but the tests
> do not fail for me.  The two tests fail the exact same way.  They print
> this:
> 
>   "Try causing a exception by making fixed image NULL"
> 
> and then crash.  On my build the output continues with
> 
>   "Caught the exception."
> 
> Any idea what could be different on that machine?
> 
> Thanks,
> -Brad
> 
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers