View Issue Details

IDProjectCategoryView StatusLast Update
0003143Slicer4Core: GUIpublic2017-06-07 23:27
Reporterpieper Assigned Tojohan.andruejol  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.4.0 
Summary0003143: qMRMLSliderWidget and qMRMLCoordinatesWidget crash on selection node
Description

Several tests now fail with this kind of stack trace when run in debug mode due to assert:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff93537ce2 pthread_kill + 10
1 libsystem_c.dylib 0x00007fff94c307d2 pthread_kill + 95
2 libsystem_c.dylib 0x00007fff94c21a7a abort + 143
3 QtCore 0x0000000114ebd9c5 qt_message_output(QtMsgType, char const*) + 117
4 QtCore 0x0000000114ebdba7 _ZL10qt_message9QtMsgTypePKcP13
va_list_tag + 183
5 QtCore 0x0000000114ebdd6a qFatal(char const, ...) + 170
6 libqMRMLWidgets.dylib 0x0000000109e6cad8 qMRMLCoordinatesWidgetPrivate::setAndObserveSelectionNode() + 146 (qMRMLCoordinatesWidget.cxx:77)
7 libqMRMLWidgets.dylib 0x0000000109e6cc02 qMRMLCoordinatesWidget::setMRMLScene(vtkMRMLScene
) + 104 (qMRMLCoordinatesWidget.cxx:140)
8 libqMRMLWidgets.dylib 0x0000000109f926dd qMRMLCoordinatesWidget::qt_metacall(QMetaObject::Call, int, void) + 279 (moc_qMRMLCoordinatesWidget.cxx:118)
9 QtCore 0x0000000114f13e26 QMetaObject::activate(QObject, QMetaObject const, int, void
) + 710
10 libqMRMLWidgets.dylib 0x0000000109fa9a64 qMRMLWidget::mrmlSceneChanged(vtkMRMLScene) + 84 (moc_qMRMLWidget.cxx:89)
11 libqMRMLWidgets.dylib 0x0000000109f8371c qMRMLWidget::setMRMLScene(vtkMRMLScene
) + 116 (qMRMLWidget.cxx:60)
12 libqMRMLWidgets.dylib 0x0000000109fa9b36 qMRMLWidget::qt_metacall(QMetaObject::Call, int, void) + 180 (moc_qMRMLWidget.cxx:80)
13 libqMRMLWidgets.dylib 0x0000000109fa84ec qMRMLVolumeInfoWidget::qt_metacall(QMetaObject::Call, int, void
) + 68 (moc_qMRMLVolumeInfoWidget.cxx:92)
14 QtCore 0x0000000114f13e26 QMetaObject::activate(QObject, QMetaObject const, int, void) + 710
15 libqSlicerBaseQTGUI.dylib 0x0000000109b9ca6c qSlicerWidget::mrmlSceneChanged(vtkMRMLScene) + 84 (moc_qSlicerWidget.cxx:91)
16 libqSlicerBaseQTGUI.dylib 0x0000000109b54a20 qSlicerWidget::setMRMLScene(vtkMRMLScene
) + 130 (qSlicerWidget.cxx:58)
17 libqSlicerBaseQTGUI.dylib 0x0000000109b5497f virtual thunk to qSlicerWidget::setMRMLScene(vtkMRMLScene) + 63
18 libqSlicerBaseQTCore.dylib 0x000000010aaa1155 qSlicerAbstractCoreModule::setMRMLScene(vtkMRMLScene
) + 319 (qSlicerAbstractCoreModule.cxx:162)
19 qSlicerVolumesModuleGenericCxxTests 0x00000001095c38a3 qSlicerVolumesModuleGenericTest(int, char
) + 6835
20 qSlicerVolumesModuleGenericCxxTests 0x00000001095c1c22 main + 914
21 qSlicerVolumesModuleGenericCxxTests 0x00000001095c1694 start + 52

and

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff93537ce2 pthread_kill + 10
1 libsystem_c.dylib 0x00007fff94c307d2 pthread_kill + 95
2 libsystem_c.dylib 0x00007fff94c21a7a abort + 143
3 QtCore 0x0000000117f209c5 qt_message_output(QtMsgType, char const*) + 117
4 QtCore 0x0000000117f20ba7 _ZL10qt_message9QtMsgTypePKcP13
va_list_tag + 183
5 QtCore 0x0000000117f20d6a qFatal(char const, ...) + 170
6 libqMRMLWidgets.dylib 0x0000000103af9854 qMRMLSliderWidgetPrivate::setAndObserveSelectionNode() + 146 (qMRMLSliderWidget.cxx:74)
7 libqMRMLWidgets.dylib 0x0000000103af997e qMRMLSliderWidget::setMRMLScene(vtkMRMLScene
) + 104 (qMRMLSliderWidget.cxx:140)
8 libqMRMLWidgets.dylib 0x0000000103b59e87 qMRMLSliderWidget::qt_metacall(QMetaObject::Call, int, void) + 223 (moc_qMRMLSliderWidget.cxx:106)
9 QtCore 0x0000000117f76e26 QMetaObject::activate(QObject, QMetaObject const, int, void
) + 710
10 libqMRMLWidgets.dylib 0x0000000103b60a64 qMRMLWidget::mrmlSceneChanged(vtkMRMLScene) + 84 (moc_qMRMLWidget.cxx:89)
11 libqMRMLWidgets.dylib 0x0000000103b3a71c qMRMLWidget::setMRMLScene(vtkMRMLScene
) + 116 (qMRMLWidget.cxx:60)
12 libqMRMLWidgets.dylib 0x0000000103ac8f68 qMRMLSliceControllerWidget::setMRMLScene(vtkMRMLScene*) + 372 (qMRMLSliceControllerWidget.cxx:1256)
13 libqMRMLWidgets.dylib 0x0000000103b56e42 qMRMLSliceControllerWidget::qt_metacall(QMetaObject::Call, int, void) + 234 (moc_qMRMLSliceControllerWidget.cxx:197)
14 QtCore 0x0000000117f76e26 QMetaObject::activate(QObject, QMetaObject const, int, void
) + 710
15 libqMRMLWidgets.dylib 0x0000000103b60a64 qMRMLWidget::mrmlSceneChanged(vtkMRMLScene) + 84 (moc_qMRMLWidget.cxx:89)
16 libqMRMLWidgets.dylib 0x0000000103b3a71c qMRMLWidget::setMRMLScene(vtkMRMLScene
) + 116 (qMRMLWidget.cxx:60)
17 libqMRMLWidgets.dylib 0x0000000103af65f3 qMRMLSliceWidget::setMRMLScene(vtkMRMLScene) + 65 (qMRMLSliceWidget.cxx:111)
18 libqMRMLWidgets.dylib 0x0000000103a4f438 qMRMLLayoutManagerPrivate::createSliceWidget(vtkMRMLSliceNode
) + 1082 (qMRMLLayoutManager.cxx:268)
19 libqMRMLWidgets.dylib 0x0000000103a5082e qMRMLLayoutManagerPrivate::updateWidgetsFromViewNodes() + 1220 (qMRMLLayoutManager.cxx:583)
20 libqMRMLWidgets.dylib 0x0000000103a517ea qMRMLLayoutManager::onViewportChanged() + 54 (qMRMLLayoutManager.cxx:758)
21 libCTKWidgets.0.1.dylib 0x0000000104697e82 ctkLayoutManager::setViewport(QWidget*) + 486 (ctkLayoutManager.cpp:262)
22 qMRMLWidgetsCxxTests 0x00000001038e41b6 qMRMLLayoutManagerTest1(int, char**) + 934 (qMRMLLayoutManagerTest1.cxx:52)
23 qMRMLWidgetsCxxTests 0x00000001038d3d76 main + 902 (qMRMLWidgetsCppTests.cxx:576)
24 qMRMLWidgetsCxxTests 0x00000001038d37f4 start + 52

Steps To Reproduce

Build slicer in debug mode and run tests.

TagsNo tags attached.

Activities

johan.andruejol

johan.andruejol

2013-06-05 06:56

manager   ~0008710

Fixed in r22078.
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22078

jcfr

jcfr

2014-03-06 05:15

administrator   ~0011083

Closing resolved issues that have not been updated in more than 3 months

Related Changesets

Slicer: 2145-support-for-installing-extension-from-file 9ead17b2

2013-06-04 17:51:27

johan.andruejol

Details Diff
BUG: Delete unnecessary Q_ASSERT in unit aware widgets

These asserts were added with the slicer normal context of execution in
mind. In this case a scene should have a selection node at all time.
However, in tests that is not the case. Since the code is already
acounting for the fact that there might not be a selection node
(see updateWidgetFromUnitNode()), the asserts can just be removed.

See Issue 0003143

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22078 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Widgets/qMRMLCoordinatesWidget.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLSliderWidget.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLSpinBox.cxx Diff File

Issue History

Date Modified Username Field Change
2013-06-04 06:10 pieper New Issue
2013-06-04 06:10 pieper Status new => assigned
2013-06-04 06:10 pieper Assigned To => johan.andruejol
2013-06-05 06:56 johan.andruejol Note Added: 0008710
2013-06-05 06:56 johan.andruejol Status assigned => resolved
2013-06-05 06:56 johan.andruejol Resolution open => fixed
2014-03-06 05:15 jcfr Note Added: 0011083
2014-03-06 05:16 jcfr Status resolved => closed
2014-03-06 05:55 jcfr Fixed in Version => Slicer 4.4.0
2017-06-07 23:27 johan.andruejol Changeset attached => Slicer 2145-support-for-installing-extension-from-file 9ead17b2