segmentation fault during classification step
Problem
Classification step fails with segmentation fault:
2011-11-03 00:00[af507bee20cb:00017] *** Process received signal ***
[af507bee20cb:00017] Signal: Segmentation fault (11)
[af507bee20cb:00017] Signal code: Address not mapped (1)
[af507bee20cb:00017] Failing at address: 0x7ff787fe8e60
[af507bee20cb:00017] [ 0] /lib64/libpthread.so.0(+0xf5d0)[0x7ff7811435d0]
[af507bee20cb:00017] [ 1] /data/iota2/scripts/install/OTB/install/lib/libopencv_ml.so.3.4(+0x9d86e)[0x7ff74ce2586e]
[af507bee20cb:00017] [ 2] /data/iota2/scripts/install/OTB/install/lib/libopencv_ml.so.3.4(+0x9fb73)[0x7ff74ce27b73]
[af507bee20cb:00017] [ 3] /data/iota2/scripts/install/OTB/install/lib/libopencv_ml.so.3.4(+0x7569e)[0x7ff74cdfd69e]
[af507bee20cb:00017] [ 4] /data/iota2/scripts/install/OTB//install/lib/otb/applications/otbapp_ImageClassifier.so(_ZNK3otb33RandomForestsMachineLearningModelIfiE9DoPredictERKN3itk20VariableLengthVectorIfEEPd+0x9e)[0x7ff74ad35eee]
[af507bee20cb:00017] [ 5] /data/iota2/scripts/install/OTB//install/lib/otb/applications/otbapp_ImageClassifier.so(_ZNK3otb20MachineLearningModelIfidE14DoPredictBatchEPKN3itk10Statistics10ListSampleINS2_20VariableLengthVectorIfEEEERKjSB_PNS4_INS2_10FixedArrayIiLj1EEEEEPNS4_INSC_IdLj1EEEEE+0xd0)[0x7ff74ad12170]
[af507bee20cb:00017] [ 6] /data/iota2/scripts/install/OTB//install/lib/otb/applications/otbapp_ImageClassifier.so(_ZNK3otb20MachineLearningModelIfidE12PredictBatchEPKN3itk10Statistics10ListSampleINS2_20VariableLengthVectorIfEEEEPNS4_INS2_10FixedArrayIdLj1EEEEE+0x153)[0x7ff74ad2ecd3]
[af507bee20cb:00017] [ 7] /data/iota2/scripts/install/OTB//install/lib/otb/applications/otbapp_ImageClassifier.so(_ZN3otb25ImageClassificationFilterINS_11VectorImageIfLj2EEENS_5ImageIiLj2EEENS3_IhLj2EEEE25BatchThreadedGenerateDataERKN3itk11ImageRegionILj2EEEj+0x8c7)[0x7ff74ad2fb67]
[af507bee20cb:00017] [ 8] /data/iota2/scripts/install/OTB//install/lib/otb/applications/otbapp_ImageClassifier.so(_ZN3itk11ImageSourceIN3otb5ImageIiLj2EEEE16ThreaderCallbackEPv+0xa5)[0x7ff74ad30345]
[af507bee20cb:00017] [ 9] /data/iota2/scripts/install/OTB/install/lib/libITKCommon-4.13.so.1(_ZN3itk13MultiThreader17SingleMethodProxyEPv+0x7)[0x7ff769b6bc07]
[af507bee20cb:00017] [10] /lib64/libpthread.so.0(+0x7dd5)[0x7ff78113bdd5]
[af507bee20cb:00017] [11] /lib64/libc.so.6(clone+0x6d)[0x7ff78075bead]
[af507bee20cb:00017] *** End of error message ***
/usr/local/bin/entrypoint.sh: line 9: 17 Segmentation fault (core dumped) su-exec iota python "${IOTABIN}" "$@"
Configuration file
chain:
{
outputPath:'/mnt/workspace/IOTA2_Outputs/Results_bb_balok'
remove_outputPath:True
pyAppPath:'/data/iota2/scripts'
nomenclaturePath:'/mnt/workspace/Nomenclature_balok.txt'
listTile:'D0003H0007 D0003H0008 D0003H0009 D0004H0008 D0004H0009 D0005H0007 D0005H0008 D0005H0009 D0006H0006 D0006H0007 D0006H0008 D0006H0009 D0007H0006 D0007H0007 D0007H0008 D0007H0009 D0008H0006 D0008H0007 D0008H0008 D0008H0009'
L5Path:'/mnt/workspace/sensor_data'
groundTruth:'/mnt/workspace/vector_data/groundTruth2011AESN.shp'
dataField:'class'
spatialResolution:30
colorTable:'/mnt/workspace/ColorFile_balok.txt'
ratio:0.7
}
argTrain:
{
classifier :'rf'
options :' -classifier.rf.min 5 -classifier.rf.max 25 '
}
argClassification:
{
classifMode : 'separate'
}
GlobChain:
{
proj : "EPSG:2154"
}
Temporary fix
Relaunch iota from the classification step (and subset the listTile to only include tiles that have not been predicted) seems to suppress the segmentation fault.
chain:
{
outputPath:'/mnt/workspace/IOTA2_Outputs/Results_bb_balok'
remove_outputPath:False
pyAppPath:'/data/iota2/scripts'
nomenclaturePath:'/mnt/workspace/Nomenclature_balok.txt'
listTile:'D0003H0007 D0003H0008 D0003H0009 D0004H0008 D0004H0009 D0005H0007 D0005H0008 D0005H0009 D0006H0006 D0006H0007 D0006H0008 D0006H0009 D0007H0006 D0007H0007 D0007H0008 D0007H0009 D0008H0006 D0008H0007 D0008H0008 D0008H0009'
L5Path:'/mnt/workspace/sensor_data'
groundTruth:'/mnt/workspace/vector_data/groundTruth2011AESN.shp'
dataField:'class'
spatialResolution:30
colorTable:'/mnt/workspace/ColorFile_balok.txt'
ratio:0.7
firstStep:'classification'
}
argTrain:
{
classifier :'rf'
options :' -classifier.rf.min 5 -classifier.rf.max 25 '
}
argClassification:
{
classifMode : 'separate'
}
GlobChain:
{
proj : "EPSG:2154"
}
Configuration info
- ram: 32Go
- proc: AMD® Ryzen threadripper 1900x 8-core processor × 16
- To launch iota I'm using https://framagit.org/nicodebo/iota2-docker with otb 6.6.1.