View Issue Details

IDProjectCategoryView StatusLast Update
0001353Slicer4Core: Base Codepublic2011-10-05 13:37
Reporterkikinis Assigned Tofinetjul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformmacOSxOS Version7.1
Product VersionSlicer 4.0.0 
Target VersionSlicer 4.0.0Fixed in VersionSlicer 4.0.0 
Summary0001353: resizing the window with dti in color by orientation crashes slicer
Description

This happens both in conventional layout and compareview.
Mac nightly 8-22
-load dti data
-select color by orientation in volume module
-grab the lower right corner of the slicer window and resize to very small and very large
enjoy the crash

TagsNo tags attached.

Activities

pieper

pieper

2011-08-22 10:53

administrator   ~0002773

I can reproduce this by:

  • download sample DTI
  • change to Red Slice Only mode

The crash happens inside the threaded routines of vtkImageResliceMask, at the last line below:

vtkImageData backgroundMask = outData[1];
// Get the output pointer
void
outPtr = outData[0]->GetScalarPointerForExtent(outExt);
void *backgroundMaskPtr = outData[1]->GetScalarPointerForExtent(outExt);

here, outData[1]'s extent is not the same as outData[0] - that is, the first call to GetScalarPointerForExtent works, but the second one does not.

vtkImageResliceMask is the class that Ramundo Sierra added several years ago, and it may never have been reviewed for correctness of the pipeline with the latest VTK (or, perhaps, the multi-output feature of the VTK pipeline now has a bug in it that wasn't in earlier VTKs - or perhaps we we're not setting up the pipeline correctly in response to resize events).

finetjul

finetjul

2011-08-23 08:31

administrator   ~0002778

It is ok to have a different extent as long as the backgroundmask extent contains the outData[0] extent.
outData[0] extent is pipeline controlled (the end of the pipeline requires a specific extent which gets propagated to the filter), however the backgroundmask extent is always the full size of the volume and doesn't depend on the display.

pieper

pieper

2011-08-25 06:32

administrator   ~0002789

BTW, the same issue happens with non-dti data (just load data, switch the layout to, for example, red slice only mode).

finetjul

finetjul

2011-08-25 18:55

administrator   ~0002805

Fixed in r17840:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=17840

Solution is to ensure we use a correct demand driven data pipeline. Problem was present since r17397.

The problem with other (not DTI) images is different and is a much more recent bug introduced by r17798.

Issue History

Date Modified Username Field Change
2011-08-22 09:44 kikinis New Issue
2011-08-22 10:53 pieper Note Added: 0002773
2011-08-23 08:31 finetjul Note Added: 0002778
2011-08-25 05:11 finetjul Status new => assigned
2011-08-25 05:11 finetjul Assigned To => finetjul
2011-08-25 06:32 pieper Note Added: 0002789
2011-08-25 09:27 finetjul Target Version => Slicer 4.0 RSNA
2011-08-25 13:19 pieper Relationship added has duplicate 0001362
2011-08-25 18:55 finetjul Note Added: 0002805
2011-08-25 18:55 finetjul Relationship deleted has duplicate 0001362
2011-08-25 18:56 finetjul Status assigned => resolved
2011-08-25 18:56 finetjul Fixed in Version => Slicer 4.0 RSNA
2011-08-25 18:56 finetjul Resolution open => fixed
2011-10-05 13:36 kikinis Status resolved => closed