View Issue Details

IDProjectCategoryView StatusLast Update
0004174Slicer4Module ModelMakerpublic2017-07-25 01:06
ReportermatrimcauthonAssigned Tonicole 
PrioritynormalSeveritycrashReproducibilityalways
Status assignedResolutionopen 
PlatformmacOSosxOS Version10.11.5
Product VersionSlicer 4.5.0-1 
Target VersionbacklogFixed in Version 
Summary0004174: Model maker crashes immediately after generating model (from large size volume labels)
Description

I am trying to produce models from segmented regions of a CT set (quite large, 30Gb uncompressed nrrd) and model maker does appear to complete without errors (see log) however Slicer immediately crashes before I can work with or export the part. When I look in /private/var/folder/dp/.../slicer I can see that a 10Gb vtk file was indeed created although trying to load this in Slicer again promptly crashes. The file doesn't seem to be corrupt as Paraview will open it promptly. I am wondering if perhaps Slicer immediately tries to view the file with GPU and runs out of memory?

Steps To Reproduce

1) Produce segmentation of a part
2) Run model maker (btw, the max time bar doesn't seem to affect run time which I don't mind as it takes more than 60 minutes to complete)
3) Slicer crashes

1alt) import vtk from above
2alt) Slicer crashes

Additional Information

The attached log was from the run that generated the geometry. Please let me know what other diagnostics I can provide.

TagsNo tags attached.

Activities

matrimcauthon

matrimcauthon

2016-04-20 13:33

reporter  

Slicer_25012_20160419_160124.log (9,132 bytes)
nicole

nicole

2016-04-20 14:09

administrator   ~0013859

I'm having problems opening the log file, will try again once our network connectivity issues settle down.

How much RAM does your Mac have? This sounds more like a general Slicer problem (loading large data sets) than a Model Maker one - the model has been generated, it's not loading up.

matrimcauthon

matrimcauthon

2016-04-20 15:11

reporter   ~0013860

Hi Nicole. It might be a large dataset issue but so far I have yet to kill it strictly speaking with that (at least for volumes and volume labels). The mac pro has 12 core, 128gb of ram and dual ati FirePro D700 6144mb. With dynamic addition of swap as needed it doesn't seem to run out of memory (though in this case I believe I hadn't even run out of physical memory yet). The reason I was wondering on GPU rendering was that when one does this for volume rendering I quite often run out of graphics memory and crash vs cpu rendering which can take advantage of the much larger ram size on the computer works just fine.

In case it was more of a corruption issue, here is the text from that log file as well if that help:

[DEBUG][Qt] 19.04.2016 16:01:24 [] (unknown:0) - Session start time .......: 2016-04-19 16:01:24
[DEBUG][Qt] 19.04.2016 16:01:24 [] (unknown:0) - Slicer version ...........: 4.5.0-2016-04-17 (revision 25012) macosx-amd64 - installed
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - Operating system .........: Mac OS X / 10.11.4 / 15E65 - 64-bit
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - Memory ...................: 131072 MB physical, 1024 MB virtual
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - CPU ......................: GenuineIntel 2.700 MHz, 12 cores
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - Developer mode enabled ...: no
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - Prefer executable CLI ....: yes
[DEBUG][Qt] 19.04.2016 16:01:25 [] (unknown:0) - Additional module paths ..: (none)
[CRITICAL][Qt] 19.04.2016 16:01:28 [] (unknown:0) - Error(s):
Cannot load library /Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libPerformMetricTestLib.dylib: (dlopen(/Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libPerformMetricTestLib.dylib, 5): Library not loaded: /Users/kitware/Dashboards/Nightly/Slicer-0-build/ITKv4-build/lib/libITKIOBMP-4.10.1.dylib
Referenced from: /Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libPerformMetricTestLib.dylib
Reason: image not found)
[CRITICAL][Qt] 19.04.2016 16:01:29 [] (unknown:0) - Error(s):
Cannot load library /Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libVBRAINSDemonWarpLib.dylib: (dlopen(/Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libVBRAINSDemonWarpLib.dylib, 5): Library not loaded: /Users/kitware/Dashboards/Nightly/Slicer-0-build/ITKv4-build/lib/libITKIOBMP-4.10.1.dylib
Referenced from: /Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/libVBRAINSDemonWarpLib.dylib
Reason: image not found)
[DEBUG][Qt] 19.04.2016 16:01:29 [] (unknown:0) - Number of registered modules: 143
[DEBUG][Qt] 19.04.2016 16:01:34 [] (unknown:0) - Number of instantiated modules: 143
[WARNING][Qt] 19.04.2016 16:01:34 [] (unknown:0) - When loading module "CLIEventTest" , the dependency "CLI4Test" failed to be loaded.
[INFO][Stream] 19.04.2016 16:01:34 [] (unknown:0) - Initializing terminology mapping for map file /Applications/slicer_4-18-2016/Slicer.app/Contents/share/Slicer-4.5/ColorFiles/Terminology//GenericAnatomyColors-SNOMED.csv
[INFO][Stream] 19.04.2016 16:01:34 [] (unknown:0) - 288 terms were read for Slicer LUT GenericAnatomyColors
[WARNING][Qt] 19.04.2016 16:01:35 [] (unknown:0) - When loading module "TwoCLIsInARowTest" , the dependency "CLI4Test" failed to be loaded.
[WARNING][Qt] 19.04.2016 16:01:35 [] (unknown:0) - When loading module "TwoCLIsInParallelTest" , the dependency "CLI4Test" failed to be loaded.
[DEBUG][Qt] 19.04.2016 16:01:35 [] (unknown:0) - Number of loaded modules: 140
[DEBUG][Qt] 19.04.2016 16:01:35 [] (unknown:0) - Switch to module: "Welcome"
[CRITICAL][FD] 19.04.2016 16:05:39 [] (unknown:0) - 2016-04-19 16:05:39.719 Slicer[8290:981178] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
[CRITICAL][FD] 19.04.2016 16:06:07 [] (unknown:0) - 2016-04-19 16:06:07.260 Slicer[8290:981178] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
[CRITICAL][FD] 19.04.2016 16:06:16 [] (unknown:0) - 2016-04-19 16:06:16.586 Slicer[8290:981178] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
[INFO][VTK] 19.04.2016 16:08:10 [vtkMRMLVolumeArchetypeStorageNode (0x13e0da940)] (/Users/kitware/Dashboards/Nightly/Slicer-0/Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx:455) - Loaded volume from file: /Volumes/Sammy_Tank/CT_Scan_Place/MK84/korbin_segmented/mk84_segmented-label_2.nrrd. Dimensions: 1500x1500x7540. Number of components: 1. Pixel type: short.
[DEBUG][Qt] 19.04.2016 16:08:11 [] (unknown:0) - "Volume" Reader has successfully read the file "/Volumes/Sammy_Tank/CT_Scan_Place/MK84/korbin_segmented/mk84_segmented-label_2.nrrd"
[WARNING][Qt] 19.04.2016 16:08:25 [] (unknown:0) - libpng warning: iCCP: known incorrect sRGB profile
[WARNING][Qt] 19.04.2016 16:08:25 [] (unknown:0) - libpng warning: iCCP: known incorrect sRGB profile
[DEBUG][Qt] 19.04.2016 16:08:26 [] (unknown:0) - Switch to module: "ModelMaker"
[CRITICAL][FD] 19.04.2016 16:08:35 [] (unknown:0) - 2016-04-19 16:08:35.626 Slicer[8290:981178] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
[DEBUG][Qt] 19.04.2016 16:10:04 [] (unknown:0) - Found CommandLine Module, target is /Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/ModelMaker
[DEBUG][Qt] 19.04.2016 16:10:04 [] (unknown:0) - ModuleType: CommandLineModule
[DEBUG][Qt] 19.04.2016 16:11:00 [] (unknown:0) - Model Maker command line:

/Applications/slicer_4-18-2016/Slicer.app/Contents/lib/Slicer-4.5/cli-modules/ModelMaker --color /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLColorTableNodeFileGenericColors.txt.ctbl --modelSceneFile /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml#vtkMRMLModelHierarchyNode1 --name whatevs --generateAll --start -1 --end -1 --skipUnNamed --smooth 5 --filtertype Laplacian --decimate 0.25 --splitnormals --pointnormals --pad --debug /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLLabelMapVolumeNodeB.nrrd
[DEBUG][Qt] 19.04.2016 16:56:29 [] (unknown:0) - Model Maker standard output:

The input volume is: /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLLabelMapVolumeNodeB.nrrd
The labels are:
The starting label is: -1
The ending label is: -1
The model name is: whatevs
Do joint smoothing flag is: 0
Generate all flag is: 1
Number of smoothing iterations: 5
Number of decimate iterations: 0.25
Split normals? 1
Calculate point normals? 1
Pad? 1
Filter type: Laplacian
Input color hierarchy scene file: None
Output model scene file: /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml#vtkMRMLModelHierarchyNode1
Color table file : /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLColorTableNodeFileGenericColors.txt.ctbl
Save intermediate models: 0
Debug: 1

Starting...
Models file: /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml
Model Hierarchy ID: vtkMRMLModelHierarchyNode1
Imported model scene file /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml
Got model hierarchy node vtkMRMLModelHierarchyNode1
GenerateAll! set make mult to true
useStartEnd = 0, numModelsToGenerate = 1, numFilterSteps 13
Adding 1 pixel padding around the image, shifting origin.
Colour table file name = /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLColorTableNodeFileGenericColors.txt.ctbl
Setting the colour node's storage node id to vtkMRMLColorTableStorageNode1, it's file name = /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLColorTableNodeFileGenericColors.txt.ctbl
Read colour file /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_vtkMRMLColorTableNodeFileGenericColors.txt.ctbl
Using color node to get max label
Setting histogram extentMax = 307
Skipping 0
Hist: Min = 1 and max = 4 (image scalar type = 4, max = 32767)
GenerateAll flag is true, resetting the start and end labels from: -1 and -1 to 1 and 4

GenerateAll: there are 0 models to be generated.
Reset numFilterSteps to 4
Marching cubes: Using end label = 4, start label = 1
Image data extents: 0 1499 0 1499 0 7539
Label 4 has 9.1521e+09 voxels.
Got color name, set label name = whatevs_4_4 (color name w/o spaces = 4)
Number of polygons = 267487428
After decimation, number of polygons = 200615570
Writing model whatevs_4_4 to file /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/whatevs_4_4.vtk
Adding model whatevs_4_4 to the output scene, with filename /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/whatevs_4_4.vtk
Got colour: 0.435294 0.721569 0.823529 1
Added display node: id = vtkMRMLModelDisplayNode2
Setting model's storage node: id = vtkMRMLModelStorageNode1
...done adding model to output scene
End of looping over labels
Made models from labels: 4
Skipped making models from labels: 1 2 3
Writing to model scene output file: /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml, to url: /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml
Models saved to scene file /var/folders/dp/pcdkgh614sjfkqjcgscz43zw000s01/T/Slicer/ICJA_AxBGIBIfFGA.mrml
Cleaning up
Deleting cubes
Deleting hist
Deleting smoother poly
Deleting decimator
Deleting mcubes
Deleting image threshold
... done deleting image threshold
Deleting image to structured points
Deleting transform ijk to ras
Deleting transformer
Deleting normals
Deleting stripper
Deleting ici, no set input null
Deleting reader
Deleting model scene
[DEBUG][Qt] 19.04.2016 16:56:29 [] (unknown:0) - Model Maker completed without errors

lassoan

lassoan

2017-07-25 01:06

developer   ~0014960

It would be nice to investigate and fix this, because Slicer should not crash for any input, but these large data sets are rare and it is difficult to optimize the software to handle these kind of data properly.

A workaround is to crop/resample the input data to make its size more manageable.

To solve the crash, we might consider displaying a warning popup that the file size is too big and offer the user the option of discarding the data or attempt to load it (explain that attempting this may crash the application).

Issue History

Date Modified Username Field Change
2016-04-20 13:33 matrimcauthon New Issue
2016-04-20 13:33 matrimcauthon Status new => assigned
2016-04-20 13:33 matrimcauthon Assigned To => nicole
2016-04-20 13:33 matrimcauthon File Added: Slicer_25012_20160419_160124.log
2016-04-20 14:09 nicole Note Added: 0013859
2016-04-20 15:11 matrimcauthon Note Added: 0013860
2017-07-25 01:06 lassoan Target Version => backlog
2017-07-25 01:06 lassoan Note Added: 0014960