View Issue Details

IDProjectCategoryView StatusLast Update
0004288Slicer4Core: Segmentationpublic2018-03-02 11:02
ReporterlassoanAssigned Topinter 
PrioritynormalSeverityminorReproducibilitysometimes
Status closedResolutionfixed 
Product Version 
Target VersionFixed in VersionSlicer 4.8.1 
Summary0004288: Slicer crashes during application exit if a Segment Editor effect is active
Description

When using the SegmentEditor and then closing Slicer sometimes Slicer crashes during shutdown.

Process: Slicer [29728]
Path: /Users/USER/*/Slicer.app/Contents/MacOS/./Slicer
Identifier: ???
Version: ??? (4.5.0-2016-10-06)
Code Type: X86-64 (Native)
Parent Process: Slicer [29726]
Responsible: Terminal [252]
User ID: 501

Date/Time: 2016-10-26 02:34:05.508 -0400
OS Version: Mac OS X 10.11.6 (15G1004)
Report Version: 11
Anonymous UUID: 4F9C60FF-BF7A-1ADB-4723-316763B05EA4

Sleep/Wake UUID: 54C2D665-5A64-4FB9-A4FF-BB197B57B62B

Time Awake Since Boot: 27000 seconds
Time Since Wake: 15000 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028

VM Regions Near 0x28:
-->
__TEXT 0000000104d21000-0000000104d61000 [ 256K] r-x/rwx SM=COW /Users/USER/Documents/*/Slicer.app/Contents/MacOS/Slicer

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 QtCore
0x00000001182e1c10 QObject::metaObject() const + 8
1 QtCore
0x00000001182d0688 QMetaObject::cast(QObject) const + 28
2 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065412c qMRMLSliceWidget
qobject_cast<qMRMLSliceWidget>(QObject) + 44 (qobject.h:380)
3 libqSlicerSegmentationsEditorEffects.dylib
0x0000000130654000 qSlicerSegmentEditorAbstractEffect::renderWindow(qMRMLWidget) + 48 (qSlicerSegmentEditorAbstractEffect.cxx:1007)
4 libqSlicerSegmentationsEditorEffects.dylib
0x0000000130651945 qSlicerSegmentEditorAbstractEffect::renderer(qMRMLWidget
) + 21 (qSlicerSegmentEditorAbstractEffect.cxx:1025)
5 libqSlicerSegmentationsEditorEffects.dylib
0x0000000130651bfa qSlicerSegmentEditorAbstractEffect::removeActor2D(qMRMLWidget, vtkActor2D) + 42 (qSlicerSegmentEditorAbstractEffect.cxx:589)
6 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065bb9b qSlicerSegmentEditorPaintEffectPrivate::clearBrushPipelines() + 507 (qSlicerSegmentEditorPaintEffect.cxx:696)
7 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065b576 qSlicerSegmentEditorPaintEffectPrivate::~qSlicerSegmentEditorPaintEffectPrivate() + 38 (qSlicerSegmentEditorPaintEffect.cxx:266)
8 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065bd45 qSlicerSegmentEditorPaintEffectPrivate::~qSlicerSegmentEditorPaintEffectPrivate() + 21 (qSlicerSegmentEditorPaintEffect.cxx:267)
9 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065bd68 qSlicerSegmentEditorPaintEffectPrivate::~qSlicerSegmentEditorPaintEffectPrivate() + 24 (qSlicerSegmentEditorPaintEffect.cxx:265)
10 libqSlicerSegmentationsEditorEffects.dylib
0x0000000130655a3b QScopedPointerDeleter<qSlicerSegmentEditorAbstractLabelEffectPrivate>::cleanup(qSlicerSegmentEditorAbstractLabelEffectPrivate) + 43 (qscopedpointer.h:63)
11 libqSlicerSegmentationsEditorEffects.dylib
0x00000001306559f7 QScopedPointer<qSlicerSegmentEditorAbstractLabelEffectPrivate, QScopedPointerDeleter<qSlicerSegmentEditorAbstractLabelEffectPrivate> >::~QScopedPointer() + 39 (qscopedpointer.h:101)
12 libqSlicerSegmentationsEditorEffects.dylib
0x000000013064c625 QScopedPointer<qSlicerSegmentEditorAbstractLabelEffectPrivate, QScopedPointerDeleter<qSlicerSegmentEditorAbstractLabelEffectPrivate> >::~QScopedPointer() + 21 (qscopedpointer.h:102)
13 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065fd7a qSlicerSegmentEditorPaintEffect::~qSlicerSegmentEditorPaintEffect() + 42 (qSlicerSegmentEditorPaintEffect.cxx:728)
14 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065fde5 qSlicerSegmentEditorPaintEffect::~qSlicerSegmentEditorPaintEffect() + 21 (qSlicerSegmentEditorPaintEffect.cxx:728)
15 libqSlicerSegmentationsEditorEffects.dylib
0x000000013065fe08 qSlicerSegmentEditorPaintEffect::~qSlicerSegmentEditorPaintEffect() + 24 (qSlicerSegmentEditorPaintEffect.cxx:727)
16 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304b7cb7 qMRMLSegmentEditorWidgetPrivate::~qMRMLSegmentEditorWidgetPrivate() + 263 (qMRMLSegmentEditorWidget.cxx:250)
17 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304b8415 qMRMLSegmentEditorWidgetPrivate::~qMRMLSegmentEditorWidgetPrivate() + 21 (qMRMLSegmentEditorWidget.cxx:278)
18 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304d48b7 QScopedPointerDeleter<qMRMLSegmentEditorWidgetPrivate>::cleanup(qMRMLSegmentEditorWidgetPrivate
) + 39 (qscopedpointer.h:62)
19 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304d4877 QScopedPointer<qMRMLSegmentEditorWidgetPrivate, QScopedPointerDeleter<qMRMLSegmentEditorWidgetPrivate> >::~QScopedPointer() + 39 (qscopedpointer.h:101)
20 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304c5675 QScopedPointer<qMRMLSegmentEditorWidgetPrivate, QScopedPointerDeleter<qMRMLSegmentEditorWidgetPrivate> >::~QScopedPointer() + 21 (qscopedpointer.h:102)
21 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304c56e8 qMRMLSegmentEditorWidget::~qMRMLSegmentEditorWidget() + 56 (qMRMLSegmentEditorWidget.cxx:867)
22 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304c5785 qMRMLSegmentEditorWidget::~qMRMLSegmentEditorWidget() + 21 (qMRMLSegmentEditorWidget.cxx:867)
23 libqSlicerSegmentationsModuleWidgets.dylib
0x00000001304c57c8 qMRMLSegmentEditorWidget::~qMRMLSegmentEditorWidget() + 24 (qMRMLSegmentEditorWidget.cxx:866)
24 QtCore
0x00000001182dc73f QObjectPrivate::deleteChildren() + 93
25 QtGui
0x0000000117586952 QWidget::~QWidget() + 862
26 libPythonQt.dylib
0x000000010922c9c3 PythonQtShell_QGroupBox::~PythonQtShell_QGroupBox() + 131 (com_trolltech_qt_gui3.cpp:7959)
27 libPythonQt.dylib
0x000000010922ca05 PythonQtShell_QGroupBox::~PythonQtShell_QGroupBox() + 21 (com_trolltech_qt_gui3.cpp:7959)
28 libPythonQt.dylib
0x000000010922ca48 PythonQtShell_QGroupBox::~PythonQtShell_QGroupBox() + 24 (com_trolltech_qt_gui3.cpp:7956)
29 QtCore
0x00000001182dc73f QObjectPrivate::deleteChildren() + 93
30 QtGui
0x0000000117586952 QWidget::~QWidget() + 862
31 libqSlicerBaseQTGUI.dylib
0x00000001051d6bf3 qSlicerWidget::~qSlicerWidget() + 115 (qSlicerWidget.cxx:45)
32 libqSlicerBaseQTGUI.dylib
0x000000010515e0e9 qSlicerAbstractModuleWidget::~qSlicerAbstractModuleWidget() + 233 (qSlicerAbstractModuleWidget.cxx:51)
33 libqSlicerBaseQTGUI.dylib
0x00000001051f39d9 qSlicerScriptedLoadableModuleWidget::~qSlicerScriptedLoadableModuleWidget() + 121 (qSlicerScriptedLoadableModuleWidget.cxx:89)
34 libqSlicerBaseQTGUI.dylib
0x00000001051f3a3f qSlicerScriptedLoadableModuleWidget::~qSlicerScriptedLoadableModuleWidget() + 31 (qSlicerScriptedLoadableModuleWidget.cxx:88)
35 libqSlicerBaseQTGUI.dylib
0x00000001051f3b28 qSlicerScriptedLoadableModuleWidget::~qSlicerScriptedLoadableModuleWidget() + 24 (qSlicerScriptedLoadableModuleWidget.cxx:88)
36 libqSlicerBaseQTGUI.dylib
0x00000001051f3b99 non-virtual thunk to qSlicerScriptedLoadableModuleWidget::~qSlicerScriptedLoadableModuleWidget() + 25 (qSlicerScriptedLoadableModuleWidget.cxx:87)
37 libqSlicerBaseQTCore.dylib
0x00000001079ac483 qSlicerAbstractCoreModulePrivate::~qSlicerAbstractCoreModulePrivate() + 83 (qSlicerAbstractCoreModule.cxx:76)
38 libqSlicerBaseQTCore.dylib
0x00000001079ac815 qSlicerAbstractCoreModulePrivate::~qSlicerAbstractCoreModulePrivate() + 21 (qSlicerAbstractCoreModule.cxx:80)
39 libqSlicerBaseQTCore.dylib
0x00000001079ac838 qSlicerAbstractCoreModulePrivate::~qSlicerAbstractCoreModulePrivate() + 24 (qSlicerAbstractCoreModule.cxx:72)
40 libqSlicerBaseQTCore.dylib
0x00000001079ae80b QScopedPointerDeleter<qSlicerCoreApplicationPrivate>::cleanup(qSlicerCoreApplicationPrivate) + 43 (qscopedpointer.h:63)
41 libqSlicerBaseQTCore.dylib
0x00000001079ae7c7 QScopedPointer<qSlicerCoreApplicationPrivate, QScopedPointerDeleter<qSlicerCoreApplicationPrivate> >::~QScopedPointer() + 39 (qscopedpointer.h:101)
42 libqSlicerBaseQTCore.dylib
0x00000001079aca05 QScopedPointer<qSlicerCoreApplicationPrivate, QScopedPointerDeleter<qSlicerCoreApplicationPrivate> >::~QScopedPointer() + 21 (qscopedpointer.h:102)
43 libqSlicerBaseQTCore.dylib
0x00000001079ac99a qSlicerAbstractCoreModule::~qSlicerAbstractCoreModule() + 42 (qSlicerAbstractCoreModule.cxx:95)
44 libqSlicerBaseQTGUI.dylib
0x000000010515cdab qSlicerAbstractModule::~qSlicerAbstractModule() + 59 (qSlicerAbstractModule.cxx:50)
45 libqSlicerBaseQTGUI.dylib
0x000000010518123b qSlicerLoadableModule::~qSlicerLoadableModule() + 59 (qSlicerLoadableModule.cxx:58)
46 libqSlicerBaseQTGUI.dylib
0x00000001051f59cb qSlicerScriptedLoadableModule::~qSlicerScriptedLoadableModule() + 59 (qSlicerScriptedLoadableModule.cxx:99)
47 libqSlicerBaseQTGUI.dylib
0x00000001051f5a25 qSlicerScriptedLoadableModule::~qSlicerScriptedLoadableModule() + 21 (qSlicerScriptedLoadableModule.cxx:99)
48 libqSlicerBaseQTGUI.dylib
0x00000001051f5a48 qSlicerScriptedLoadableModule::~qSlicerScriptedLoadableModule() + 24 (qSlicerScriptedLoadableModule.cxx:98)
49 libqSlicerBaseQTGUI.dylib
0x00000001051eea37 ctkAbstractFactoryItem<qSlicerAbstractCoreModule>::uninstantiate() + 71 (ctkAbstractFactory.tpp:166)
50 libqSlicerBaseQTCore.dylib
0x00000001079b3efe ctkAbstractFactory<qSlicerAbstractCoreModule>::uninstantiate(QString const&) + 62 (ctkAbstractFactory.tpp:265)
51 libqSlicerBaseQTCore.dylib
0x00000001079b3e56 qSlicerAbstractModuleFactoryManager::uninstantiateModule(QString const&) + 342 (qSlicerAbstractModuleFactoryManager.cxx:483)
52 libqSlicerBaseQTCore.dylib
0x00000001079e213e qSlicerModuleFactoryManager::uninstantiateModule(QString const&) + 94 (qSlicerModuleFactoryManager.cxx:261)
53 libqSlicerBaseQTCore.dylib
0x00000001079e200a qSlicerModuleFactoryManager::unloadModule(QString const&) + 138 (qSlicerModuleFactoryManager.cxx:248)
54 libqSlicerBaseQTCore.dylib
0x00000001079e0dc4 qSlicerModuleFactoryManager::unloadModules() + 644 (qSlicerModuleFactoryManager.cxx:219)
55 libqSlicerBaseQTCore.dylib
0x00000001079bccca qSlicerCoreApplicationPrivate::~qSlicerCoreApplicationPrivate() + 74 (qSlicerCoreApplication.cxx:150)
56 libqSlicerBaseQTGUI.dylib
0x0000000105160922 qSlicerApplicationPrivate::~qSlicerApplicationPrivate() + 274 (qSlicerApplication.cxx:167)
57 libqSlicerBaseQTGUI.dylib
0x00000001051609e5 qSlicerApplicationPrivate::~qSlicerApplicationPrivate() + 21 (qSlicerApplication.cxx:167)
58 libqSlicerBaseQTGUI.dylib
0x0000000105160a08 qSlicerApplicationPrivate::~qSlicerApplicationPrivate() + 24 (qSlicerApplication.cxx:156)
59 libqSlicerBaseQTCore.dylib
0x00000001079ae80b QScopedPointerDeleter<qSlicerCoreApplicationPrivate>::cleanup(qSlicerCoreApplicationPrivate
) + 43 (qscopedpointer.h:63)
60 libqSlicerBaseQTCore.dylib
0x00000001079ae7c7 QScopedPointer<qSlicerCoreApplicationPrivate, QScopedPointerDeleter<qSlicerCoreApplicationPrivate> >::~QScopedPointer() + 39 (qscopedpointer.h:101)
61 libqSlicerBaseQTCore.dylib
0x00000001079aca05 QScopedPointer<qSlicerCoreApplicationPrivate, QScopedPointerDeleter<qSlicerCoreApplicationPrivate> >::~QScopedPointer() + 21 (qscopedpointer.h:102)
62 libqSlicerBaseQTCore.dylib
0x00000001079c319a qSlicerCoreApplication::~qSlicerCoreApplication() + 42 (qSlicerCoreApplication.cxx:717)
63 libqSlicerBaseQTGUI.dylib
0x000000010516300b qSlicerApplication::~qSlicerApplication() + 187 (qSlicerApplication.cxx:370)
64 libqSlicerBaseQTGUI.dylib
0x0000000105163075 qSlicerApplication::~qSlicerApplication() + 21 (qSlicerApplication.cxx:370)
65
0x0000000104d5d654 (anonymous namespace)::SlicerAppMain(int, char**) + 6996 (Main.cxx:244)
66
0x0000000104d5baf2 main + 34 (Main.cxx:277)
67 libdyld.dylib
0x00007fff8e05f5ad start + 1

TagsNo tags attached.

Activities

lassoan

lassoan

2016-10-26 09:55

developer   ~0014229

This is due to the active effect keeping a pointer to qt widgets (slice or 3D view widgets) that are destroyed during application exit. The fix should be something like not trying to access any qt widgets in segment editor effect destructors.

lassoan

lassoan

2017-04-30 15:48

developer   ~0014470

I think this issue has been resolved in recent nightly builds, please reopen if this is still a problem.

Issue History

Date Modified Username Field Change
2016-10-26 09:52 lassoan New Issue
2016-10-26 09:52 lassoan Status new => assigned
2016-10-26 09:52 lassoan Assigned To => pinter
2016-10-26 09:55 lassoan Note Added: 0014229
2017-04-30 15:48 lassoan Note Added: 0014470
2017-04-30 15:48 lassoan Status assigned => resolved
2017-04-30 15:48 lassoan Fixed in Version => Slicer 4.8.1
2017-04-30 15:48 lassoan Resolution open => fixed
2018-03-02 11:02 jcfr Status resolved => closed