View Issue Details

IDProjectCategoryView StatusLast Update
0003429Slicer4Core: GUIpublic2017-06-10 08:51
ReporterDMeier Assigned Topieper  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.3.0 
Target VersionSlicer 4.4.0Fixed in VersionSlicer 4.4.0 
Summary0003429: Slicer 4.3 crashes when dragging 3 images to import.
Description

Attached 3 nrrd images. Slicer 4.3.0 crashes when importing the 3 image, order does not seem to matter. Each of the 3 images loaded individually seem to work, but not in combination.
imported via drag & drop.
Version: 4.3.0 on MacOS 10.8.5

TagsNo tags attached.

Activities

2013-10-03 06:56

 

T10_defect_Xf1_noResample.nrrd (3,173,280 bytes)

2013-10-03 07:07

 

T10_defect-crop.nrrd (3,173,164 bytes)

2013-10-03 07:20

 

T10_defect_s2.nrrd (1,703,206 bytes)
DMeier

DMeier

2013-10-03 07:22

developer   ~0010125

issue is probably related to image with full dynamic range and datatype "unsigned short". Sample image "T10_defect_s2.nrrd" has intensities in the full range 0-65535, the other two do not. Loading that image when others are already present seems to trigger the crash.

jcfr

jcfr

2014-03-06 12:54

administrator   ~0011290

Unable to reproduce on Ubuntu 13.10 using Slicer r22924.

jcfr

jcfr

2014-03-06 12:55

administrator   ~0011291

Reminder sent to: nicole, pieper

@Steve, @Nicole: When you have a chance could you check if it works on your MacOSX ?
Thanks

pieper

pieper

2014-03-07 04:18

administrator   ~0011310

No crash for me loading these on the nightly build from 2014-03-03 on mac.

@Dominik could you see it it still crashes for you on the nightly?

nicole

nicole

2014-03-10 13:03

administrator   ~0011406

Just checked: selecting all three and dragging them into my debug build of today's code caused a crash:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000121489000

VM Regions Near 0x121489000:
MALLOC_LARGE 0000000121449000-0000000121489000 [ 256K] rw-/rwx SM=PRV
-->
__TEXT 00000001214c6000-00000001214e9000 [ 140K] r-x/rwx SM=COW /Users/USER//.dylib

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libMRMLCore.dylib 0x000000010ca9dce8 void vtkImageBimodalAnalysisExecute<int>(vtkImageBimodalAnalysis, vtkImageData, int, vtkImageData, float) + 776 (vtkImageBimodalAnalysis.cxx:113)
1 libMRMLCore.dylib 0x000000010ca9b4f2 vtkImageBimodalAnalysis::ExecuteData(vtkDataObject
) + 1762 (vtkImageBimodalAnalysis.cxx:274)
2 libvtkFiltering.5.10.dylib 0x000000011c7dff32 vtkSource::ProcessRequest(vtkInformation*, vtkInformationVector, vtkInformationVector) + 5682 (vtkSource.cxx:670)
3 libvtkFiltering.5.10.dylib 0x000000011c57b7a4 vtkExecutive::CallAlgorithm(vtkInformation
, int, vtkInformationVector
, vtkInformationVector) + 164 (vtkExecutive.cxx:747)
4 libvtkFiltering.5.10.dylib 0x000000011c55c60a vtkDemandDrivenPipeline::ExecuteData(vtkInformation
, vtkInformationVector, vtkInformationVector) + 154 (vtkDemandDrivenPipeline.cxx:506)
5 libvtkFiltering.5.10.dylib 0x000000011c55b8bb vtkDemandDrivenPipeline::ProcessRequest(vtkInformation
, vtkInformationVector
, vtkInformationVector) + 1515 (vtkDemandDrivenPipeline.cxx:279)
6 libvtkFiltering.5.10.dylib 0x000000011c7e75b2 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation
, vtkInformationVector*, vtkInformationVector) + 2146 (vtkStreamingDemandDrivenPipeline.cxx:276)
7 libvtkFiltering.5.10.dylib 0x000000011c55c333 vtkDemandDrivenPipeline::UpdateData(int) + 1091 (vtkDemandDrivenPipeline.cxx:449)
8 libvtkFiltering.5.10.dylib 0x000000011c7e7880 vtkStreamingDemandDrivenPipeline::Update(int) + 240 (vtkStreamingDemandDrivenPipeline.cxx:326)
9 libvtkFiltering.5.10.dylib 0x000000011c7dcc31 vtkSource::Update() + 81 (vtkSource.cxx:136)
10 libMRMLCore.dylib 0x000000010cc78369 vtkMRMLScalarVolumeDisplayNode::CalculateAutoLevels() + 1833 (vtkMRMLScalarVolumeDisplayNode.cxx:745)
11 libMRMLCore.dylib 0x000000010cc77991 vtkMRMLScalarVolumeDisplayNode::ProcessMRMLEvents(vtkObject, unsigned long, void) + 257 (vtkMRMLScalarVolumeDisplayNode.cxx:404)
12 libMRMLCore.dylib 0x000000010cc21c8b vtkMRMLNode::MRMLCallback(vtkObject, unsigned long, void, void) + 1035 (vtkMRMLNode.cxx:850)
13 libvtkCommon.5.10.dylib 0x000000011ceb6bf4 vtkCallbackCommand::Execute(vtkObject
, unsigned long, void) + 84 (vtkCallbackCommand.cxx:43)
14 libMRMLCore.dylib 0x000000010ca9156f vtkEventBroker::InvokeObservation(vtkObservation
, unsigned long, void) + 255 (vtkEventBroker.cxx:843)
15 libMRMLCore.dylib 0x000000010ca90ddc vtkEventBroker::ProcessEvent(vtkObservation
, vtkObject, unsigned long, void) + 188 (vtkEventBroker.cxx:689)
16 libMRMLCore.dylib 0x000000010ca91ecb vtkEventBroker::Callback(vtkObject, unsigned long, void, void) + 507 (vtkEventBroker.cxx:915)
17 libvtkCommon.5.10.dylib 0x000000011ceb6bf4 vtkCallbackCommand::Execute(vtkObject
, unsigned long, void) + 84 (vtkCallbackCommand.cxx:43)
18 libvtkCommon.5.10.dylib 0x000000011cfc259c vtkSubjectHelper::InvokeEvent(unsigned long, void
, vtkObject) + 2460 (vtkObject.cxx:620)
19 libvtkCommon.5.10.dylib 0x000000011cfc2b42 vtkObject::InvokeEvent(unsigned long, void
) + 66 (vtkObject.cxx:789)
20 libvtkCommon.5.10.dylib 0x000000011cfc2d22 vtkObject::Modified() + 66 (vtkObject.cxx:856)
21 libMRMLCLI.dylib 0x000000010c9a5114 vtkMRMLNode::Modified() + 52 (vtkMRMLNode.h:363)
22 libMRMLCore.dylib 0x000000010cd4dd12 vtkMRMLVolumeDisplayNode::SetInputImageData(vtkImageData) + 82 (vtkMRMLVolumeDisplayNode.cxx:109)
23 libMRMLCore.dylib 0x000000010cc7510e vtkMRMLScalarVolumeDisplayNode::SetInputImageData(vtkImageData
) + 142 (vtkMRMLScalarVolumeDisplayNode.cxx:160)
24 libMRMLCore.dylib 0x000000010cd5a764 vtkMRMLVolumeNode::SetAndObserveImageData(vtkImageData) + 212 (vtkMRMLVolumeNode.cxx:704)
25 libMRMLCore.dylib 0x000000010cd4226b vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal(vtkMRMLNode
) + 13531 (vtkMRMLVolumeArchetypeStorageNode.cxx:438)

pieper

pieper

2014-03-10 15:09

administrator   ~0011412

Interesting - there have been a number of crashes reported in vtkImageBimodalAnalysisExecute.

Looks like that code hasn't changed since 2008 (according to git blame) so I wonder what else has changed.

pieper

pieper

2014-03-10 15:17

administrator   ~0011413

Actually just eyeballing the code now I see how it could be wrong. Line 113 can be accessing beyond the end of the array since width is 5 and max could be at the end of the histogram. I suggest putting in a check if x+k >= max0.

@Jc this one is assigned to you - do you want to fix this or should I?

jcfr

jcfr

2014-03-10 18:07

administrator   ~0011416

@Steve: Would appreciate if you could take this one :) Thanks

pieper

pieper

2014-03-11 06:37

administrator   ~0011418

Fixed in r22942. @Dominik if you could confirm with tomorrows nightly build and close the bug that would be great.

nicole

nicole

2014-03-11 07:46

administrator   ~0011419

Tested on a debug build, no crash.

pieper

pieper

2014-03-12 06:43

administrator   ~0011424

Confirmed by Dominik on the nightly build.

Related Changesets

Import 2017-06-07 23:51:09: master c74b2f93

2014-03-11 10:33:48

pieper

Details Diff
BUG: 0003429 bounds check on biomdal analysis

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22942 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkImageBimodalAnalysis.cxx Diff File

Issue History

Date Modified Username Field Change
2013-10-03 06:56 DMeier New Issue
2013-10-03 06:56 DMeier Status new => assigned
2013-10-03 06:56 DMeier Assigned To => kikinis
2013-10-03 06:56 DMeier File Added: T10_defect_Xf1_noResample.nrrd
2013-10-03 07:02 kikinis Assigned To kikinis => jcfr
2013-10-03 07:07 DMeier File Added: T10_defect-crop.nrrd
2013-10-03 07:20 DMeier File Added: T10_defect_s2.nrrd
2013-10-03 07:22 DMeier Note Added: 0010125
2013-10-04 01:03 jcfr Target Version => Slicer 4.3.2
2014-03-06 10:15 nicole Target Version Slicer 4.3.2 => Slicer 4.4.0
2014-03-06 12:54 jcfr Note Added: 0011290
2014-03-06 12:54 jcfr Status assigned => feedback
2014-03-06 12:55 jcfr Note Added: 0011291
2014-03-07 04:18 pieper Note Added: 0011310
2014-03-07 05:26 jcfr Status feedback => resolved
2014-03-07 05:26 jcfr Fixed in Version => Slicer 4.4.0
2014-03-07 05:26 jcfr Resolution open => unable to reproduce
2014-03-10 13:03 nicole Note Added: 0011406
2014-03-10 15:09 pieper Note Added: 0011412
2014-03-10 15:17 pieper Note Added: 0011413
2014-03-10 15:18 pieper Status resolved => acknowledged
2014-03-10 18:06 jcfr Assigned To jcfr => pieper
2014-03-10 18:06 jcfr Status acknowledged => assigned
2014-03-10 18:06 jcfr Fixed in Version Slicer 4.4.0 =>
2014-03-10 18:07 jcfr Note Added: 0011416
2014-03-11 06:37 pieper Note Added: 0011418
2014-03-11 06:37 pieper Status assigned => resolved
2014-03-11 06:37 pieper Fixed in Version => Slicer 4.4.0
2014-03-11 06:37 pieper Resolution unable to reproduce => fixed
2014-03-11 07:46 nicole Note Added: 0011419
2014-03-12 06:43 pieper Note Added: 0011424
2014-03-12 06:43 pieper Status resolved => closed
2017-06-10 08:51 pieper Changeset attached => Slicer master c74b2f93