The statistics view crashes very frequently.
One situation is the following:
I load an image and create a mask with the Segmentation view.
I switch to the Statistics view, the uncheck the PointSet node.
I debugged it with valgrind, the stack trace is below. Since the execution is very slow in this way, I could see a message in red in the top of the view:
"Error: Unequal dimensions of"
The end of the message was not visible.
I use an MITK snapshot from Feb 7, its hash is:
9453c80968578bf62ab98c4c43a9ea065563a5ed
[273.920] get service ref org.mitk.PlanePositionManagerService for module Mitk = 1 refs
21926== Source and destination overlap in memcpy(0x42205038, 0x42205038, 36)
21926== at 0x4C2A1C4: memcpy (mc_replace_strmem.c:635)
21926== by 0x1846FC51: vnl_matrix_fixed<float, 3u, 3u>::operator=(vnl_matrix_fixed<float, 3u, 3u> const&) (vnl_matrix_fixed.h:174)
21926== by 0x1846EF55: itk::Matrix<float, 3u, 3u>::operator=(itk::Matrix<float, 3u, 3u> const&) (itkMatrix.h:202)
21926== by 0x1847405A: itk::MatrixOffsetTransformBase<float, 3u, 3u>::SetVarMatrix(itk::Matrix<float, 3u, 3u> const&) (itkMatrixOffsetTransformBase.h:411)
21926== by 0x184E9E88: mitk::ItkMatrixHack<itk::ScalableAffineTransform<float, 3u> >::MatrixChanged() (mitkItkMatrixHack.h:42)
21926== by 0x184E901C: void mitk::TransferVtkMatrixToItkTransform<itk::ScalableAffineTransform<float, 3u> >(vtkMatrix4x4 const*, itk::ScalableAffineTransform<float, 3u>*) (mitkMatrixConvert.h:43)
21926== by 0x184E370E: mitk::Geometry3D::TransferVtkToItkTransform() (mitkGeometry3D.cpp:121)
21926== by 0x184E500A: mitk::Geometry3D::ExecuteOperation(mitk::Operation*) (mitkGeometry3D.cpp:361)
21926== by 0x1856D014: mitk::SlicedGeometry3D::ExecuteOperation(mitk::Operation*) (mitkSlicedGeometry3D.cpp:915)
21926== by 0x18588393: mitk::TimeSlicedGeometry::ExecuteOperation(mitk::Operation*) (mitkTimeSlicedGeometry.cpp:410)
21926== by 0x1848DD0B: mitk::SliceNavigationController::ExecuteOperation(mitk::Operation*) (mitkSliceNavigationController.cpp:593)
21926== by 0x52FDEE23: QmitkSegmentationView::OnContourMarkerSelected(mitk::DataNode const*) (QmitkSegmentationView.cpp:874)
21926
[275.580] Creating StatisticsCalculator
#278.540# ERROR: Caught exception: deque::_M_range_check
[278.950] WorldToIndex:
[278.960] Intensity profile (t)
[278.970] Start: 0
[278.980] End: 1.84467e+19
21926== Invalid read of size 8
21926== at 0x2E4C2FE7: itk::Point<double, 3u>::operator=(itk::Point<double, 3u> const&) (itkPoint.txx:37)
21926== by 0x2E4C2033: itk::ContinuousIndex<double, 3u>::operator=(itk::ContinuousIndex<double, 3u> const&) (itkContinuousIndex.h:44)
21926== by 0x2E4C58F9: itk::PolyLineParametricPath<3u>::Evaluate(double const&) const (itkPolyLineParametricPath.txx:44)
21926== by 0x2E4BDA04: QmitkVtkLineProfileWidget::UpdateItemModelFromPath() (QmitkVtkLineProfileWidget.cpp:192)
21926== by 0x556CFA64: QmitkImageStatisticsView::UpdateStatistics() (QmitkImageStatisticsView.cpp:684)
21926== by 0x556D0343: QmitkImageStatisticsView::event(QEvent*) (QmitkImageStatisticsView.cpp:743)
21926== by 0x535A473: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.7.4)
21926== by 0x535F2E0: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.7.4)
21926== by 0x5FAAAFB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x5FAE51E: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x5FD5A72: ??? (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x8051A5C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.0)
21926== Address 0x0 is not stack'd, malloc'd or (recently) free'd
21926
21926
21926== Process terminating with default action of signal 11 (SIGSEGV)
21926== Access not within mapped region at address 0x0
21926== at 0x2E4C2FE7: itk::Point<double, 3u>::operator=(itk::Point<double, 3u> const&) (itkPoint.txx:37)
21926== by 0x2E4C2033: itk::ContinuousIndex<double, 3u>::operator=(itk::ContinuousIndex<double, 3u> const&) (itkContinuousIndex.h:44)
21926== by 0x2E4C58F9: itk::PolyLineParametricPath<3u>::Evaluate(double const&) const (itkPolyLineParametricPath.txx:44)
21926== by 0x2E4BDA04: QmitkVtkLineProfileWidget::UpdateItemModelFromPath() (QmitkVtkLineProfileWidget.cpp:192)
21926== by 0x556CFA64: QmitkImageStatisticsView::UpdateStatistics() (QmitkImageStatisticsView.cpp:684)
21926== by 0x556D0343: QmitkImageStatisticsView::event(QEvent*) (QmitkImageStatisticsView.cpp:743)
21926== by 0x535A473: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.7.4)
21926== by 0x535F2E0: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.7.4)
21926== by 0x5FAAAFB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x5FAE51E: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x5FD5A72: ??? (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.7.4)
21926== by 0x8051A5C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3000.0)
21926== If you believe this happened as a result of a stack
21926== overflow in your program's main thread (unlikely but
21926== possible), you can try to increase the size of the
21926== main thread stack using the --main-stacksize= flag.
21926== The main thread stack size used in this run was 8388608.
21926
21926== HEAP SUMMARY:
21926== in use at exit: 332,419,084 bytes in 237,327 blocks
21926== total heap usage: 4,688,650 allocs, 4,451,323 frees, 1,472,811,643 bytes allocated
21926
21926== LEAK SUMMARY:
21926== definitely lost: 21,573 bytes in 358 blocks
21926== indirectly lost: 100,425 bytes in 1,820 blocks
21926== possibly lost: 187,898,971 bytes in 79,867 blocks
21926== still reachable: 144,398,115 bytes in 155,282 blocks
21926== suppressed: 0 bytes in 0 blocks
21926== Rerun with --leak-check=full to see details of leaked memory
21926
21926== For counts of detected and suppressed errors, rerun with: -v
21926== Use --track-origins=yes to see where uninitialised values come from
21926== ERROR SUMMARY: 368066 errors from 31 contexts (suppressed: 41 from 8)
Szegmentálási hiba