| Anonymous | Login | Signup for a new account | 2013-05-18 13:09 EDT |
| Main | My View | View Issues | Change Log | Roadmap | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0001759 | [Slicer4] Core: MRML | crash | always | 2012-02-27 21:32 | 2012-08-22 12:08 | ||||
| Reporter | finetjul | View Status | public | ||||||
| Assigned To | nicole | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | Slicer 4.0.1 | ||||||
| Summary | 0001759: Crash when "Clipping" tissue model | ||||||||
| Description |
See Steps to Reproduce. Crash could have work with just any model (not necessarily a parent model), but with parent model, there is another problem: Clip muscles and Ligaments is automatically selected. |
||||||||
| Additional Information |
Crash Backtrace: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 ??? 000000000000000000 0 + 0 1 libvtkRendering.5.9.dylib 0x0000000112250380 vtkOpenGLRenderer::DeviceRender() + 210 2 libvtkRendering.5.9.dylib 0x00000001120b1dbf vtkRenderer::Render() + 3433 3 libvtkRendering.5.9.dylib 0x00000001120a7963 vtkRendererCollection::Render() + 225 4 libvtkRendering.5.9.dylib 0x00000001120c60b1 vtkRenderWindow::DoStereoRender() + 273 5 libvtkRendering.5.9.dylib 0x00000001120c67cd vtkRenderWindow::DoFDRender() + 1533 6 libvtkRendering.5.9.dylib 0x00000001120c6fc2 vtkRenderWindow::DoAARender() + 2028 7 libvtkRendering.5.9.dylib 0x00000001120c797a vtkRenderWindow::Render() + 2478 8 libCTKVisualizationVTKWidgets.0.1.dylib 0x0000000109459fc8 ctkVTKAbstractView::forceRender() + 314 (ctkVTKAbstractView.cpp:220) 9 libCTKVisualizationVTKWidgets.0.1.dylib 0x000000010948e136 ctkVTKAbstractView::qt_metacall(QMetaObject::Call, int, void**) + 190 (moc_ctkVTKAbstractView.cxx:107) 10 libCTKVisualizationVTKWidgets.0.1.dylib 0x0000000109490bef ctkVTKRenderView::qt_metacall(QMetaObject::Call, int, void**) + 71 (moc_ctkVTKRenderView.cxx:130) 11 libqMRMLWidgets.dylib 0x00000001084a3d3c qMRMLThreeDView::qt_metacall(QMetaObject::Call, int, void**) + 68 (moc_qMRMLThreeDView.cxx:78) 12 QtCore 0x00000001135c8a82 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 978 13 QtCore 0x00000001135c7c83 QObject::event(QEvent*) + 49 14 QtGui 0x0000000112922368 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 304 15 QtGui 0x00000001129225e9 QApplication::notify(QObject*, QEvent*) + 603 16 QtCore 0x00000001135b5466 QCoreApplication::notifyInternal(QObject*, QEvent*) + 104 17 QtGui 0x0000000112921afa qt_sendSpontaneousEvent(QObject*, QEvent*) + 42 18 QtGui 0x00000001128decf1 QEventDispatcherMacPrivate::activateTimer(__CFRunLoopTimer*, void*) + 193 19 com.apple.CoreFoundation 0x00007fff8ba51f84 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 20 com.apple.CoreFoundation 0x00007fff8ba51ad6 __CFRunLoopDoTimer + 534 21 com.apple.CoreFoundation 0x00007fff8ba32471 __CFRunLoopRun + 1617 22 com.apple.CoreFoundation 0x00007fff8ba31ae6 CFRunLoopRunSpecific + 230 23 com.apple.HIToolbox 0x00007fff81fb03d3 RunCurrentEventLoopInMode + 277 24 com.apple.HIToolbox 0x00007fff81fb758f ReceiveNextEventCommon + 181 25 com.apple.HIToolbox 0x00007fff81fb74ca BlockUntilNextEventMatchingListInMode + 62 26 com.apple.AppKit 0x00007fff848e73f1 _DPSNextEvent + 659 27 com.apple.AppKit 0x00007fff848e6cf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135 28 com.apple.AppKit 0x00007fff848e362d -[NSApplication run] + 470 29 QtGui 0x00000001128e020b QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 799 30 QtCore 0x00000001135b2af5 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 247 31 QtCore 0x00000001135b5a9f QCoreApplication::exec() + 175 32 0x0000000107d0a5e5 (anonymous namespace)::slicerQtMain(int, char**) + 5941 (Main.cxx:305) 33 0x0000000107d064ce main + 46 (Main.cxx:337) 34 0x0000000107d06494 start + 52 |
||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
|
|
|||||||||
Relationships |
||||||
|
||||||
Notes |
|
|
(0003739) nicole (administrator) 2012-02-29 12:53 |
I can see part of the volumes when I load the scene in linux64, but yes, the field of view seems off. At the step: Check Clip the Muscle entry jumped up in the tree to above the Tendons. I reselected Muscle. My back trace when I set the axial slice to be visible: Program received signal SIGSEGV, Segmentation fault. 0x00007f41f27cc193 in vtkRenderer::UpdateGeometry (this=0xaca39d0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderer.cxx:630 630 this->PropArray[i]->RenderOpaqueGeometry(this); (gdb) bt #0 0x00007f41f27cc193 in vtkRenderer::UpdateGeometry (this=0xaca39d0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderer.cxx:630 0000001 0x00007f41f28d652f in vtkOpenGLRenderer::DeviceRender (this=0xaca39d0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkOpenGLRenderer.cxx:247 0000002 0x00007f41f27cb3c2 in vtkRenderer::Render (this=0xaca39d0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderer.cxx:345 0000003 0x00007f41f27c9450 in vtkRendererCollection::Render (this=0xac9fa00) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRendererCollection.cxx:51 0000004 0x00007f41f27dfce8 in vtkRenderWindow::DoStereoRender (this=0xaca15f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderWindow.cxx:719 0000005 0x00007f41f27dfbf0 in vtkRenderWindow::DoFDRender (this=0xaca15f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderWindow.cxx:688 0000006 0x00007f41f27df69b in vtkRenderWindow::DoAARender (this=0xaca15f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderWindow.cxx:575 0000007 0x00007f41f27dec66 in vtkRenderWindow::Render (this=0xaca15f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkRenderWindow.cxx:388 0000008 0x00007f41f2932c35 in vtkXOpenGLRenderWindow::Render (this=0xaca15f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1857 0000009 0x00007f41fe51396f in ctkVTKAbstractView::forceRender (this=0xac9f900) at /projects/birn/nicole/Slicer4/S4-SuperBuild/CTK/Libs/Visualization/VTK/Widgets/ctkVTKAbstractView.cpp:220 0000010 0x00007f41fe532486 in ctkVTKAbstractView::qt_metacall (this=0xac9f900, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff246ea810) at /projects/birn/nicole/Slicer4/S4-SuperBuild/CTK-build/CTK-build/Libs/Visualization/VTK/Widgets/moc_ctkVTKAbstractView.cxx:107 0000011 0x00007f41fe53402e in ctkVTKRenderView::qt_metacall (this=0xac9f900, _c=QMetaObject::InvokeMetaMethod, _id=28, _a=0x7fff246ea810) at /projects/birn/nicole/Slicer4/S4-SuperBuild/CTK-build/CTK-build/Libs/Visualization/VTK/Widgets/moc_ctkVTKRenderView.cxx:130 0000012 0x00007f41ff428062 in qMRMLThreeDView::qt_metacall (this=0xac9f900, _c=QMetaObject::InvokeMetaMethod, _id=28, _a=0x7fff246ea810) at /projects/birn/nicole/Slicer4/S4-SuperBuild/Slicer-build/Libs/MRML/Widgets/moc_qMRMLThreeDView.cxx:78 0000013 0x00007f41f4ff70b8 in QMetaObject::activate (sender=0xacf3fb0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xba216a0) at /var/tmp/qt-src/src/corelib/kernel/qobject.cpp:3272 0000014 0x00007f41f4ff2e0b in QObject::event (this=0xacf3fb0, e=0xba216a0) at /var/tmp/qt-src/src/corelib/kernel/qobject.cpp:1175 0000015 0x00007f41f5ab65df in QApplicationPrivate::notify_helper (this=0x1156500, receiver=0xacf3fb0, e=0x7fff246eafd0) at /var/tmp/qt-src/src/gui/kernel/qapplication.cpp:4396 0000016 0x00007f41f5abd1cb in QApplication::notify (this=0x7fff246eb310, receiver=0xacf3fb0, e=0x7fff246eafd0) at /var/tmp/qt-src/src/gui/kernel/qapplication.cpp:4277 0000017 0x00007f41f4fe1064 in QCoreApplication::notifyInternal (this=0x7fff246eb310, receiver=0xacf3fb0, event=0x7fff246eafd0) at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.cpp:732 0000018 0x00007f41f5011910 in sendEvent (this=0x115d150) at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.h:215 0000019 QTimerInfoList::activateTimers (this=0x115d150) at /var/tmp/qt-src/src/corelib/kernel/qeventdispatcher_unix.cpp:602 0000020 0x00007f41f500e834 in timerSourceDispatch (source=<value optimized out>) at /var/tmp/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:184 0000021 0x000000376e63bd02 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 0000022 0x000000376e63fae8 in ?? () from /lib64/libglib-2.0.so.0 0000023 0x000000376e63fc9c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- 0000024 0x00007f41f500eb8c in QEventDispatcherGlib::processEvents (this=0x1159600, flags=<value optimized out>) at /var/tmp/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:415 0000025 0x00007f41f5b672ef in QGuiEventDispatcherGlib::processEvents (this=0xba21b90, flags=<value optimized out>) at /var/tmp/qt-src/src/gui/kernel/qguieventdispatcher_glib.cpp:204 0000026 0x00007f41f4fe03b5 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at /var/tmp/qt-src/src/corelib/kernel/qeventloop.cpp:149 0000027 0x00007f41f4fe0606 in QEventLoop::exec (this=0x7fff246eb280, flags=...) at /var/tmp/qt-src/src/corelib/kernel/qeventloop.cpp:201 0000028 0x00007f41f4fe2444 in QCoreApplication::exec () at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.cpp:1009 0000029 0x00000000004083b3 in (anonymous namespace)::slicerQtMain (argc=2, argv=0x7fff246eb678) at /projects/birn/nicole/Slicer4/Slicer4/Applications/SlicerQT/Main.cxx:305 0000030 0x00000000004084ba in main (argc=2, argv=0x7fff246eb678) at /projects/birn/nicole/Slicer4/Slicer4/Applications/SlicerQT/Main.cxx:337 Seems to be forcing a render before the view is ready? |
|
(0003741) finetjul (administrator) 2012-02-29 13:33 |
The crash (at this->PropArray[i]->UpdateGeometry) seem to mean that there is a "prop" (typically a vtkActor) that is deleted in the vtkRenderer. We might want to track it down using that technique: http://www.slicer.org/slicerWiki/index.php/Documentation/4.0/Developers/Tutorials/Troubleshooting#Track_a_crash_while_accessing_already_deleted_object_pointer [^] |
|
(0003823) nicole (administrator) 2012-03-09 13:59 |
Adding the print outs to the vtkProp and vtkRenderer classes, the problem seems to stem from a call to Render that triggers an update on the slice actor that triggers an update geometry on the actor which triggers vtkImageData to prepare for new data, which triggers a modified event on a model display node (id = vtkMRMLModelDisplayNode1), which triggers a modified on the model which goes into the model displayable manager trying to update from mrml by clearing out all model props in frame 12: #0 vtkProp::~vtkProp (this=0x46b3240, __in_chrg=<value optimized out>) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkProp.cxx:53 0000001 0x00007f3ad2907e5a in vtkProp3D::~vtkProp3D (this=0x46b3240, __in_chrg=<value optimized out>) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkProp3D.cxx:81 0000002 0x00007f3ad277de08 in vtkActor::~vtkActor (this=0x46b3240, __in_chrg=<value optimized out>) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkActor.cxx:79 0000003 0x00007f3ad29f6212 in vtkOpenGLActor::~vtkOpenGLActor (this=0x46b3240, __in_chrg=<value optimized out>) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkOpenGLActor.h:42 0000004 0x00007f3ad29f6242 in vtkOpenGLActor::~vtkOpenGLActor (this=0x46b3240, __in_chrg=<value optimized out>) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Rendering/vtkOpenGLActor.h:42 0000005 0x00007f3ac8b7d767 in vtkObjectBase::UnRegisterInternal (this=0x46b3240, check=0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkObjectBase.cxx:279 0000006 0x00007f3ac8b7bc89 in vtkObject::UnRegisterInternal (this=0x46b3240, o=0xc043110, check=0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkObject.cxx:885 0000007 0x00007f3ac8b7d35a in vtkObjectBase::UnRegister (this=0x46b3240, o=0xc043110) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkObjectBase.cxx:182 0000008 0x00007f3ac8aa2cf6 in vtkCollection::DeleteElement (this=0xc043110, e=0xfdcf6f0) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkCollection.cxx:56 0000009 0x00007f3ac8aa33c7 in vtkCollection::RemoveItem (this=0xc043110, i=49) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkCollection.cxx:341 0000010 0x00007f3ac8aa2f6a in vtkCollection::RemoveItem (this=0xc043110, a=0x46b3240) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Common/vtkCollection.cxx:155 ---Type <return> to continue, or q <return> to quit--- 0000011 0x00007f3ac948ca3f in vtkViewport::RemoveViewProp (this=0xc043290, p=0x46b3240) at /projects/birn/nicole/Slicer4/S4-SuperBuild/VTK/Filtering/vtkViewport.cxx:149 0000012 0x00007f3ada791caf in vtkMRMLModelDisplayableManager::RemoveModelProps (this=0x43d6bf0) at /projects/birn/nicole/Slicer4/Slicer4/Libs/MRML/DisplayableManager/vtkMRMLModelDisplayableManager.cxx:1167 0000013 0x00007f3ada78f40b in vtkMRMLModelDisplayableManager::UpdateFromMRML (this=0x43d6bf0) at /projects/birn/nicole/Slicer4/Slicer4/Libs/MRML/DisplayableManager/vtkMRMLModelDisplayableManager.cxx:707 0000014 0x00007f3ada7c614a in vtkMRMLAbstractDisplayableManager::RequestRender (this=0x43d6bf0) at /projects/birn/nicole/Slicer4/Slicer4/Libs/MRML/DisplayableManager/vtkMRMLAbstractDisplayableManager.cxx:697 0000015 0x00007f3ada78e837 in vtkMRMLModelDisplayableManager::ProcessMRMLNodesEvents (this=0x43d6bf0, caller=0x52b54e0, event=17000, callData=0xdee3100) at /projects/birn/nicole/Slicer4/Slicer4/Libs/MRML/DisplayableManager/vtkMRMLModelDisplayableManager.cxx:459 At frame 13, model display node id is vtkMRMLModelDisplayNode11 |
|
(0003824) nicole (administrator) 2012-03-09 14:23 |
Suspect that there's a logic error in vtkMRMLModelDisplayableManager::ProcessMRMLNodesEvents as request render is true by default |
|
(0003825) nicole (administrator) 2012-03-09 14:39 |
>>> slicer.mrmlScene.GetNthNodeByClass(0,"vtkMRMLDisplayableNode").GetName() 'Red Volume Slice' >>> slicer.mrmlScene.GetNthNodeByClass(0,"vtkMRMLDisplayableNode").GetDisplayNodeID() 'vtkMRMLModelDisplayNode1' |
|
(0003826) finetjul (administrator) 2012-03-09 15:08 |
Indeed, why does it need to remove the model props every time the scene is updated ? At least it shouldn't do it when the renderer is rendering. Or if it removes it, then it should not delete the prop, so it should keep a reference in it. That seems like a dangerous fix in all cases. We might want to wait for after 4.1 (and mention that clipping is not supported). |
|
(0003828) pieper (administrator) 2012-03-09 16:32 |
Here we put a breakpoint vtkMRMLModelDisplayableManager::UpdateFromMRML and can see that is it being called from within an event callback triggered during a render. This means that the vtkProps are being removed from the renderer while a render is in process and probably leads to crashes sometimes but not always (it may be that only when the prop that is currently being rendered is removed that the crash occurs). > MRMLDisplayableManager.dll!vtkMRMLModelDisplayableManager::UpdateFromMRML() Line 705 C++ MRMLDisplayableManager.dll!vtkMRMLAbstractDisplayableManager::RequestRender() Line 700 C++ MRMLDisplayableManager.dll!vtkMRMLModelDisplayableManager::ProcessMRMLNodesEvents(vtkObject * caller=0x000000000dc27030, unsigned long event=17000, void * callData=0x000000000dc2d0a0) Line 461 C++ MRMLLogic.dll!vtkMRMLAbstractLogic::MRMLNodesCallback(vtkObject * caller=0x000000000dc27030, unsigned long eid=17000, void * clientData=0x000000000d6b0b10, void * callData=0x000000000dc2d0a0) Line 185 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc27030, unsigned long event=17000, void * callData=0x000000000dc2d0a0) Line 43 C++ MRMLCore.dll!vtkEventBroker::InvokeObservation(vtkObservation * observation=0x000000000dc8d610, void * callData=0x000000000dc2d0a0) Line 857 C++ MRMLCore.dll!vtkEventBroker::ProcessEvent(vtkObservation * observation=0x000000000dc8d610, vtkObject * caller=0x000000000dc27030, unsigned long eid=17000, void * callData=0x000000000dc2d0a0) Line 707 + 0x1d bytes C++ MRMLCore.dll!vtkEventBroker::Callback(vtkObject * caller=0x000000000dc27030, unsigned long eid=17000, void * clientData=0x000000000dc8d610, void * callData=0x000000000dc2d0a0) Line 929 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc27030, unsigned long event=17000, void * callData=0x000000000dc2d0a0) Line 43 C++ vtkCommon.dll!vtkSubjectHelper::InvokeEvent(unsigned long event=17000, void * callData=0x000000000dc2d0a0, vtkObject * self=0x000000000dc27030) Line 605 C++ vtkCommon.dll!vtkObject::InvokeEvent(unsigned long event=17000, void * callData=0x000000000dc2d0a0) Line 770 + 0x1c bytes C++ MRMLCore.dll!vtkMRMLDisplayableNode::ProcessMRMLEvents(vtkObject * caller=0x000000000dc2d0a0, unsigned long event=33, void * callData=0x0000000000000000) Line 407 C++ MRMLCore.dll!vtkMRMLModelNode::ProcessMRMLEvents(vtkObject * caller=0x000000000dc2d0a0, unsigned long event=33, void * callData=0x0000000000000000) Line 93 C++ MRMLCore.dll!vtkMRMLNode::MRMLCallback(vtkObject * caller=0x000000000dc2d0a0, unsigned long eid=33, void * clientData=0x000000000dc27030, void * callData=0x0000000000000000) Line 419 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc2d0a0, unsigned long event=33, void * callData=0x0000000000000000) Line 43 C++ MRMLCore.dll!vtkEventBroker::InvokeObservation(vtkObservation * observation=0x000000000dc61d00, void * callData=0x0000000000000000) Line 857 C++ MRMLCore.dll!vtkEventBroker::ProcessEvent(vtkObservation * observation=0x000000000dc61d00, vtkObject * caller=0x000000000dc2d0a0, unsigned long eid=33, void * callData=0x0000000000000000) Line 707 + 0x1d bytes C++ MRMLCore.dll!vtkEventBroker::Callback(vtkObject * caller=0x000000000dc2d0a0, unsigned long eid=33, void * clientData=0x000000000dc61d00, void * callData=0x0000000000000000) Line 929 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc2d0a0, unsigned long event=33, void * callData=0x0000000000000000) Line 43 C++ vtkCommon.dll!vtkSubjectHelper::InvokeEvent(unsigned long event=33, void * callData=0x0000000000000000, vtkObject * self=0x000000000dc2d0a0) Line 605 C++ vtkCommon.dll!vtkObject::InvokeEvent(unsigned long event=33, void * callData=0x0000000000000000) Line 770 + 0x1c bytes C++ MRMLCore.dll!vtkMRMLDisplayNode::ProcessMRMLEvents(vtkObject * caller=0x000000000dc2e720, unsigned long event=33, void * callData=0x0000000000000000) Line 607 C++ MRMLCore.dll!vtkMRMLNode::MRMLCallback(vtkObject * caller=0x000000000dc2e720, unsigned long eid=33, void * clientData=0x000000000dc2d0a0, void * callData=0x0000000000000000) Line 419 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc2e720, unsigned long event=33, void * callData=0x0000000000000000) Line 43 C++ MRMLCore.dll!vtkEventBroker::InvokeObservation(vtkObservation * observation=0x0000000017cb2160, void * callData=0x0000000000000000) Line 857 C++ MRMLCore.dll!vtkEventBroker::ProcessEvent(vtkObservation * observation=0x0000000017cb2160, vtkObject * caller=0x000000000dc2e720, unsigned long eid=33, void * callData=0x0000000000000000) Line 707 + 0x1d bytes C++ MRMLCore.dll!vtkEventBroker::Callback(vtkObject * caller=0x000000000dc2e720, unsigned long eid=33, void * clientData=0x0000000017cb2160, void * callData=0x0000000000000000) Line 929 C++ vtkCommon.dll!vtkCallbackCommand::Execute(vtkObject * caller=0x000000000dc2e720, unsigned long event=33, void * callData=0x0000000000000000) Line 43 C++ vtkCommon.dll!vtkSubjectHelper::InvokeEvent(unsigned long event=33, void * callData=0x0000000000000000, vtkObject * self=0x000000000dc2e720) Line 605 C++ vtkCommon.dll!vtkObject::InvokeEvent(unsigned long event=33, void * callData=0x0000000000000000) Line 770 + 0x1c bytes C++ vtkCommon.dll!vtkObject::Modified() Line 837 C++ vtkFiltering.dll!vtkDataObject::Initialize() Line 400 C++ vtkFiltering.dll!vtkDataSet::Initialize() Line 58 C++ vtkFiltering.dll!vtkImageData::Initialize() Line 123 C++ vtkFiltering.dll!vtkImageData::PrepareForNewData() Line 215 C++ vtkFiltering.dll!vtkDemandDrivenPipeline::ExecuteDataStart(vtkInformation * request=0x0000000017f3a180, vtkInformationVector * * inInfo=0x000000000dc2dc90, vtkInformationVector * outputs=0x000000000db6d1e0) Line 543 C++ vtkFiltering.dll!vtkStreamingDemandDrivenPipeline::ExecuteDataStart(vtkInformation * request=0x0000000017f3a180, vtkInformationVector * * inInfoVec=0x000000000dc2dc90, vtkInformationVector * outInfoVec=0x000000000db6d1e0) Line 1059 C++ vtkFiltering.dll!vtkDemandDrivenPipeline::ExecuteData(vtkInformation * request=0x0000000017f3a180, vtkInformationVector * * inInfo=0x000000000dc2dc90, vtkInformationVector * outInfo=0x000000000db6d1e0) Line 507 C++ vtkFiltering.dll!vtkDemandDrivenPipeline::ProcessRequest(vtkInformation * request=0x0000000017f3a180, vtkInformationVector * * inInfoVec=0x000000000dc2dc90, vtkInformationVector * outInfoVec=0x000000000db6d1e0) Line 279 + 0x22 bytes C++ vtkFiltering.dll!vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation * request=0x0000000017f3a180, vtkInformationVector * * inInfoVec=0x000000000dc2dc90, vtkInformationVector * outInfoVec=0x000000000db6d1e0) Line 276 + 0x25 bytes C++ vtkFiltering.dll!vtkDemandDrivenPipeline::UpdateData(int outputPort=0) Line 450 C++ vtkFiltering.dll!vtkDataObject::UpdateData() Line 1064 C++ vtkRendering.dll!vtkTexture::IsTranslucent() Line 288 C++ vtkRendering.dll!vtkActor::GetIsOpaque() Line 128 + 0x21 bytes C++ vtkRendering.dll!vtkActor::RenderOpaqueGeometry(vtkViewport * vp=0x000000000d556370) Line 164 + 0xa bytes C++ vtkRendering.dll!vtkRenderer::UpdateGeometry() Line 630 + 0x41 bytes C++ vtkRendering.dll!vtkOpenGLRenderer::DeviceRender() Line 250 C++ vtkRendering.dll!vtkRenderer::Render() Line 352 C++ vtkRendering.dll!vtkRendererCollection::Render() Line 53 C++ vtkRendering.dll!vtkRenderWindow::DoStereoRender() Line 722 C++ vtkRendering.dll!vtkRenderWindow::DoFDRender() Line 690 C++ vtkRendering.dll!vtkRenderWindow::DoAARender() Line 577 C++ vtkRendering.dll!vtkRenderWindow::Render() Line 390 C++ CTKVisualizationVTKWidgets.dll!ctkVTKAbstractView::forceRender() Line 219 C++ CTKVisualizationVTKWidgets.dll!ctkVTKAbstractView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=1, void * * _a=0x0000000000a6a920) Line 107 + 0xd bytes C++ CTKVisualizationVTKWidgets.dll!ctkVTKRenderView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=28, void * * _a=0x0000000000a6a920) Line 130 + 0x18 bytes C++ qMRMLWidgets.dll!qMRMLThreeDView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=28, void * * _a=0x0000000000a6a920) Line 78 + 0x19 bytes C++ QtCored4.dll!QMetaObject::metacall(QObject * object=0x000000000d54df60, QMetaObject::Call cl=InvokeMetaMethod, int idx=28, void * * argv=0x0000000000a6a920) Line 238 C++ QtCored4.dll!QMetaObject::activate(QObject * sender=0x000000000d5f12b0, const QMetaObject * m=0x0000000067401248, int local_signal_index=0, void * * argv=0x0000000000000000) Line 3278 + 0x49 bytes C++ QtCored4.dll!QTimer::timeout() Line 129 C++ QtCored4.dll!QTimer::timerEvent(QTimerEvent * e=0x0000000000a6b5b8) Line 273 C++ QtCored4.dll!QObject::event(QEvent * e=0x0000000000a6b5b8) Line 1182 C++ QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x000000000d5f12b0, QEvent * e=0x0000000000a6b5b8) Line 4462 + 0x15 bytes C++ QtGuid4.dll!QApplication::notify(QObject * receiver=0x000000000d5f12b0, QEvent * e=0x0000000000a6b5b8) Line 3862 + 0x1d bytes C++ QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x000000000d5f12b0, QEvent * event=0x0000000000a6b5b8) Line 731 + 0x26 bytes C++ QtCored4.dll!QCoreApplication::sendEvent(QObject * receiver=0x000000000d5f12b0, QEvent * event=0x0000000000a6b5b8) Line 215 + 0x50 bytes C++ QtCored4.dll!QEventDispatcherWin32::event(QEvent * e=0x0000000017f38610) Line 1141 C++ QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x00000000031c4390, QEvent * e=0x0000000017f38610) Line 4462 + 0x15 bytes C++ QtGuid4.dll!QApplication::notify(QObject * receiver=0x00000000031c4390, QEvent * e=0x0000000017f38610) Line 3862 + 0x1d bytes C++ QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x00000000031c4390, QEvent * event=0x0000000017f38610) Line 731 + 0x26 bytes C++ QtCored4.dll!QCoreApplication::sendEvent(QObject * receiver=0x00000000031c4390, QEvent * event=0x0000000017f38610) Line 215 + 0x50 bytes C++ QtCored4.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x0000000000000000, int event_type=0, QThreadData * data=0x00000000031b32f0) Line 1372 + 0xf bytes C++ QtCored4.dll!qt_internal_proc(HWND__ * hwnd=0x00000000000a08a8, unsigned int message=1025, unsigned __int64 wp=0, __int64 lp=0) Line 499 C++ user32.dll!0000000076d19bd1() [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll] user32.dll!0000000076d198da() QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000a6f670) Line 813 C++ QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000a6f6bc) Line 1170 + 0x27 bytes C++ QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000a6f728) Line 150 C++ QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000a6f7b0) Line 201 + 0x53 bytes C++ QtCored4.dll!QCoreApplication::exec() Line 1008 + 0x23 bytes C++ QtGuid4.dll!QApplication::exec() Line 3737 C++ SlicerQT-real.exe!`anonymous namespace'::slicerQtMain(int argc=1, char * * argv=0x00000000031c16d0) Line 307 + 0x6 bytes C++ SlicerQT-real.exe!main(int argc=1, char * * argv=0x00000000031c16d0) Line 340 C++ SlicerQT-real.exe!__tmainCRTStartup() Line 582 + 0x19 bytes C SlicerQT-real.exe!mainCRTStartup() Line 399 C kernel32.dll!000000007702652d() ntdll.dll!000000007715c521() |
|
(0003829) pieper (administrator) 2012-03-09 17:01 |
After further consideration we found that we could avoid the issue of updating the props during rendering can be bypassed by checking if the vtkRenderer has a render in-process. Nicole will do some more testing to confirm that this fixes the problem. void vtkMRMLModelDisplayableManager::UpdateFromMRML() { if ( this->GetInteractor() && this->GetInteractor()->GetRenderWindow() && this->GetInteractor()->GetRenderWindow()->CheckInRenderStatus()) { vtkErrorMacro("skipping update during render"); return; } this->UpdateClipSlicesFromMRML(); this->RemoveModelProps(); this->UpdateModelHierarchies(); this->UpdateModelsFromMRML(); this->SetUpdateFromMRMLRequested(0); } |
|
(0003830) finetjul (administrator) 2012-03-09 17:06 |
Sounds good. More long term solution would be to never throw away all the vtk actors and recreate them everytime 1 model is just modified. |
|
(0003831) nicole (administrator) 2012-03-09 17:21 |
Julien: Definitely! There was a huge slow down with that many models in the scene. Svn 19554 should fix the crash for now at least. The odd behaviour of the tree view when selecting hierarchy nodes and adjusting display properties needs to be looked into next. I'll look at it on Monday and see if I can track down what's happening. |
|
(0005662) nicole (administrator) 2012-08-21 17:20 |
The crash isn't happening any more, will resolve Models module tree selection issues in related bug. |
| Mantis 1.1.4[^] Copyright © 2000 - 2008 Mantis Group |