[Insight-developers] FloatingPointExceptions and failed tests in Mac

Luis Ibanez luis.ibanez at kitware.com
Mon Dec 20 19:24:25 EST 2010


Hi Bill,

Here is a first peek at what GDB shows for

    ctest -R itkRankImageFilterTest3

---

It seem to stop at itkRankHistogram.h:279

----

Program received signal EXC_ARITHMETIC, Arithmetic exception.
0x0040deb8 in itk::Function::VectorRankHistogram<unsigned
char>::GetValueBruteForce (this=0x1d8e4f0) at itkRankHistogram.h:279
279	    unsigned long target = (unsigned long)( m_Rank * ( m_Entries -
1 ) ) + 1;
(gdb) bt
#0  0x0040deb8 in itk::Function::VectorRankHistogram<unsigned
char>::GetValueBruteForce (this=0x1d8e4f0) at itkRankHistogram.h:279
#1  0x003ff885 in itk::Function::VectorRankHistogram<unsigned
char>::GetValue (this=0x1d8e4f0) at itkRankHistogram.h:293
#2  0x00401390 in itk::MovingHistogramImageFilter<itk::Image<unsigned
char, 2u>, itk::Image<unsigned char, 2u>,
itk::FlatStructuringElement<2u>, itk::Function::RankHistogram<unsigned
char> >::ThreadedGenerateData (this=0x1d89500,
outputRegionForThread=@0xbffff20c, threadId=0) at
itkMovingHistogramImageFilter.txx:130
#3  0x000948fc in itk::ImageSource<itk::Image<unsigned char, 2u>
>::ThreaderCallback (arg=0x200ea44) at itkImageSource.txx:302
#4  0x00530243 in itk::MultiThreader::SingleMethodExecute
(this=0x200ea00) at
/Users/ibanez/Dashboards/src/ITK/Code/Common/itkMultiThreader.cxx:324
#5  0x00094823 in itk::ImageSource<itk::Image<unsigned char, 2u>
>::GenerateData (this=0x1d89500) at itkImageSource.txx:251
#6  0x0053ebce in itk::ProcessObject::UpdateOutputData
(this=0x1d89500) at
/Users/ibanez/Dashboards/src/ITK/Code/Common/itkProcessObject.cxx:978
#7  0x0052a849 in itk::DataObject::UpdateOutputData (this=0x1d89630)
at /Users/ibanez/Dashboards/src/ITK/Code/Common/itkDataObject.cxx:408
#8  0x0000eec3 in itk::ImageBase<2u>::UpdateOutputData
(this=0x1d89630) at itkImageBase.txx:283
#9  0x0052a59a in itk::DataObject::Update (this=0x1d89630) at
/Users/ibanez/Dashboards/src/ITK/Code/Common/itkDataObject.cxx:333
#10 0x0053f809 in itk::ProcessObject::Update (this=0x1d89500) at
/Users/ibanez/Dashboards/src/ITK/Code/Common/itkProcessObject.cxx:612
#11 0x003fc562 in itkRankImageFilterTest (ac=4, av=0xbffff990) at
/Users/ibanez/Dashboards/src/ITK/Testing/Code/Review/itkRankImageFilterTest.cxx:99
#12 0x00009e66 in main (ac=5, av=0xbffff98c) at itkTestMain.h:175


I don't quite see why...

The relevant values in this line are:

(gdb) print m_Rank
$1 = 0.5
(gdb) print m_Entries
$2 = 20
(gdb) print target
$3 = 30991600


I'm wondering if I should tell gdb to stop when
that specific exceptions are thrown...

I'm taking a look at the gdb tutorial / documentation...


     Luis


----------------------
On Mon, Dec 20, 2010 at 4:35 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> Luis,
>
> These may be related to the compiler using "old" fp instructions for
> some math functions.
> See for example:
> http://www.mail-archive.com/core-libs-dev@openjdk.java.net/msg01325.html
>
> If you run one of the failing tests with gdb it should pinpoint the problem.
>
> It may be we can't fix it, but at least give it a shot,
>
> Bill
>
> On Sun, Dec 19, 2010 at 8:55 AM, Hans Johnson <hans-johnson at uiowa.edu> wrote:
>> Luis,
>>
>> I don’t think there are special flags required.  There are flags that can
>> change the behavior of how floating point exceptions behave, but these are
>> usually things that simply ignore exceptions, or allow undefined behavior in
>> order to get speed increases.
>>
>> My gut feeling is that we should spend a little more time verifying that the
>> floating point report can not be made cleaner by fortifying the code (rather
>> than changing what is reported).
>>
>> Kent is on vacation until after the first of the year, so perhaps we should
>> dis-able this for the next 2 weeks and then take this back up in January.
>>
>> Hans
>>
>> Hans
>> --
>> Hans J. Johnson, Ph.D.
>> Hans-johnson at uiowa.edu
>>
>> 278 GH
>> The University of Iowa
>> Iowa City, IA 52241
>> (319) 353 8587
>>
>>
>> ________________________________
>> From: Luis Ibanez <luis.ibanez at kitware.com>
>> Date: Sat, 18 Dec 2010 19:01:40 -0500
>> To: Bill Lorensen <bill.lorensen at gmail.com>
>> Cc: Hans Johnson <hans-johnson at uiowa.edu>, ITK <insight-developers at itk.org>,
>> Kent Williams <norman-k-williams at uiowa.edu>
>> Subject: Re: [Insight-developers] FloatingPointExceptions and failed tests
>> in Mac
>>
>> Hi Bill,
>>
>> Yes, that's the flag that I have ON in thurmite.kitware.
>>
>> I may have misunderstood Hans, but I thought that
>> he was implying that an additional set of compilation
>> options will make this flag to work correctly in the mac.
>>
>> Currently this build is reporting
>>
>> 19 failing tests in Debug
>> http://www.cdash.org/CDash/buildSummary.php?buildid=804592
>>
>> and
>>
>> 139 failing tests in Release:
>> http://www.cdash.org/CDash/buildSummary.php?buildid=804592
>>
>>
>>      Luis
>>
>>
>> ----------------------
>> On Fri, Dec 17, 2010 at 5:05 PM, Bill Lorensen <bill.lorensen at gmail.com>
>> wrote:
>>
>> //Enable Floating Point Exceptions for Testing
>> ITK_USE_FLOATINGPOINTEXCEPTIONS:BOOL=ON
>>
>>
>> On Fri, Dec 17, 2010 at 5:04 PM, Luis Ibanez <luis.ibanez at kitware.com>
>> wrote:
>>> Hi Hans,
>>>
>>> What compilation options should I use in Mac in order
>>> to get the floating point exceptions to work ?
>>>
>>> I'll add them to the ctest script for thurmite.kitware.
>>>
>>>
>>>      Luis
>>>
>>>
>>> --------------------------------------------
>>> On Fri, Dec 17, 2010 at 11:15 AM, Hans Johnson <hans-johnson at uiowa.edu>
>>> wrote:
>>>>
>>>> Luis,
>>>>
>>>> Let’s not rule out the possibility that a different set of floating point
>>>> exceptions ARE Working on mac with the compile options.  So far the
>>>> reported
>>>> errors have identified real problems in ITK.
>>>>
>>>> Hans
>>>>
>>>>
>>>>
>>>> On 12/17/10 10:11 AM, "Luis Ibanez" <luis.ibanez at kitware.com> wrote:
>>>>
>>>>
>>>> Kent, Hans, Brad,
>>>>
>>>> Looking closer at the tests that are failing in thurmite.kitware (a Mac
>>>> mini):
>>>>
>>>> In Debug mode: 19 failing tests:
>>>> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=803613
>>>>
>>>> and in Release mode, 139 failing tests:
>>>> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=802532
>>>>
>>>>
>>>> They turned out to be related to the fact that this build has ON the
>>>> flag:
>>>>
>>>>                   ITK_USE_FLOATINGPOINTEXCEPTIONS
>>>>
>>>> When I turn the flag OFF, the build returns with only 6 tests failing:
>>>> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=803142
>>>>
>>>>
>>>> Are you aware of any reason why the floating point exceptions
>>>> shouldn't  work in a Mac ?
>>>>
>>>> and if so, ...
>>>> should we add some logic in the CMakeLists.txt file to
>>>> hide this flag when configuring in macs ?
>>>>
>>>>
>>>>
>>>>      Thanks
>>>>
>>>>
>>>>            Luis
>>>>
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com <http://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