Hello

Sometimes (not very often) when i close my mitk App (but it also seems to 
happen in ExtApp) i get a crash on mitkVtkLayerController at line 54 (see 
following) in "find" function of the static std::map of the RemoveInstance 
function:

void  mitk::VtkLayerController::RemoveInstance(vtkRenderWindow* renWin)
{
  vtkLayerControllerMapType::iterator mapit = s_LayerControllerMap.find(renWin);
  if(mapit != s_LayerControllerMap.end())
  {
    delete mapit->second;
    s_LayerControllerMap.erase( mapit );
  }
}

It seems that this is a threading problem of mitk since renWin is not a 
Nullpointer and the static variable s_LayerControllerMap  also exists. Has 
anyone a clue what I am making or what mitk is making wrong? I have no idea how 
the debug this...

Here my call stack but I think it will not help much:

        mitkCore.dll!std::_Tree<std::_Tmap_traits<vtkRenderWindow const * 
__ptr64,mitk::VtkLayerController * __ptr64,std::less<vtkRenderWindow const * 
__ptr64>,std::allocator<std::pair<vtkRenderWindow const * __ptr64 
const,mitk::VtkLayerController * __ptr64> >,0> >::_Lbound(const vtkRenderWindow 
* const & _Keyval=0x00000000098f3030)  Line 1264 + 0xa bytes   C++
        mitkCore.dll!std::_Tree<std::_Tmap_traits<vtkRenderWindow const * 
__ptr64,mitk::VtkLayerController * __ptr64,std::less<vtkRenderWindow const * 
__ptr64>,std::allocator<std::pair<vtkRenderWindow const * __ptr64 
const,mitk::VtkLayerController * __ptr64> >,0> >::lower_bound(const 
vtkRenderWindow * const & _Keyval=0x00000000098f3030)  Line 1004 + 0xf bytes    
   C++
        mitkCore.dll!std::_Tree<std::_Tmap_traits<vtkRenderWindow const * 
__ptr64,mitk::VtkLayerController * __ptr64,std::less<vtkRenderWindow const * 
__ptr64>,std::allocator<std::pair<vtkRenderWindow const * __ptr64 
const,mitk::VtkLayerController * __ptr64> >,0> >::find(const vtkRenderWindow * 
const & _Keyval=0x00000000098f3030)  Line 978 + 0x1a bytes      C++
        mitkCore.dll!mitk::VtkLayerController::RemoveInstance(vtkRenderWindow * 
renWin=0x00000000098f3030)  Line 54 + 0x19 bytes        C++
        mitkCore.dll!mitk::BaseRenderer::~BaseRenderer()  Line 239      C++
        mitkCore.dll!mitk::VtkPropRenderer::~VtkPropRenderer()  Line 133 + 0x64 
bytes   C++
        mitkCore.dll!mitk::VtkPropRenderer::`vector deleting destructor'()  + 
0x85 bytes        C++
        ITKCommon.dll!itk::LightObject::UnRegister()  Line 201 + 0x31 bytes     
C++
        ITKCommon.dll!itk::Object::UnRegister()  Line 339       C++
        mitkCore.dll!itk::SmartPointer<mitk::BaseRenderer>::UnRegister()  Line 
148      C++
        
mitkCore.dll!itk::SmartPointer<mitk::BaseRenderer>::~SmartPointer<mitk::BaseRenderer>()
  Line 65        C++
        
mitkCore.dll!mitk::DisplayCoordinateOperation::~DisplayCoordinateOperation()  
Line 55 + 0xe bytes       C++
        mitkCore.dll!mitk::DisplayCoordinateOperation::`vector deleting 
destructor'()  + 0x7f bytes     C++
        mitkCore.dll!mitk::OperationEvent::~OperationEvent()  Line 139 + 0x37 
bytes     C++
        mitkCore.dll!mitk::OperationEvent::`vector deleting destructor'()  + 
0x7f bytes C++
        
mitkCore.dll!mitk::LimitedLinearUndo::ClearList(std::vector<mitk::UndoStackItem 
*,std::allocator<mitk::UndoStackItem *> > * list=[1](0x000000000fd1f150 
{m_Destination=0x0000000009b28c20 m_Operation=0x0000000004090980 
m_UndoOperation=0x000000000fd38ec0 ...}))  Line 40 + 0x30 bytes        C++
        mitkCore.dll!mitk::LimitedLinearUndo::~LimitedLinearUndo()  Line 31     
C++
        
mitkCore.dll!mitk::VerboseLimitedLinearUndo::~VerboseLimitedLinearUndo()  Line 
28 + 0xa bytes   C++
        mitkCore.dll!mitk::VerboseLimitedLinearUndo::`vector deleting 
destructor'()  + 0x85 bytes       C++
        ITKCommon.dll!itk::LightObject::UnRegister()  Line 201 + 0x31 bytes     
C++
        ITKCommon.dll!itk::Object::UnRegister()  Line 339       C++
        mitkCore.dll!itk::SmartPointer<mitk::UndoModel>::UnRegister()  Line 148 
C++
        
mitkCore.dll!itk::SmartPointer<mitk::UndoModel>::~SmartPointer<mitk::UndoModel>()
  Line 65      C++
        mitkCore.dll!`dynamic atexit destructor for 
'mitk::UndoController::m_CurUndoModel''()  + 0x26 bytes     C++
        mitkCore.dll!_CRT_INIT(void * hDllHandle=0x000007feeab90000, unsigned 
long dwReason=0, void * lpreserved=0x0000000000000001)  Line 446  C
        mitkCore.dll!__DllMainCRTStartup(void * hDllHandle=0x000007feeab90000, 
unsigned long dwReason=0, void * lpreserved=0x0000000000000001)  Line 557 + 
0x13 bytes   C
        mitkCore.dll!_DllMainCRTStartup(void * hDllHandle=0x000007feeab90000, 
unsigned long dwReason=0, void * lpreserved=0x0000000000000001)  Line 508 C
        ntdll.dll!0000000077604371()
        [Frames below may be incorrect and/or missing, no symbols loaded for 
ntdll.dll]
        ntdll.dll!0000000077604180()
        msvcr90d.dll!__crtExitProcess(int status=0)  Line 732   C
        msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  Line 645 
C
        msvcr90d.dll!exit(int code=0)  Line 413 C
        ReDeformApp.exe!__tmainCRTStartup()  Line 595   C
>       ReDeformApp.exe!mainCRTStartup()  Line 399      C
        kernel32.dll!000000007728652d()
        ntdll.dll!000000007760c521()

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to