Yupp, it seems that we have an older version of mitk and it seems that the
actual one does not have this bug. The problem is that we developed a software
which uses mitk which is currently in medical software certification process
(ISO 13485) and that it is not possible to update the mitk toolkit any more
during clinical trial , only critical bug fixes like this one would be allowed
(by writing an huge amount of change request documents)....
So if I look at the git the only thing you did is changing the SmartPointer
into a weak pointer in mitkDisplayCoordinateOperation.h ?
Thanks for your help, would never found it otherwise...
Von: Sascha Zelzer [mailto:[email protected]]
Gesendet: Freitag, 01. Juni 2012 16:49
An: Lodron, Gerald
Cc: MITK ([email protected])
Betreff: Re: [mitk-users] Crash on closing mitk App
Hi,
thanks for reporting this. What MITK version are you using?
We had a very similar problem which has been fixed since then:
http://bugs.mitk.org/show_bug.cgi?id=4733
It very much looks like there is a "wrong" destruction order: Methods called
from desctructors try to access static members of objects which are probably
gone already.
- Sascha
On 05/24/2012 02:22 PM, Lodron, Gerald wrote:
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