I have implemented tesseract ocr on an android project using the project tess-two. (a fork of Tesseract tools for Android).
I'm almost done but ocassionally while doing the recognition process I get the following error:
03-17 16:12:12.682 28403-28505/com.example.sergio.zeissapp A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 28505 (AsyncTask #4)
A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
A/DEBUG: Build fingerprint: 'google/shamu/shamu:6.0.1/MMB29V/2554798:user/release-keys'
A/DEBUG: Revision: '0'
A/DEBUG: ABI: 'arm'
A/DEBUG: pid: 28403, tid: 28505, name: AsyncTask #4 >>> com.example.sergio.zeissapp <<<
A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
A/DEBUG: r0 00000000 r1 00000000 r2 00004001 r3 00000000
A/DEBUG: r4 9a18fedc r5 9a18ff0e r6 9b0d8081 r7 00000003
A/DEBUG: r8 b6d0fec0 r9 9b133470 sl 12c04c80 fp 702b7ca0
A/DEBUG: ip 00006f59 sp 9a18fed8 lr b6ccdf65 pc 9b010548 cpsr 680f0030
A/DEBUG: #00 pc 000bc548 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (ERRCODE::error(char const*, TessErrorLogCode, char const*, ...) const+143)
A/DEBUG: #01 pc 0008e8c3 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (tesseract::ChoiceIterator::ChoiceIterator(tesseract::LTRResultIterator const&)+38)
A/DEBUG: #02 pc 001333c3 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (Java_com_googlecode_tesseract_android_ResultIterator_nativeGetChoices+22)
A/DEBUG: #03 pc 00a979af /data/app/com.example.sergio.zeissapp-2/oat/arm/base.odex (offset 0x5e1000) (java.lang.String[] com.googlecode.tesseract.android.ResultIterator.nativeGetChoices(long, int)+98)
A/DEBUG: #04 pc 00a97bfb /data/app/com.example.sergio.zeissapp-2/oat/arm/base.odex (offset 0x5e1000) (java.util.List com.googlecode.tesseract.android.ResultIterator.getChoicesAndConfidence(int)+86)
A/DEBUG: #05 pc 00798c15 /data/app/com.example.sergio.zeissapp-2/oat/arm/base.odex (offset 0x5e1000) (void com.example.sergio.zeissapp.fragments.ScannerFragment$tessAnalysisTask.analyzePicture()+4208)
A/DEBUG: #06 pc 0079c70f /data/app/com.example.sergio.zeissapp-2/oat/arm/base.odex (offset 0x5e1000) (java.lang.Boolean com.example.sergio.zeissapp.fragments.ScannerFragment$tessAnalysisTask.doInBackground(byte[][])+682)
A/DEBUG: #07 pc 0079cca1 /data/app/com.example.sergio.zeissapp-2/oat/arm/base.odex (offset 0x5e1000) (java.lang.Object com.example.sergio.zeissapp.fragments.ScannerFragment$tessAnalysisTask.doInBackground(java.lang.Object[])+92)
03-17 16:12:12.834 368-368/? A/DEBUG: #08 pc 730ef923 /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)
I don't understand everything, but the green highlighted lines are the stack trace of the error. SInce the problem seems to go all the way to the c++ library I don't think it's an error in my code.
A/DEBUG: #00 pc 000bc548 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (ERRCODE::error(char const*, TessErrorLogCode, char const*, ...) const+143)
A/DEBUG: #01 pc 0008e8c3 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (tesseract::ChoiceIterator::ChoiceIterator(tesseract::LTRResultIterator const&)+38)
A/DEBUG: #02 pc 001333c3 /data/app/com.example.sergio.zeissapp-2/lib/arm/libtess.so (Java_com_googlecode_tesseract_android_ResultIterator_nativeGetChoices+22)
Maybe for someone with a solid understanding of C++ this would be enough, but I don't know the language yet, so if anyone could point in the right direction I would really appreciate it.