Page MenuHomePhabricator

[segmentation plugin] unchecking Show position nodes leads to crash
Closed, ResolvedPublic


We tried to reproduce the behaviour, but it occured somehow randomly.
We performed the following steps:

  • loading the scene file
  • reinit the segmentation
  • enabling 3D interpolation
  • checking/unchecking the position nodes
  • a position node is selected
  • uncheck "show position nodes"

sometimes, MITK crashed after the last step.

We tried it in debug, but the position nodes could not be loaded.

Example scene file:

Event Timeline

Shortcut to crash:

  • Load seg_test.mitk (see above)
  • Select "Position 1" in Data Manager
  • Check "helper object" property in Properties

When a selected node is removed from the filter proxy model of the Data Manager View due to the filtering, the Workbench crashes.

The attached scene file just contains a single data node with a "helper object" property set to false. Select the node and check the property in the Properties view. As long as "Show helper objects" in the Preferences is disabled, the Workbench will crash.

When the property is checked, QmitkDataStorageTreeModel::SetNodeModified() is called twice (recursivly), while the inner recursion crashes when emitting a dataChanged event with a corrupt model index. The first time it is the removal of the node from the Data Manager tree view, the second time it is the selection which changed when the selected node was removed.