[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