Error when calling for ChoiceIterator in tess-two project

74 views
Skip to first unread message

Sergio Mendoza

unread,
Mar 17, 2016, 7:17:29 PM3/17/16
to tesseract-ocr

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.








Tom Morris

unread,
Mar 18, 2016, 12:07:47 PM3/18/16
to tesseract-ocr
"fault addr 0x0" makes it sound like you're passing it a null pointer.
Reply all
Reply to author
Forward
0 new messages