Page MenuHomePhabricator

Application crashes on deleting parent node after rounding b-values
Closed, ResolvedPublic

Description

How to reproduce:

(1) Load a DW-Image
(2) Open the PreprocessingView and perform the 'Round b-values' Action
[this creates a child node of the loaded image with the postfix _rounded]
(3) Delete the parent node in DataManager >> immediate crash

The crash comes from the vtkImageReslice.cxx algorithm. I suppose that both images share the same memory which is deleted with the node-delete-event, however the rendering tries to show the derived node and the reslicing then accesses invalid block of memory.

Event Timeline

I can confirm the conjecture about the two images sharing the same data pointer. The "rounded" image just imports back the itkVectorImagePointer retrieved from the input image (i.e. the data-pointer remains identical).

User hering has pushed new remote branch:

bug-19818-Rounded-BValue-crash

[62a62c]: Merge branch 'bug-19818-Rounded-BValue-crash'

Merged commits:

2016-07-07 13:51:01 Jan Hering [af5b04]
Force copy-memory on creating the child node

  • otherwise the parent and child share the itkVectorImage pointer (which is lost on node deletion)