View Revisions: Issue #4416

Summary 0004416: Crash when displaying DTI volume in slice view
Revision 2017-08-16 18:20 by lassoan
Description

When a DTI volume is shown in a slice view, then Slicer crashes as soon as the rendering pipeline is updated.

The crash occurs in vtkImageReslice:

<pre>
vtkImaging-7.1.dll!`anonymous namespace'::vtkInterpolateRound<double>(double val, double & rnd) Line 1293 + 0xb bytes C++

vtkImaging-7.1.dll!anonymous namespace'::vtkImageResliceConversion&lt;double,double>::Convert(void * & outPtr0, const double * inPtr, int numscalars, int n) Line 1417 C++ vtkImaging-7.1.dll!anonymous namespace'::vtkReslicePermuteExecute<double>(vtkImageReslice self, vtkDataArray scalars, vtkAbstractImageInterpolator interpolator, vtkImageData outData, void outPtr, double scalarShift, double scalarScale, void (void , void , int, int, int, int, int, int, int) convertScalars, int outExt, int threadId, double [4] matrix) Line 3017 C++
vtkImaging-7.1.dll!vtkImageReslice::ThreadedRequestData(vtkInformation __formal, vtkInformation formal, vtkInformation * formal, vtkImageData inData, vtkImageData outData, int outExt, int threadId) Line 3281 C++
vtkCommon-7.1.dll!vtkThreadedImageAlgorithmThreadedExecute(void * arg) Line 443 C++
kernel32.dll!BaseThreadInitThunk() + 0x14 bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes
</pre>

Maybe DTI volumes shouldn't be selected as volumes in the slice viewer? And/or vtkImageReslice should be fixed to not crash.

I've come across this issue when I tried to test this PR: https://github.com/Slicer/Slicer/pull/776.

Revision 2017-08-16 18:19 by lassoan
Description

When a DTI volume is shown in a slice view, then Slicer crashes as soon as the rendering pipeline is updated.

The crash occurs in vtkImageReslice:

<pre>
vtkImaging-7.1.dll!`anonymous namespace'::vtkInterpolateRound<double>(double val, double & rnd) Line 1293 + 0xb bytes C++

vtkImaging-7.1.dll!anonymous namespace'::vtkImageResliceConversion&lt;double,double>::Convert(void * & outPtr0, const double * inPtr, int numscalars, int n) Line 1417 C++ vtkImaging-7.1.dll!anonymous namespace'::vtkReslicePermuteExecute<double>(vtkImageReslice self, vtkDataArray scalars, vtkAbstractImageInterpolator interpolator, vtkImageData outData, void outPtr, double scalarShift, double scalarScale, void (void , void , int, int, int, int, int, int, int) convertScalars, int outExt, int threadId, double [4] matrix) Line 3017 C++
vtkImaging-7.1.dll!vtkImageReslice::ThreadedRequestData(vtkInformation __formal, vtkInformation formal, vtkInformation * formal, vtkImageData inData, vtkImageData outData, int outExt, int threadId) Line 3281 C++
vtkCommon-7.1.dll!vtkThreadedImageAlgorithmThreadedExecute(void * arg) Line 443 C++
kernel32.dll!BaseThreadInitThunk() + 0x14 bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes
<pre>

Maybe DTI volumes shouldn't be selected as volumes in the slice viewer? And/or vtkImageReslice should be fixed to not crash.

I've come across this issue when I tried to test this PR: https://github.com/Slicer/Slicer/pull/776.

Revision 2017-08-16 18:19 by lassoan
Description

When a DTI volume is shown in a slice view, then Slicer crashes as soon as the rendering pipeline is updated.

The crash occurs in vtkImageReslice:

vtkImaging-7.1.dll!`anonymous namespace'::vtkInterpolateRound&lt;double>(double val, double & rnd)  Line 1293 + 0xb bytes   C++

vtkImaging-7.1.dll!anonymous namespace'::vtkImageResliceConversion&lt;double,double>::Convert(void * & outPtr0, const double * inPtr, int numscalars, int n) Line 1417 C++ vtkImaging-7.1.dll!anonymous namespace'::vtkReslicePermuteExecute<double>(vtkImageReslice self, vtkDataArray scalars, vtkAbstractImageInterpolator interpolator, vtkImageData outData, void outPtr, double scalarShift, double scalarScale, void (void , void , int, int, int, int, int, int, int) convertScalars, int outExt, int threadId, double [4] matrix) Line 3017 C++
vtkImaging-7.1.dll!vtkImageReslice::ThreadedRequestData(vtkInformation __formal, vtkInformation formal, vtkInformation * formal, vtkImageData inData, vtkImageData outData, int outExt, int threadId) Line 3281 C++
vtkCommon-7.1.dll!vtkThreadedImageAlgorithmThreadedExecute(void * arg) Line 443 C++
kernel32.dll!BaseThreadInitThunk() + 0x14 bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes

Maybe DTI volumes shouldn't be selected as volumes in the slice viewer? And/or vtkImageReslice should be fixed to not crash.

I've come across this issue when I tried to test this PR: https://github.com/Slicer/Slicer/pull/776.