View Issue Details

IDProjectCategoryView StatusLast Update
0002734Slicer4Extension: TubeTkpublic2014-03-06 05:13
Reporterrkwitt Assigned Tomccormic  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.1.0 
Target VersionSlicer 4.2.1Fixed in VersionSlicer 4.2.1 
Summary0002734: Slicer freezes when loading .tre file
Description

Slicer freezes when loading a SpatialObject file, such as the one attached. No error messages are shown ...

TagsNo tags attached.

Activities

2012-11-06 04:25

 

Branch-truth.tre (59,164 bytes)
crmullin

crmullin

2012-11-07 11:50

developer   ~0007111

Last edited: 2012-11-07 12:55

I'm investigating the following error and output from gdb which I think might be responsible.

warning: Could not load shared library symbols for libvtkSlicerSpatialObjectsModuleLogicPythonD.so.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for libvtkSlicerSpatialObjectsModuleMRMLPythonD.so.

Program received signal SIGINT, Interrupt.
0x00007f3e5c2cfd35 in MetaVesselTube::M_Read (this=0x4b64c60)
at /home/crmullin/Projects/Slicer4-SuperBuild-Debug/ITKv3/Utilities/MetaIO/metaVesselTube.cxx:947
947 while( (c!='\n') && (!m_ReadStream->eof()))

The blame returns this commit where metaVesselTube was added:
https://github.com/Slicer/ITK/commit/e10fc9491dfd32c69fe5427036911b520f0f22e8

Here's the fix by Matt McCormick:
http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=46e05e666e98b2ef38dfaba50333811eedbbc1bd;hp=4c2bfb739d2ec073e1f1477e576d656195edbb11

This patch was already added to ITKv3 in Slicer.

jcfr

jcfr

2012-11-08 08:28

administrator   ~0007119

Email sent to Roland:

You need to add the extra condition && c!="\377" at this line https://github.com/Kitware/ITK/blob/dcd655f89cd17b5b864878f0c0e0b77b00b17553/Utilities/MetaIO/metaVesselTube.cxx#L947

mccormic

mccormic

2012-11-08 10:38

developer   ~0007123

@Roland: Could you please retry with a fresh Slicer build and a fresh Extension build? Also, make sure that Slicer is using your built extension by checking the Slicer "Additional module paths". I tried this on that dataset you attached, and it works fine.

There has been a problem with the ExternalProject UPDATE_COMMAND, and your ITK may not have been updated. @JC, FYI, I finally may have made progress with upstream CMake on that front per today:

https://github.com/thewtex/CMake/commit/4dee3a007c640c172330fbab747f4df2aba1e74c#commitcomment-2124450

@JC, Chris, I don't see '\377' in the file that Roland uploaded?

jcfr

jcfr

2012-11-08 12:56

administrator   ~0007124

@mccormic:

  • I was able to reproduce the problem on my machine. Using ITKv3 (dcd655f), the latest one.
  • Using a debugger, Chris and I found out that the reader got stuck in the while loop line 947. The read character was '\377' that is why it was looping forever. By adding the extra condition (obviously a HACK), the file appeared to load successfully. That said, I have no idea where this character is read from ...

    • My system: Ubuntu 10.04, g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

    • Chris system: Ubuntu 12.04

    • We could schedule a short google hangout if that helps

    • Good news regarding the UPDATE_COMMAND :)

mccormic

mccormic

2012-11-08 19:23

developer   ~0007128

Interesting. A hangout is a good idea -- I'll add a calendar invite for tomorrow at 11 if you can make it.

jcfr

jcfr

2012-11-09 10:02

administrator   ~0007138

During our hangout session, we solved the problem. Here are the topics:

While working on the issue, also backported the most recent change of the MetaIO library to ITK3.20. See https://github.com/jcfr/ITK/tree/backport-metaio-itkv4-fixes

Matt> Could you push changes on top of release-3.20 integration branch, and then update the External_ITKv3.cmake in Slicer ? Make the issue as resolved when done. Thanks

mccormic

mccormic

2012-11-12 16:34

developer   ~0007174

Great stuff, JC.

ITKv3 release-3.20 has been merged:

http://itk.org/gitweb?p=ITK.git;a=commit;h=3f5d32015df46591fde9c4656b59842f11efe9e4

Slicer ITKv3 external project has been bumped with r21347.

A test was added for the ITKv4 patch. Will see if someone wants to review there tomorrow, then commit to MetaIO -> ITK/VTK -> Slicer.

jcfr

jcfr

2012-11-12 16:40

administrator   ~0007175

Last edited: 2012-11-12 16:41

Extra. Thanks Matt. Also thank you for writing the test in ITKv4.

Marking the issue as resolved, tomorrow packages should allow Roland to confirm it works and close the issue.

Fixed in r21347
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21347

jcfr

jcfr

2014-03-06 05:12

administrator   ~0011002

Closing resolved issues that have not been updated in more than 3 months

Issue History

Date Modified Username Field Change
2012-11-06 04:25 rkwitt New Issue
2012-11-06 04:25 rkwitt Status new => assigned
2012-11-06 04:25 rkwitt Assigned To => crmullin
2012-11-06 04:25 rkwitt File Added: Branch-truth.tre
2012-11-07 11:50 crmullin Note Added: 0007111
2012-11-07 12:02 crmullin Note Edited: 0007111
2012-11-07 12:55 crmullin Note Edited: 0007111
2012-11-08 05:55 jcfr Target Version => Slicer 4.2.1
2012-11-08 08:28 jcfr Note Added: 0007119
2012-11-08 10:38 mccormic Note Added: 0007123
2012-11-08 12:56 jcfr Note Added: 0007124
2012-11-08 19:23 mccormic Note Added: 0007128
2012-11-09 10:02 jcfr Note Added: 0007138
2012-11-09 10:02 jcfr Assigned To crmullin => mccormic
2012-11-09 10:02 jcfr Status assigned => confirmed
2012-11-12 16:34 mccormic Note Added: 0007174
2012-11-12 16:40 jcfr Note Added: 0007175
2012-11-12 16:40 jcfr Status confirmed => resolved
2012-11-12 16:40 jcfr Fixed in Version => Slicer 4.2.1
2012-11-12 16:40 jcfr Resolution open => fixed
2012-11-12 16:41 jcfr Note Edited: 0007175
2014-03-06 05:12 jcfr Note Added: 0011002
2014-03-06 05:13 jcfr Status resolved => closed