[Insight-developers] Roll-call of ITK Regression Tests that crash if Floating Point Exceptions are turned on.

kent williams norman-k-williams at uiowa.edu
Mon Nov 1 10:03:49 EDT 2010


It is trying to compute NaN at runtime, which it does to see if it is
running on a system compatible with the one it was built on, according to
comments.

The fix -- I guess, is to add methods to the FloatingPointExceptions class
so that the NRRD reader can push the current exception state, mask
exceptions and then pop  the exception state.


On 10/29/10 6:48 PM, "Bill Lorensen" <bill.lorensen at gmail.com> wrote:
>
> I think that nrrd is failing on purpose.
> 
> 
> On Fri, Oct 29, 2010 at 6:13 PM, kent williams
> <norman-k-williams at uiowa.edu> wrote:
>> I guess I can log a bug for each, and then try and fix them myself, but
>> there are more than I can probably handle by myself, and having just spent
>> an hour in GDB trying to figure just one out, I could be at it quite some
>> time.
>> 
>> THE GOOD NEWS -- there are 5 'real' issues -- I've fixed one, Bill Lorensen
>> has fixed a second, leaving 3 real problems that need addressing.
>> 
>> THE BAD NEWS -- The NRRD reader is insane. It calls a function called
>> airSanity before it does anything useful, and the first thing that function
>> does is to compute DBL_MAX cubed.  The NRRD reader is incompatible with
>> numeric exception checking -- on purpose!
>> 
>> This patch fixes the numeric exception:
>> 
>> diff --git a/Utilities/NrrdIO/simple.c b/Utilities/NrrdIO/simple.c
>> index e716cd6..c37d2e0 100644
>> --- a/Utilities/NrrdIO/simple.c
>> +++ b/Utilities/NrrdIO/simple.c
>> @@ -1348,7 +1348,8 @@ nrrdSanity(void) {
>>     return 1;
>>   }
>> 
>> -  aret = airSanity();
>> +  // aret = airSanity();
>> +  aret = airInsane_not;
>>   if (aret != airInsane_not) {
>>     if (airInsane_32Bit == aret) {
>>       biffAddf(NRRD, "%s: (sizeof(size_t) == %u, not %u)", me,
>> 
>> THE TESTS:
>>    146 - itkSampleToHistogramFilterTest7 (OTHER_FAULT) -- I started looking
>> at this one, and it basically should have never worked.  It falls afoul of
>> mixed float/int calculations and ends up overflowing integer vectors all
>> over the place.
>> 
>>    287 - itkColorTableTest (OTHER_FAULT) -- Bill Lorensen has a fix for
>> this one, not yet pushed to master.
>> 
>>    987 - itkQuadEdgeMeshNormalFilterTest (OTHER_FAULT) -- first fails
>> trying to compute acos(220)
>> 
>> TESTS THAT FAIL DUE TO THE NRRD READER:
>> 
>>  498 - itkVectorImageTest (OTHER_FAULT)
>>    1070 - itkNrrdImageIOTest1 (OTHER_FAULT)
>>    1071 - itkNrrdImageIOTest2 (OTHER_FAULT)
>>    1089 - itkVectorImageReadWriteTest2 (OTHER_FAULT)
>>    1091 - itkSymmetricSecondRankTensorImageReadTest (OTHER_FAULT)
>>    1099 - itkImageFileWriterTest2_1 (OTHER_FAULT)
>>    1104 - itkImageFileReaderDimensionsTest_NRRD (OTHER_FAULT)
>>    1107 - itkImageFileReaderStreamingTest_3 (OTHER_FAULT)
>>    1110 - itkImageFileWriterStreamingPastingCompressingTest_NRR D
>> (OTHER_FAULT)
>>    1111 - itkImageFileWriterStreamingPastingCompressingTest_NHDR
>> (OTHER_FAULT)
>>    1231 - itkNrrdImageReadWriteTest1 (OTHER_FAULT)
>>    1232 - itkNrrdImageReadWriteTest2 (OTHER_FAULT)
>>    1233 - itkNrrdImageReadWriteTest3 (OTHER_FAULT)
>>    1234 - itkNrrdImageReadWriteTest4 (OTHER_FAULT)
>>    1235 - itkNrrdImageReadWriteTest5 (OTHER_FAULT)
>>    1236 - itkNrrdImageReadWriteTest6 (OTHER_FAULT)
>>    1237 - itkNrrdImageReadWriteTest7 (OTHER_FAULT)
>>    1238 - itkNrrdImageReadWriteTest8 (OTHER_FAULT)
>>    1239 - itkNrrdImageReadWriteTest9 (OTHER_FAULT)
>>    1240 - itkNrrdImageReadWriteTest10 (OTHER_FAULT)
>>    1241 - itkNrrdImageReadWriteTest11 (OTHER_FAULT)
>>    1242 - itkNrrdRGBImageReadWriteTest0 (OTHER_FAULT)
>>    1243 - itkNrrdRGBImageReadWriteTest1 (OTHER_FAULT)
>>    1244 - itkNrrdRGBImageReadWriteTest2 (OTHER_FAULT)
>>    1245 - itkNrrdRGBAImageReadWriteTest (OTHER_FAULT)
>>    1246 - itkNrrdDiffusionTensor3DImageReadTest1 (OTHER_FAULT)
>>    1247 - itkNrrdDiffusionTensor3DImageReadTest2 (OTHER_FAULT)
>>    1248 - itkNrrdDiffusionTensor3DImageReadTest3 (OTHER_FAULT)
>>    1249 - itkNrrdDiffusionTensor3DImageReadWriteTest (OTHER_FAULT)
>>    1250 - itkNrrdDiffusionTensor3DImageReadWriteTest4 (OTHER_FAULT)
>>    1251 - itkNrrdDiffusionTensor3DImageReadTensorDoubleWriteTensorDouble
>> (OTHER_FAULT)
>>    1252 - itkNrrdComplexImageReadTest (OTHER_FAULT)
>>    1253 - itkNrrdComplexImageReadWriteTest (OTHER_FAULT)
>>    1254 - itkNrrdVectorImageReadTest (OTHER_FAULT)
>>    1255 - itkNrrdVectorImageReadWriteTest (OTHER_FAULT)
>>    1256 - itkNrrdCovariantVectorImageReadTest (OTHER_FAULT)
>>    1257 - itkNrrdCovariantVectorImageReadWriteTest (OTHER_FAULT)
>>    1262 - itkImageIODirection3DTest05 (OTHER_FAULT)
>>    1263 - itkImageIODirection3DTest06 (OTHER_FAULT)
>>    1277 - itkImageIODirection2DTest11 (OTHER_FAULT)
>>    1278 - itkImageIODirection2DTest12 (OTHER_FAULT)
>>    1279 - itkImageIODirection2DTest13 (OTHER_FAULT)
>>    1280 - itkImageIODirection2DTest14 (OTHER_FAULT)
>>    1281 - itkImageIODirection2DTest15 (OTHER_FAULT)
>>    1530 - itkGridImageSourceTest1 (OTHER_FAULT)
>>    1531 - itkGridImageSourceTest2 (OTHER_FAULT)
>>    1532 - itkGridImageSourceTest3 (OTHER_FAULT)
>>    1533 - itkGridImageSourceTest4 (OTHER_FAULT)
>> 
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.html
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>> 



More information about the Insight-developers mailing list