View Issue Details

IDProjectCategoryView StatusLast Update
0003141Slicer4Core: MRMLpublic2014-03-06 05:55
Reporterpieper Assigned Toalexy  
PriorityhighSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.4.0 
Summary0003141: crash when saving scene (null lookup table in color table storage node)
Description

The SlicerMRB self-test fails

Steps To Reproduce

1) Start slicer
2) go to Testing->SelfTests
3) pick SlicerMRBTest

it will crash

Additional Information

The vtkMRMLColorTableStorageNode has a null lookup table. This is new behavior since this test used to pass.

(lldb) bt

  • thread 0000001: tid = 0x1c03, 0x000000010fddf11c libvtkCommonPythonD.5.10.dylibvtkLookupTable::GetNumberOfTableValues(this=0x0000000000000000) + 12 at vtkLookupTable.h:159, stop reason = EXC_BAD_ACCESS (code=1, address=0x78) frame #0: 0x000000010fddf11c libvtkCommonPythonD.5.10.dylibvtkLookupTable::GetNumberOfTableValues(this=0x0000000000000000) + 12 at vtkLookupTable.h:159
    frame 0000001: 0x000000011086767b libMRMLCore.dylibvtkMRMLColorTableStorageNode::WriteDataInternal(this=0x00007fa27c1f5290, refNode=0x00007fa278bf09e0) + 2859 at vtkMRMLColorTableStorageNode.cxx:257 frame 0000002: 0x0000000110a3fb62 libMRMLCore.dylibvtkMRMLStorageNode::WriteData(this=0x00007fa27c1f5290, refNode=0x00007fa278bf09e0) + 642 at vtkMRMLStorageNode.cxx:1121
    frame 0000003: 0x000000010cad02f7 libMRMLLogic.dylibvtkMRMLApplicationLogic::SaveSceneToSlicerDataBundleDirectory(this=0x00007fa2760638c0, sdbDir=0x00000001458429ac, screenShot=0x0000000000000000) + 16759 at vtkMRMLApplicationLogic.cxx:620 frame 0000004: 0x000000012ab9545d libMRMLLogicPythonD.dylibPyvtkMRMLApplicationLogic_SaveSceneToSlicerDataBundleDirectory(self=0x0000000145869d60, args=0x0000000145878fc8) + 253 at vtkMRMLApplicationLogicPython.cxx:593
    frame 0000005: 0x00000001105dd4e7 libpython2.7.dylibPyEval_EvalFrameEx + 9895 frame 0000006: 0x00000001105e2352 libpython2.7.dylibfast_function + 178
    frame 0000007: 0x00000001105dd588 libpython2.7.dylibPyEval_EvalFrameEx + 10056 frame 0000008: 0x00000001105e2352 libpython2.7.dylibfast_function + 178
    frame 0000009: 0x00000001105dd588 libpython2.7.dylibPyEval_EvalFrameEx + 10056 frame 0000010: 0x00000001105e2352 libpython2.7.dylibfast_function + 178
    frame 0000011: 0x00000001105dd588 libpython2.7.dylibPyEval_EvalFrameEx + 10056 frame 0000012: 0x00000001105dadf6 libpython2.7.dylibPyEval_EvalCodeEx + 2006
    frame 0000013: 0x00000001105e23bd libpython2.7.dylibfast_function + 285 frame 0000014: 0x00000001105dd588 libpython2.7.dylibPyEval_EvalFrameEx + 10056
    frame 0000015: 0x00000001105dadf6 libpython2.7.dylibPyEval_EvalCodeEx + 2006 frame 0000016: 0x000000011057e1ab libpython2.7.dylibfunction_call + 347
    frame 0000017: 0x0000000110557501 libpython2.7.dylibPyObject_Call + 97 frame 0000018: 0x00000001105630e6 libpython2.7.dylibinstancemethod_call + 502
    frame 0000019: 0x0000000110557501 libpython2.7.dylibPyObject_Call + 97 frame 0000020: 0x00000001105e1b68 libpython2.7.dylibPyEval_CallObjectWithKeywords + 168
    frame 0000021: 0x000000010d80bc92 libPythonQt.dylibPythonQtSignalTarget::call(callable=0x000000014578b460, methodInfos=0x00007fa277281ad0, arguments=0x00007fff56fea5d0, skipFirstArgumentOfMethodInfo=false) + 594 at PythonQtSignalReceiver.cpp:124 frame 0000022: 0x000000010d80b9e9 libPythonQt.dylibPythonQtSignalTarget::call(this=0x00007fa27aeb8c90, arguments=0x00007fff56fea5d0) const + 73 at PythonQtSignalReceiver.cpp:55
    frame 0000023: 0x000000010d80c765 libPythonQt.dylibPythonQtSignalReceiver::qt_metacall(this=0x00007fa278a990d0, c=InvokeMetaMethod, id=4, arguments=0x00007fff56fea5d0) + 261 at PythonQtSignalReceiver.cpp:259 frame 0000024: 0x00000001149581f6 QtCoreQMetaObject::activate(QObject, QMetaObject const, int, void*) + 2150
    frame 0000025: 0x000000011495e4d9 QtCoreQSignalMapper::mapped(QString const&) + 41 frame 0000026: 0x000000011495ed2f QtCoreQSignalMapper::map(QObject
    ) + 159
    frame 0000027: 0x0000000114957fae QtCoreQMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 1566 frame 0000028: 0x00000001141d14f1 QtGuiQAbstractButton::clicked(bool) + 49
    frame 0000029: 0x0000000113ef4db0 QtGuiQAbstractButtonPrivate::emitClicked() + 64 frame 0000030: 0x0000000113ef5fea QtGuiQAbstractButtonPrivate::click() + 154
    frame 0000031: 0x0000000113ef6241 QtGuiQAbstractButton::mouseReleaseEvent(QMouseEvent*) + 113 frame 0000032: 0x000000010dacc560 libPythonQt.dylibPythonQtShell_QPushButton::mouseReleaseEvent(this=0x00007fa27a9398b0, e=0x00007fff56feb180) + 416 at com_trolltech_qt_gui6.cpp:10329
    frame 0000033: 0x0000000113ba9761 QtGuiQWidget::event(QEvent*) + 2369 frame 0000034: 0x0000000113ef5038 QtGuiQAbstractButton::event(QEvent) + 40
    frame 0000035: 0x0000000113f90bb5 QtGui`QPushButton::event(QEvent
    ) + 69
    frame 0000036: 0x000000010dac9f6e libPythonQt.dylibPythonQtShell_QPushButton::event(this=0x00007fa27a9398b0, e=0x00007fff56feb180) + 574 at com_trolltech_qt_gui6.cpp:9957 frame 0000037: 0x0000000113b5194d QtGuiQApplicationPrivate::notify_helper(QObject, QEvent) + 189
    frame 0000038: 0x0000000113b584f0 QtGuiQApplication::notify(QObject*, QEvent*) + 2384 frame 0000039: 0x000000011493fb9c QtCoreQCoreApplication::notifyInternal(QObject, QEvent) + 124
    frame 0000040: 0x0000000113b55f3d QtGuiQApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 333 frame 0000041: 0x0000000113b059eb QtGuiqt_mac_handleMouseEvent(NSEvent, QEvent::Type, Qt::MouseButton, QWidget, bool) + 779
    frame 0000042: 0x00007fff95488606 AppKit-[NSWindow sendEvent:] + 7053 frame 0000043: 0x0000000113afaa77 QtGui-[QCocoaWindow sendEvent:] + 87
    frame 0000044: 0x00007fff95484674 AppKit-[NSApplication sendEvent:] + 5761 frame 0000045: 0x0000000113affb64 QtGui-[QNSApplication sendEvent:] + 84
    frame 0000046: 0x00007fff9539a24a AppKit-[NSApplication run] + 636 frame 0000047: 0x0000000113b0a9a0 QtGuiQEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1824
    frame 0000048: 0x000000011493eaa4 QtCoreQEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag>) + 68 frame 0000049: 0x000000011493ee54 QtCoreQEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 324
    frame 0000050: 0x000000011494153c QtCoreQCoreApplication::exec() + 188 frame 0000051: 0x0000000108c42846 SlicerSlicerAppMain(argc=1, argv=0x00007fff56febdd8) + 4150 at Main.cxx:191
    frame 0000052: 0x0000000108c41802 Slicermain(argc=1, argv=0x00007fff56febdd8) + 34 at Main.cxx:223 frame 0000053: 0x0000000108c417d4 Slicerstart + 52
TagsNo tags attached.

Relationships

related to 0002528 closedalexy Slicer crashes when LUT changed 

Activities

alexy

alexy

2013-06-04 07:15

developer   ~0008702

Added check for NULL LUT to prevent crash.
Rev: 22073

jcfr

jcfr

2014-03-06 05:15

administrator   ~0011080

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

Issue History

Date Modified Username Field Change
2013-06-03 11:10 pieper New Issue
2013-06-03 11:10 pieper Status new => assigned
2013-06-03 11:10 pieper Assigned To => alexy
2013-06-03 13:36 pieper Relationship added related to 0002528
2013-06-04 07:15 alexy Note Added: 0008702
2013-06-04 07:15 alexy Status assigned => resolved
2013-06-04 07:15 alexy Resolution open => fixed
2014-03-06 05:15 jcfr Note Added: 0011080
2014-03-06 05:16 jcfr Status resolved => closed
2014-03-06 05:55 jcfr Fixed in Version => Slicer 4.4.0