Page MenuHomePhabricator

Statistics view crash
Closed, ResolvedPublic

Description

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

Event Timeline

The error occurs due to the contour points which are created by the 3D segmentation mode. I assign the bug to Andreas Fetzer.
Thank you for the bug report.