[IGSTK-Users] Error in Release mode, not in Debug mode

Patrick Cheng cheng at isis.georgetown.edu
Tue Nov 30 15:46:20 EST 2010


Hi Tamas,

Thanks for reporting the bug. This bug has just been fixed. The problem 
is with the TrackerToolObserverToOpenIGTLinkRelay class.

"Uninitialized variable m_FramesPerSecond, causing failure in release 
mode in Visual C++, as all uninitialized memory are set to zero in 
release mode"

Please follow this link to see the fix:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkTrackerToolObserverToOpenIGTLinkRelay.cxx?root=IGSTK&sortby=date&view=log

Patrick

On 11/1/2010 3:56 PM, Tamas Ungi wrote:
> Sure, attached is the code with the configuration xml and the pivot
> calibration, just to have the exact same input I have.
>
> Note: PivotCalibration.xml has to be placed in the bin directory, or should
> be given in the configuration xml with a full path.
>
> Note2: I have copied the classes igstkAscension3DGTracker, and
> igstkAscension3DGTrackerTool to my own code, but there is no significant
> change in them compared to those in the sandbox repository.
>
> Thank you,
> Tamas
>
>
>
> -----Original Message-----
> From: Patrick Cheng [mailto:cheng at isis.georgetown.edu]
> Sent: Monday, November 01, 2010 3:28 PM
> To: Tamas Ungi
> Cc: igstk-users at public.kitware.com
> Subject: Re: [IGSTK-Users] Error in Release mode, not in Debug mode
>
> Can you send me your test code along with your setups?
>
> Patrick
>
> On 11/1/2010 3:18 PM, Tamas Ungi wrote:
>> Hi Patrick,
>>
>> I turned off IGSTK_USE_SceneGraphVisualization in both IGSTK and
>> IGSTKSandbox, recompiled in Release mode along with my own code, and
>> the same problem appears to be happening. The program execution hangs
>> at the same line.
>> What should be the next step?
>>
>> Thank you,
>> Tamas
>>
>>
>>
>> -----Original Message-----
>> From: Patrick Cheng [mailto:cheng at isis.georgetown.edu]
>> Sent: Friday, October 29, 2010 4:31 PM
>> To: Tamas Ungi
>> Cc: igstk-users at public.kitware.com
>> Subject: Re: [IGSTK-Users] Error in Release mode, not in Debug mode
>>
>> Hi Tamas,
>>
>> Looks like the event: transformEvent is being observed by
>> igstkSceneGraphVisualization utilities.
>>
>> Can you try to turn off the option in your cmake and give it another try?
>> IGSTK_USE_SceneGraphVisualization
>>
>> Seems like we are narrowing down the problem now.
>>
>> Thank you,
>>
>> Patrick
>>
>> On 10/29/2010 12:42 PM, Tamas Ungi wrote:
>>> Hi Patrick,
>>>
>>> This line hangs:
>>> (inputItr->second)->SetCalibratedTransform( toolCalibratedTransform
>>> ); in function: void Tracker::UpdateStatusSuccessProcessing( void )
>>> in
>>> file: igstkTracker.cxx It is around line 822;
>>>
>>> So I went into the SetCalibratedTransform( ... ) function, and found
>>> that the call:
>>> this->InvokeEvent( transformEvent );
>>> in file: igstTrackerTool.cxx
>>> around line: 502;
>>> Doesn't return. The program hangs there (or goes somewhere in VTK?).
>>>
>>> How should I proceed debugging?
>>> Thanks,
>>> Tamas
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Patrick Cheng [mailto:cheng at isis.georgetown.edu]
>>> Sent: Thursday, October 28, 2010 5:07 PM
>>> To: Tamas Ungi
>>> Cc: igstk-users at public.kitware.com
>>> Subject: Re: [IGSTK-Users] Error in Release mode, not in Debug mode
>>>
>>> Hi Tamas,
>>>
>>> I tried to reproduce the error with Windows 7 + Visual Studio 2008.
>>>
>>> I used the attached testing program, a pulse generator with a simple
>>> callback to print out pulse count. It works under both Release and
>>> Debug. So PulseGenerator is not the problem.
>>>
>>> My guess is there might be some problem with the pulse generator
>>> callback functions in AscensionTracker code.
>>>
>>> There are three place to check:
>>>
>>> 1. igstkTracker.cxx line 736
>>> void Tracker::AttemptToUpdateStatusProcessing( void )
>>>
>>> 2. igstkTracker.cxx line 775
>>> void Tracker::UpdateStatusSuccessProcessing( void )
>>>
>>> 3. igstkAscension3DGTracker line 300
>>> Ascension3DGTracker::ResultType
>>> Ascension3DGTracker::InternalUpdateStatus()
>>>
>>> Can you debug your code and check to see if whether the callback
>>> function get stuck in one of these places?
>>>
>>> Thank you,
>>>
>>> Patrick
>>>
>>> On 10/28/2010 3:06 PM, Tamas Ungi wrote:
>>>> Hi Patrick,
>>>>
>>>> Yes, the main function begins with
>>>> igstk::RealTimeClock::Initialize();
>>>> I have inserted text outputs in igstkPulseGenerator.cxx, and found
>>>> out that the line:
>>>> (t->cb)(t->arg);
>>>> around line 445 in igstkPulseGenerator.cxx doesn't return, but hangs.
>>>> The first time it is called.
>>>>
>>>> Thanks,
>>>> Tamas
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Patrick Cheng [mailto:cheng at isis.georgetown.edu]
>>>> Sent: Thursday, October 28, 2010 2:38 PM
>>>> To: Tamas Ungi
>>>> Cc: igstk-users at public.kitware.com
>>>> Subject: Re: [IGSTK-Users] Error in Release mode, not in Debug mode
>>>>
>>>> Hi Tamas,
>>>>
>>>> Do you have the following line in the beginning of your code?
>>>>
>>>> igstk::RealTimeClock::Initialize();
>>>>
>>>> In release mode, all uninitialized memory are set to zeros. This
>>>> could be the potential reason of failing.
>>>>
>>>> Patrick
>>>>
>>>> On 10/28/2010 2:13 PM, Tamas Ungi wrote:
>>>>> Hi IGSTK Users,
>>>>>
>>>>> I have a strange problem.
>>>>>
>>>>> I have written a simple command line program using IGSTK, using
>>>>> just an Ascension3DGTrackerTool and a
>>>>> TrackerToolObserverToOpenIGTLinkRelay
>>>>> object. The main loop looks like this:
>>>>>
>>>>> try
>>>>>
>>>>> {
>>>>>
>>>>> while( 1 )
>>>>>
>>>>> {
>>>>>
>>>>> igstk::PulseGenerator::Sleep( unsigned int( 1000 / refreshRate ) );
>>>>>
>>>>> igstk::PulseGenerator::CheckTimeouts();
>>>>>
>>>>> }
>>>>>
>>>>> }
>>>>>
>>>>> catch( std::exception&e )
>>>>>
>>>>> {
>>>>>
>>>>> std::cerr<<e.what()<<"\n";
>>>>>
>>>>> return EXIT_FAILURE;
>>>>>
>>>>> }
>>>>>
>>>>> In Debug mode (Visual Studio 2008) the program works perfectly.
>>>>> However, in Release mode, the CheckTimeouts() function never
>>>>> returns, and the program is stuck at that line (line 6 in the above
>>>>> snippet)
>>>> forever.
>>>>>
>>>>> Anybody have any idea how can this be?
>>>>>
>>>>> I would appreciate any help.
>>>>>
>>>>> Thank you,
>>>>>
>>>>> Tamas
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>


More information about the IGSTK-Users mailing list