Hi,

I am trying to use Tesseract in a multi-threaded Android application, where 
we actually would like to OCR multiple separate lines of text in parallel.
However, from time to time the application crashes due to an invalid call 
to free (4 examples below).
This happens interestingly only on a low-end Android-4.4 device, the 
Android-5 device I also use for development runs the code fine (however, it 
has three times the memory).

Here is how I use Tesseract:
- At startup 4 instances of TessBaseAPI are instantiated, as well as a 
ThreadPoolExecutor with 4 threads
- When processing, 4 separate lines of text are processed, where each 
TessBaseAPI processes a single line on a separate Thread:

public void run() {
    baseApi.setImage(bitmap);
    baseApi.getUTF8Text();
}

Here is what I've tried so far:
- Ran all other native code (without tesseract) under valgrind to make sure 
something else is not corrupting the heap - zero errors are reported
- Made sure a TessBaseAPI-Instance isn't used by multiple threads 
concurrently

Any further ideas what I could try to track this issue down?

Thank you in advance, Clemens

08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea44  400b0d5d  
/system/lib/libc.so (free+12)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea4c  5f53da6b  
/data/app-lib/com.example.cam-1/libtess.so (TWERD::Clear()+60)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea5c  5f548457  
/data/app-lib/com.example.cam-1/libtess.so (TWERD::~TWERD()+8)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea64  5f54849b  
/data/app-lib/com.example.cam-1/libtess.so (WERD_RES::ClearResults()+58)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea6c  5f548afd  
/data/app-lib/com.example.cam-1/libtess.so (WERD_RES_zapper(ELIST_LINK*))
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea74  5f548aa5  
/data/app-lib/com.example.cam-1/libtess.so (WERD_RES::~WERD_RES()+8)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea7c  5f548b07  
/data/app-lib/com.example.cam-1/libtess.so (WERD_RES_zapper(ELIST_LINK*)+10)
08-25 17:26:34.049      226-226/? I/DEBUG﹕ 6286ea84  5f5533a1  
/data/app-lib/com.example.cam-1/libtess.so (ELIST::internal_clear(void 
(*)(ELIST_LINK*))+24)


08-25 17:14:32.999      226-226/? I/DEBUG﹕ #08  pc 0000dd5b  
/system/lib/libc.so (free+10)
08-25 17:14:32.999      226-226/? I/DEBUG﹕ #09  pc 000b839f  
/data/app-lib/com.example.cam-1/libtess.so (ELIST::internal_clear(void 
(*)(ELIST_LINK*))+22)
08-25 17:14:32.999      226-226/? I/DEBUG﹕ #10  pc 000acb0d  
/data/app-lib/com.example.cam-1/libtess.so 
(GENERIC_2D_ARRAY<BLOB_CHOICE_LIST*>::delete_matrix_pointers()+40)


08-25 16:53:14.709      226-226/? I/DEBUG﹕ 6209993c  400b0d5d  
/system/lib/libc.so (free+12)
08-25 16:53:14.709      226-226/? I/DEBUG﹕ 62099940  5f671450  
/data/app-lib/com.example.cam-2/libtess.so
08-25 16:53:14.709      226-226/? I/DEBUG﹕ 62099944  5f52963b  
/data/app-lib/com.example.cam-2/libtess.so 
(_TessFunctionResultCallback_0_2<false, bool, int const&, int 
const&>::~_TessFunctionResultCallback_0_2()+18)
08-25 16:53:14.709      226-226/? I/DEBUG﹕ 62099948  6209996c  [stack:23160]
08-25 16:53:14.709      226-226/? I/DEBUG﹕ 6209994c  5f5128ef  
/data/app-lib/com.example.cam-2/libtess.so (GenericVector<int>::clear()+82)


08-25 13:27:54.401      226-226/? I/DEBUG﹕ #00  pc 000118bc  
/system/lib/libc.so (dlfree+1191)
08-25 13:27:54.401      226-226/? I/DEBUG﹕ #01  pc 0000dd5b  
/system/lib/libc.so (free+10)
08-25 13:27:54.401      226-226/? I/DEBUG﹕ #02  pc 000b839f  
/data/app-lib/com.example.cam-2/libtess.so (ELIST::internal_clear(void 
(*)(ELIST_LINK*))+22)
08-25 13:27:54.401      226-226/? I/DEBUG﹕ #03  pc 000acb0d  
/data/app-lib/com.example.cam-2/libtess.so 
(GENERIC_2D_ARRAY<BLOB_CHOICE_LIST*>::delete_matrix_pointers()+40)

-- 
You received this message because you are subscribed to the Google Groups 
"tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/3db33124-c2a9-466b-9ce9-3ecbe849ae0c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to