Page MenuHomePhabricator

Crash in IVIM Perspective, in Segmentation Plugin
Closed, ResolvedPublic

Description

How to reproduce:

  1. Close all perspectives
  2. Open 'IVIM Perspective'
  3. Load an ivim.dwi dataset
  4. Switch to segmentation and create new --> by confirming the name => CRASH

This happens also in following way:

  1. Open IVIM without closing all perspectives before
  2. Open and ivim.dwi image, create a segmentation as ROI (it works in this case)
  3. Close the perspective (until all perspectives are closed)
  4. Open IVIM Perspective, click on Segmentation plugin --> immediate CRASH

Event Timeline

It is not only IVIM Perspective, it occurs in the same way in MitkWorkbench.

Here the workflow:

  1. Close all Perspectives
  2. Open 'Research' Perspective
  3. Load some test image
  4. Open Segmentation Plugin
  5. 'New Segmentation', enter the name and confirm --> CRASH

The Workbench version came from the release nightly dartclient ( the Workbench build) mbi046.

The debugger stopped at:

QmitkSlicesInterpolator::SetCurrentContourListID()

l. 1062: mitk::Vector3D spacing = workingNode->GetData()->GetGeometry( m_LastSNC->GetTime()->GetPos() )->GetSpacing();

It seems that the m_LastSNC->GetTime() returns a null-pointer which is left unchecked and thus the ->GetPos() runs into a SIGSEGV

It can also be reproduced by:

  1. Create segmentation in a perspective where it works (e.g. the Diffusion perspective)
  2. Close close all perspectives

->Crash

In the same line for the same reason

I guess this bug might be related to T18444 on which Stefan is working. So you might want to keep each other updated.

User hering has pushed new remote branch:

bug-18477-CrashInSegmentationAfterClosedPerspectives

T18444 seems to be something different, the crash there happens in the image statistics

Branch merged into releases/2014-10.

[41c877]: Merge branch 'bug-18477-CrashInSegmentationAfterClosedPerspectives'

Merged commits:

2014-11-25 14:14:40 Jan Hering [d2cfc6]
Check for uninitialized Time in QmitkSNC

  • set the time to 0 if no value can be retrieved from the last SNC