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

Patrick Cheng cheng at isis.georgetown.edu
Fri Oct 29 16:30:40 EDT 2010


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