View Issue Details

IDProjectCategoryView StatusLast Update
0003142Slicer4Module RobustStatisticsSegmenterpublic2014-03-06 06:15
Reporterludicludo Assigned Togaoyi  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.2.2-1 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.3.0 
Summary0003142: Slicer crashes whenever performing Robust statistical sgementation whatever provided CT images (after launching RSS module)
Description

After creating some seeds from Editor, whenever I launch RSS module providing required informations (estimated volume, etc ...), Slicer crash. Follows crash log:

Process: Slicer [573]
Path: /Applications/Slicer.app/Contents/MacOS/Slicer
Identifier: ???
Version: 4.2.2 (4.2.2-1)
Code Type: X86-64 (Native)
Parent Process: ??? [1]

Date/Time: 2013-06-03 23:02:20.040 +0200
OS Version: Mac OS X 10.6.8 (10K549)
Report Version: 6

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libSystem.B.dylib 0x00007fff86143d7a mach_msg_trap + 10
1 libSystem.B.dylib 0x00007fff861443ed mach_msg + 59
2 com.apple.CoreFoundation 0x00007fff88ce6902 __CFRunLoopRun + 1698
3 com.apple.CoreFoundation 0x00007fff88ce5d8f CFRunLoopRunSpecific + 575
4 com.apple.HIToolbox 0x00007fff836fd7ee RunCurrentEventLoopInMode + 333
5 com.apple.HIToolbox 0x00007fff836fd5f3 ReceiveNextEventCommon + 310
6 com.apple.HIToolbox 0x00007fff836fd4ac BlockUntilNextEventMatchingListInMode + 59
7 com.apple.AppKit 0x00007fff81b0beb2 _DPSNextEvent + 708
8 com.apple.AppKit 0x00007fff81b0b801 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
9 com.apple.AppKit 0x00007fff81ad168f -[NSApplication run] + 395
10 QtGui 0x00000001069d1324 QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1588
11 QtCore 0x000000010777fed4 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
12 QtCore 0x00000001077801f4 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 180
13 QtCore 0x00000001077815aa QCoreApplication::exec() + 186
14 0x000000010001faa8 main + 3016
15 0x000000010001ed68 start + 52

Thread 1: Dispatch queue: com.apple.libdispatch-manager
0 libSystem.B.dylib 0x00007fff8615cc0a kevent + 10
1 libSystem.B.dylib 0x00007fff8615eadd _dispatch_mgr_invoke + 154
2 libSystem.B.dylib 0x00007fff8615e7b4 _dispatch_queue_invoke + 185
3 libSystem.B.dylib 0x00007fff8615e2de _dispatch_worker_thread2 + 252
4 libSystem.B.dylib 0x00007fff8615dc08 _pthread_wqthread + 353
5 libSystem.B.dylib 0x00007fff8615daa5 start_wqthread + 13

Thread 2:
0 libSystem.B.dylib 0x00007fff8614e466 read + 10
1 libCTKCore.0.1.dylib 0x00000001044569d6 ctkFDHandler::run() + 134
2 QtCore 0x00000001076c9125 QThreadPrivate::start(void*) + 149
3 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 3:
0 libSystem.B.dylib 0x00007fff8614e466 read + 10
1 libCTKCore.0.1.dylib 0x00000001044569d6 ctkFDHandler::run() + 134
2 QtCore 0x00000001076c9125 QThreadPrivate::start(void*) + 149
3 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 4:
0 libSystem.B.dylib 0x00007fff8618d39e madvise + 10
1 libSystem.B.dylib 0x00007fff8618d122 free_large + 496
2 ...tatisticsSegmenterLib.dylib 0x000000012db409e4 itk::Image<char, 3u>::Pointer preprocessLabelMap<char>(itk::Image<char, 3u>::Pointer, char) + 1332
3 ...tatisticsSegmenterLib.dylib 0x000000012db0dc05 ModuleEntryPoint + 11445
4 libqSlicerBaseQTCLI.dylib 0x00000001001dc80a vtkSlicerCLIModuleLogic::ApplyTask(void) + 26186
5 libSlicerBaseLogic.dylib 0x0000000102fbe36f vtkSlicerApplicationLogic::ProcessProcessingTasks() + 127
6 libSlicerBaseLogic.dylib 0x0000000102fbe4cf vtkSlicerApplicationLogic::ProcessingThreaderCallback(void
) + 31
7 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
8 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 5:
0 libSystem.B.dylib 0x00007fff8617ea6a __semwait_signal + 10
1 libSystem.B.dylib 0x00007fff8617e8f9 nanosleep + 148
2 libSystem.B.dylib 0x00007fff8617e863 usleep + 57
3 libSlicerBaseLogic.dylib 0x0000000102fbe57a vtkSlicerApplicationLogic::ProcessNetworkingTasks() + 154
4 libSlicerBaseLogic.dylib 0x0000000102fbe6bf vtkSlicerApplicationLogic::NetworkingThreaderCallback(void*) + 31
5 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
6 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 6:
0 libSystem.B.dylib 0x00007fff8617ea6a __semwait_signal + 10
1 libSystem.B.dylib 0x00007fff86182881 _pthread_cond_wait + 1286
2 QtWebKit 0x000000010213c048 WTF::TCMalloc_PageHeap::scavengerThread() + 520
3 QtWebKit 0x000000010213c0e9 WTF::TCMalloc_PageHeap::runScavengerThread(void*) + 9
4 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
5 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 7:
0 libSystem.B.dylib 0x00007fff86187932 select$DARWIN_EXTSN + 10
1 QtCore 0x00000001077a1935 qt_safe_select(int, fd_set, fd_set, fd_set, timeval const) + 389
2 QtCore 0x00000001077a5bd3 QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval) + 435
3 QtCore 0x00000001077a60a2 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 178
4 QtCore 0x000000010777fed4 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
5 QtCore 0x00000001077801f4 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 180
6 QtCore 0x00000001076c8116 QThread::exec() + 182
7 QtCore 0x00000001076c9125 QThreadPrivate::start(void
) + 149
8 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
9 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 8:
0 libSystem.B.dylib 0x00007fff8615cc0a kevent + 10
1 QtCore 0x000000010776ca2b QKqueueFileSystemWatcherEngine::run() + 155
2 QtCore 0x00000001076c9125 QThreadPrivate::start(void*) + 149
3 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 9:
0 libSystem.B.dylib 0x00007fff86187932 select$DARWIN_EXTSN + 10
1 QtCore 0x0000000107762410 QProcessManager::run() + 96
2 QtCore 0x00000001076c9125 QThreadPrivate::start(void*) + 149
3 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 10: com.apple.CFSocket.private
0 libSystem.B.dylib 0x00007fff86187932 select$DARWIN_EXTSN + 10
1 com.apple.CoreFoundation 0x00007fff88d08468 __CFSocketManager + 824
2 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
3 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 11:
0 libSystem.B.dylib 0x00007fff86143d7a mach_msg_trap + 10
1 libSystem.B.dylib 0x00007fff861443ed mach_msg + 59
2 com.apple.opengl 0x00007fff8317720d glcDebugListener + 313
3 libSystem.B.dylib 0x00007fff8617cfd6 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8617ce89 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000010004005 rbx: 0x0000000000000000 rcx: 0x00007fff5fbfdc48 rdx: 0x0000000000000000
rdi: 0x00007fff5fbfdd80 rsi: 0x0000000007000006 rbp: 0x00007fff5fbfdca0 rsp: 0x00007fff5fbfdc48
r8: 0x0000000000001e03 r9: 0x0000000000000000 r10: 0x0000000000000800 r11: 0x0000000000000206
r12: 0x0000000000001e03 r13: 0x0000000000000800 r14: 0x00007fff5fbfdd80 r15: 0x0000000007000006
rip: 0x00007fff86143d7a rfl: 0x0000000000000206 cr2: 0x000000004c644090

Binary Images:
0x100000000 - 0x100021ff7 + 4.2.2 (4.2.2-1) <4731CCB8-7CE7-1652-2324-D2B457751329> /Applications/Slicer.app/Contents/MacOS/Slicer
0x100026000 - 0x1000cbff7 +libqSlicerApp.dylib ??? (???) <6219C646-4A2B-2AEF-09CB-0F85E9E10F73> /Applications/Slicer.app/Contents/lib/Slicer-4.2/libqSlicerApp.dylib
0x1000de000 - 0x100139ff7 +libqSlicerBaseQTApp.dylib ??? (???) <F664DEAE-4ADE-298B-8A06-6D2073E5C4E7> /Applications/Slicer.app/Contents/lib/Slicer-4.2/libqSlicerBaseQTApp.dylib
0x10013f000 - 0x1001a3fff +libqSlicerModulesCore.dylib ??? (???) <55A2C964-4CF3-8D7E-A4D5-BD2702FF7A46> /Applications/Slicer.app/Contents/lib/Slicer-4.2/libqSlicerModulesCore.dylib

....to continue ..

TagsNo tags attached.

Activities

gaoyi

gaoyi

2013-06-04 09:54

developer   ~0008704

Hi ludicludo,

I'm happy to help to find where it may be wrong. Let's try to be on the same page:

Could you download these two images:
https://dl.dropboxusercontent.com/u/8671987/grayscale.tar.gz

And use the grayscale.nrrd as the "Original Image".
Use grayscale-label.nrrd as "Label Image"

And use these parameters:
Approximate volume: 100
Intensity Homogeneity: 0.5
Boundary smoothness: 0.5

while keep other parameters as default.

And run the RSS module to see if you get some segmentation for the tumor (the dark ball-shaped region).

Could I know how that works?

Thank you!
yi

ludicludo

ludicludo

2013-06-05 12:11

reporter   ~0008712

Dear yi,
Thank for your help.
I succeeded to segment a volume with the files you provided.
In the meantime, I dug a bit. I downloaded CTAbdomen data files directly from within Slicer.
I tried to segment kidneys following one of the tutorials available on slicer wiki pages.

In Editor module, I used GenericAnatomyColors map to get predefined colors and names.
I used label 0000223 for left kidney made a seed on one view.
In RSS module, I selected the current labelled map and changed Output Label Value to 223.
Slicer crashes after a second once RSS was launched.
I redone the same as above but with a Output Label Value set to 1 and RSS works well for my data.
I think I missed something somewhere :-)
All the best.
Ludovic

gaoyi

gaoyi

2013-06-05 12:40

developer   ~0008713

Dear Ludovic,

Thank you for the testing! I'm now able to reproduce the problem. I will debug that and update with you asap!

Best,
yi

gaoyi

gaoyi

2013-06-05 12:47

developer   ~0008714

with the example data grayscale.nrrd and grayscale-label.nrrd in
Slicer/Modules/CLI/RobustStatisticsSegmenter/Data/Input

In editor module, I draw seed using label 223, 200 and then run RSS with appx volume 100, inhomogeneity 0.5, smoothness 0.5 and output label value 1. RSS causes Slicer crash immediately after apply.

In editor module, using label 2 to draw seed, then in RSS set output label to either 1 or 2 would not cause problem.

Linux 64bit, 4.2.2-1 release version of Slicer.

I will look into the code to find out where the problem is.

gaoyi

gaoyi

2013-06-05 17:59

developer   ~0008716

Hi all,

The problem is located and corrected (on my machine). It's caused by the label image pixel type being char. So it can't hold larger value. This is corrected.

Will figure out how to commit this change.

Thank you!
yi

gaoyi

gaoyi

2013-06-06 06:38

developer   ~0008718

Topic pushed to https://github.com/gaoyi/Slicer/tree/3142-RSS-module-label-image-type

gaoyi

gaoyi

2013-06-08 08:16

developer   ~0008724

Hi all,

I tested the nightly build of r22091 of today 2013.6.8. The problem is resolved.

Please let me know if there is any further problem.

Thanks!
yi

gaoyi

gaoyi

2013-06-08 19:30

developer   ~0008726

I tested the nightly build of r22091 of today 2013.6.8. The problem is resolved.

Please let me know if there is any further problem.

Thanks!
yi

Issue History

Date Modified Username Field Change
2013-06-03 15:43 ludicludo New Issue
2013-06-04 06:00 pieper Status new => assigned
2013-06-04 06:00 pieper Assigned To => gaoyi
2013-06-04 09:54 gaoyi Note Added: 0008704
2013-06-05 12:11 ludicludo Note Added: 0008712
2013-06-05 12:40 gaoyi Note Added: 0008713
2013-06-05 12:47 gaoyi Note Added: 0008714
2013-06-05 12:47 gaoyi Status assigned => confirmed
2013-06-05 17:59 gaoyi Note Added: 0008716
2013-06-06 06:38 gaoyi Note Added: 0008718
2013-06-08 08:16 gaoyi Note Added: 0008724
2013-06-08 19:30 gaoyi Note Added: 0008726
2013-06-08 19:30 gaoyi Status confirmed => resolved
2013-06-08 19:30 gaoyi Resolution open => fixed
2013-06-08 19:30 gaoyi Status resolved => closed
2014-03-06 05:59 jcfr Fixed in Version => Slicer 4.3.0
2014-03-06 06:15 jcfr Target Version => Slicer 4.3.0