Dear Maintainer, just tried to help triaging this issue. Seems this is "expected" behaviour with LC_ALL not set to "C". In the end it leads to this upstream bug:
https://github.com/sirfz/tesserocr/issues/165 It contains some workarounds and more information. Kind regards, Bernhard
# Buster amd64 qemu VM 2019-04-05 apt update apt dist-upgrade apt install dpkg-dev devscripts systemd-coredump gdb python3-tesserocr python3-dbg python3-tesserocr-dbgsym libtesseract4-dbgsym mkdir /home/benutzer/source/libtesseract4/orig -p cd /home/benutzer/source/libtesseract4/orig apt source libtesseract4 cd mkdir /home/benutzer/source/libc6/orig -p cd /home/benutzer/source/libc6/orig apt source libc6 cd mkdir /home/benutzer/source/python3-tesserocr/orig -p cd /home/benutzer/source/python3-tesserocr/orig apt source python3-tesserocr cd ############# benutzer@debian:~$ echo $LANG de_DE.UTF-8 benutzer@debian:~$ python3 Python 3.7.3rc1 (default, Mar 13 2019, 11:01:15) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tesserocr !strcmp(locale, "C"):Error:Assert failed:in file baseapi.cpp, line 209 Speicherzugriffsfehler (Speicherabzug geschrieben) benutzer@debian:~$ LC_ALL=C python3 Python 3.7.3rc1 (default, Mar 13 2019, 11:01:15) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tesserocr >>> quit() benutzer@debian:~$ python3 Python 3.7.3rc1 (default, Mar 13 2019, 11:01:15) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import locale >>> locale.setlocale(locale.LC_ALL, 'C') 'C' >>> import tesserocr >>> quit() ############# dmesg [ 212.933342] python3[14744]: segfault at 0 ip 00007fcfe93279d2 sp 00007ffc7c947e20 error 6 in libtesseract.so.4.0.0[7fcfe913e000+1fa000] [ 212.933352] Code: 15 03 00 31 c0 48 8d 3d 5c d9 31 00 e8 57 fe ff ff eb b7 0f 1f 44 00 00 b8 0a 00 00 00 66 89 03 e9 7c ff ff ff e8 9e da e1 ff <c7> 04 25 00 00 00 00 00 00 00 00 0f 0b 90 48 8b 36 48 8b 3f e9 65 root@debian:~# coredumpctl list TIME PID UID GID SIG COREFILE EXE Fri 2019-04-05 22:44:14 CEST 14744 1000 1000 11 present /usr/bin/python3.7 root@debian:~# coredumpctl gdb 14744 PID: 14744 (python3) UID: 1000 (benutzer) GID: 1000 (benutzer) Signal: 11 (SEGV) Timestamp: Fri 2019-04-05 22:44:14 CEST (1min 49s ago) Command Line: python3 Executable: /usr/bin/python3.7 Control Group: /user.slice/user-1000.slice/session-3.scope Unit: session-3.scope Slice: user-1000.slice Session: 3 Owner UID: 1000 (benutzer) Boot ID: 3194a9e501f04eda9f2e24fc8030724b Machine ID: 32f43b50ac8c4b21941bc0b02f8e7811 Hostname: debian Storage: /var/lib/systemd/coredump/core.python3.1000.3194a9e501f04eda9f2e24fc8030724b.14744.1554497054000000.lz4 Message: Process 14744 (python3) of user 1000 dumped core. Stack trace of thread 14744: #0 0x00007fcfe93279d2 _ZNK7ERRCODE5errorEPKc16TessErrorLogCodeS1_z (libtesseract.so.4) #1 0x00007fcfe915f59e _ZN9tesseract11TessBaseAPIC1Ev (libtesseract.so.4) #2 0x00007fcfe96ac680 n/a (tesserocr.cpython-37m-x86_64-linux-gnu.so) #3 0x00007fcfea43c30a n/a (ld-linux-x86-64.so.2) #4 0x00007fcfea43c406 n/a (ld-linux-x86-64.so.2) #5 0x00007fcfea440263 n/a (ld-linux-x86-64.so.2) #6 0x00007fcfe9f52eaf _dl_catch_exception (libc.so.6) #7 0x00007fcfea43fb4a n/a (ld-linux-x86-64.so.2) #8 0x00007fcfea3c5256 n/a (libdl.so.2) #9 0x00007fcfe9f52eaf _dl_catch_exception (libc.so.6) #10 0x00007fcfe9f52f3f _dl_catch_error (libc.so.6) #11 0x00007fcfea3c5975 n/a (libdl.so.2) #12 0x00007fcfea3c52e6 dlopen (libdl.so.2) #13 0x0000000000626fdc _PyImport_FindSharedFuncptr (python3.7) #14 0x00000000006329b8 _PyImport_LoadDynamicModuleWithSpec (python3.7) #15 0x0000000000632d8b n/a (python3.7) #16 0x00000000005c8a37 _PyMethodDef_RawFastCallDict (python3.7) #17 0x00000000005c8bfa PyCFunction_Call (python3.7) #18 0x0000000000544aa5 _PyEval_EvalFrameDefault (python3.7) #19 0x000000000053cfb2 _PyEval_EvalCodeWithName (python3.7) #20 0x00000000005c9222 _PyFunction_FastCallKeywords (python3.7) #21 0x000000000053c430 n/a (python3.7) #22 0x0000000000543d9b _PyEval_EvalFrameDefault (python3.7) #23 0x00000000005c8f1c _PyFunction_FastCallKeywords (python3.7) #24 0x000000000053fa6c _PyEval_EvalFrameDefault (python3.7) #25 0x00000000005c8f1c _PyFunction_FastCallKeywords (python3.7) #26 0x000000000053f8cc _PyEval_EvalFrameDefault (python3.7) #27 0x00000000005c8f1c _PyFunction_FastCallKeywords (python3.7) #28 0x000000000053f8cc _PyEval_EvalFrameDefault (python3.7) #29 0x00000000005c8f1c _PyFunction_FastCallKeywords (python3.7) #30 0x000000000053f8cc _PyEval_EvalFrameDefault (python3.7) #31 0x00000000005ca277 _PyFunction_FastCallDict (python3.7) #32 0x00000000005cc294 n/a (python3.7) #33 0x00000000005cc6dd _PyObject_CallMethodIdObjArgs (python3.7) #34 0x000000000052ad9b PyImport_ImportModuleLevelObject (python3.7) #35 0x0000000000541491 _PyEval_EvalFrameDefault (python3.7) #36 0x000000000053cfb2 _PyEval_EvalCodeWithName (python3.7) #37 0x000000000053f3c3 PyEval_EvalCode (python3.7) #38 0x000000000062bcfe n/a (python3.7) #39 0x0000000000471cbb n/a (python3.7) #40 0x0000000000471e3d PyRun_InteractiveLoopFlags (python3.7) #41 0x000000000062ce33 PyRun_AnyFileExFlags (python3.7) #42 0x0000000000652c7e n/a (python3.7) #43 0x0000000000652fde _Py_UnixMain (python3.7) #44 0x00007fcfe9e4209b __libc_start_main (libc.so.6) #45 0x00000000005d108a _start (python3.7) GNU gdb (Debian 8.2.1-2) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/bin/python3.7...(no debugging symbols found)...done. warning: core file may not match specified executable file. [New LWP 14744] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `python3'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fcfe93279d2 in ERRCODE::error(char const*, TessErrorLogCode, char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libtesseract.so.4 (gdb) set width 0 (gdb) set pagination off (gdb) bt #0 0x00007fcfe93279d2 in ERRCODE::error(char const*, TessErrorLogCode, char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libtesseract.so.4 #1 0x00007fcfe915f59e in tesseract::TessBaseAPI::TessBaseAPI() () from /usr/lib/x86_64-linux-gnu/libtesseract.so.4 #2 0x00007fcfe96ac680 in ?? () from /usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so #3 0x00007fcfea43c30a in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7ffc7c949ea8, env=env@entry=0x212e350) at dl-init.c:72 #4 0x00007fcfea43c406 in call_init (env=0x212e350, argv=0x7ffc7c949ea8, argc=1, l=<optimized out>) at dl-init.c:30 #5 _dl_init (main_map=main_map@entry=0x21a6ea0, argc=1, argv=0x7ffc7c949ea8, env=0x212e350) at dl-init.c:119 #6 0x00007fcfea440263 in dl_open_worker (a=a@entry=0x7ffc7c948600) at dl-open.c:517 #7 0x00007fcfe9f52eaf in __GI__dl_catch_exception (exception=exception@entry=0x7ffc7c9485e0, operate=operate@entry=0x7fcfea43fef0 <dl_open_worker>, args=args@entry=0x7ffc7c948600) at dl-error-skeleton.c:196 #8 0x00007fcfea43fb4a in _dl_open (file=0x7fcfe9a0dd70 "/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so", mode=-2147483646, caller_dlopen=0x626fdc <_PyImport_FindSharedFuncptr+108>, nsid=<optimized out>, argc=1, argv=0x7ffc7c949ea8, env=0x212e350) at dl-open.c:599 #9 0x00007fcfea3c5256 in dlopen_doit (a=a@entry=0x7ffc7c948820) at dlopen.c:66 #10 0x00007fcfe9f52eaf in __GI__dl_catch_exception (exception=exception@entry=0x7ffc7c9487c0, operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dl-error-skeleton.c:196 #11 0x00007fcfe9f52f3f in __GI__dl_catch_error (objname=objname@entry=0x21736f0, errstring=errstring@entry=0x21736f8, mallocedp=mallocedp@entry=0x21736e8, operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dl-error-skeleton.c:215 #12 0x00007fcfea3c5975 in _dlerror_run (operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dlerror.c:163 #13 0x00007fcfea3c52e6 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87 #14 0x0000000000626fdc in _PyImport_FindSharedFuncptr () #15 0x00000000006329b8 in _PyImport_LoadDynamicModuleWithSpec () #16 0x0000000000632d8b in ?? () #17 0x00000000005c8a37 in _PyMethodDef_RawFastCallDict () #18 0x00000000005c8bfa in PyCFunction_Call () #19 0x0000000000544aa5 in _PyEval_EvalFrameDefault () #20 0x000000000053cfb2 in _PyEval_EvalCodeWithName () #21 0x00000000005c9222 in _PyFunction_FastCallKeywords () #22 0x000000000053c430 in ?? () #23 0x0000000000543d9b in _PyEval_EvalFrameDefault () #24 0x00000000005c8f1c in _PyFunction_FastCallKeywords () #25 0x000000000053fa6c in _PyEval_EvalFrameDefault () #26 0x00000000005c8f1c in _PyFunction_FastCallKeywords () #27 0x000000000053f8cc in _PyEval_EvalFrameDefault () #28 0x00000000005c8f1c in _PyFunction_FastCallKeywords () #29 0x000000000053f8cc in _PyEval_EvalFrameDefault () #30 0x00000000005c8f1c in _PyFunction_FastCallKeywords () #31 0x000000000053f8cc in _PyEval_EvalFrameDefault () #32 0x00000000005ca277 in _PyFunction_FastCallDict () #33 0x00000000005cc294 in ?? () #34 0x00000000005cc6dd in _PyObject_CallMethodIdObjArgs () #35 0x000000000052ad9b in PyImport_ImportModuleLevelObject () #36 0x0000000000541491 in _PyEval_EvalFrameDefault () #37 0x000000000053cfb2 in _PyEval_EvalCodeWithName () #38 0x000000000053f3c3 in PyEval_EvalCode () #39 0x000000000062bcfe in ?? () #40 0x0000000000471cbb in ?? () #41 0x0000000000471e3d in PyRun_InteractiveLoopFlags () #42 0x000000000062ce33 in PyRun_AnyFileExFlags () #43 0x0000000000652c7e in ?? () #44 0x0000000000652fde in _Py_UnixMain () #45 0x00007fcfe9e4209b in __libc_start_main (main=0x4a97f0 <main>, argc=1, argv=0x7ffc7c949ea8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc7c949e98) at ../csu/libc-start.c:308 #46 0x00000000005d108a in _start () Core was generated by `python3'. Program terminated with signal SIGSEGV, Segmentation fault. #0 ERRCODE::error (this=this@entry=0x7fcfe93f1480 <ASSERT_FAILED>, caller=caller@entry=0x7fcfe9338094 "!strcmp(locale, \"C\")", action=action@entry=ABORT, format=format@entry=0x7fcfe9338080 "in file %s, line %d") at errcode.cpp:85 85 errcode.cpp: Datei oder Verzeichnis nicht gefunden. (gdb) set width 0 (gdb) set pagination off (gdb) directory /home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api Source directories searched: /home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api:$cdir:$cwd (gdb) bt #0 ERRCODE::error (this=this@entry=0x7fcfe93f1480 <ASSERT_FAILED>, caller=caller@entry=0x7fcfe9338094 "!strcmp(locale, \"C\")", action=action@entry=ABORT, format=format@entry=0x7fcfe9338080 "in file %s, line %d") at errcode.cpp:85 #1 0x00007fcfe915f59e in tesseract::TessBaseAPI::TessBaseAPI (this=<optimized out>) at baseapi.cpp:209 #2 0x00007fcfe96ac680 in __static_initialization_and_destruction_0 (__priority=65535, __initialize_p=1) at tesserocr.cpp:40381 #3 _GLOBAL__sub_I_tesserocr.cpp(void) () at tesserocr.cpp:40381 #4 0x00007fcfea43c30a in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7ffc7c949ea8, env=env@entry=0x212e350) at dl-init.c:72 #5 0x00007fcfea43c406 in call_init (env=0x212e350, argv=0x7ffc7c949ea8, argc=1, l=<optimized out>) at dl-init.c:30 #6 _dl_init (main_map=main_map@entry=0x21a6ea0, argc=1, argv=0x7ffc7c949ea8, env=0x212e350) at dl-init.c:119 #7 0x00007fcfea440263 in dl_open_worker (a=a@entry=0x7ffc7c948600) at dl-open.c:517 #8 0x00007fcfe9f52eaf in __GI__dl_catch_exception (exception=exception@entry=0x7ffc7c9485e0, operate=operate@entry=0x7fcfea43fef0 <dl_open_worker>, args=args@entry=0x7ffc7c948600) at dl-error-skeleton.c:196 #9 0x00007fcfea43fb4a in _dl_open (file=0x7fcfe9a0dd70 "/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so", mode=-2147483646, caller_dlopen=0x626fdc <_PyImport_FindSharedFuncptr+108>, nsid=<optimized out>, argc=1, argv=0x7ffc7c949ea8, env=0x212e350) at dl-open.c:599 #10 0x00007fcfea3c5256 in dlopen_doit (a=a@entry=0x7ffc7c948820) at dlopen.c:66 #11 0x00007fcfe9f52eaf in __GI__dl_catch_exception (exception=exception@entry=0x7ffc7c9487c0, operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dl-error-skeleton.c:196 #12 0x00007fcfe9f52f3f in __GI__dl_catch_error (objname=objname@entry=0x21736f0, errstring=errstring@entry=0x21736f8, mallocedp=mallocedp@entry=0x21736e8, operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dl-error-skeleton.c:215 #13 0x00007fcfea3c5975 in _dlerror_run (operate=operate@entry=0x7fcfea3c5200 <dlopen_doit>, args=args@entry=0x7ffc7c948820) at dlerror.c:163 #14 0x00007fcfea3c52e6 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87 #15 0x0000000000626fdc in _PyImport_FindSharedFuncptr (prefix=0x778e92 "PyInit", shortname=0x7fcfe9a1fb90 "tesserocr", pathname=0x7fcfe9a0dd70 "/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so", fp=0x0) at ../Python/dynload_shlib.c:96 #16 0x00000000006329b8 in _PyImport_LoadDynamicModuleWithSpec (spec=<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>, fp=0x0) at ../Python/importdl.c:129 #17 0x0000000000632d8b in _imp_create_dynamic_impl (module=<optimized out>, file=<optimized out>, spec=<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>) at ../Python/import.c:2158 #18 _imp_create_dynamic (module=<optimized out>, args=<optimized out>, nargs=<optimized out>) at ../Python/clinic/import.c.h:289 #19 0x00000000005c8a37 in _PyMethodDef_RawFastCallDict (method=0x89a800 <imp_methods+320>, self=<module at remote 0x7fcfe9ae7778>, args=<optimized out>, nargs=1, kwargs={}) at ../Objects/call.c:530 #20 0x00000000005c8bfa in _PyCFunction_FastCallDict (kwargs=<optimized out>, nargs=<optimized out>, args=<optimized out>, func=<built-in method create_dynamic of module object at remote 0x7fcfe9ae7778>) at ../Objects/call.c:573 #21 PyCFunction_Call (func=<built-in method create_dynamic of module object at remote 0x7fcfe9ae7778>, args=<optimized out>, kwargs=<optimized out>) at ../Objects/call.c:787 #22 0x0000000000544aa5 in do_call_core (kwdict={}, callargs=(<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>,), func=<built-in method create_dynamic of module object at remote 0x7fcfe9ae7778>) at ../Python/ceval.c:4641 #23 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3191 #24 0x000000000053cfb2 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7fcfe9a4f3b8, for file <frozen importlib._bootstrap>, line 219, in _call_with_frames_removed (f=<built-in method create_dynamic of module object at remote 0x7fcfe9ae7778>, args=(<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>,), kwds={})) at ../Python/ceval.c:547 #25 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x2172aa8, kwcount=<optimized out>, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name='_call_with_frames_removed', qualname='_call_with_frames_removed') at ../Python/ceval.c:3930 #26 0x00000000005c9222 in _PyFunction_FastCallKeywords (func=<optimized out>, stack=0x2172a98, nargs=2, kwnames=<optimized out>) at ../Objects/call.c:433 #27 0x000000000053c430 in call_function (pp_stack=0x7ffc7c948fc0, oparg=<optimized out>, kwnames=<optimized out>) at ../Python/ceval.c:4616 #28 0x0000000000543d9b in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3093 #29 0x00000000005c8f1c in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x2172908, for file <frozen importlib._bootstrap_external>, line 1043, in create_module (self=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, spec=<ModuleSpec(name='tesserocr', loader=<...>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>)) at ../Python/ceval.c:547 #30 function_code_fastcall (globals={'__name__': '_frozen_importlib_external', '__doc__': 'Core implementation of path-based import.\n\nThis module is NOT meant to be directly imported! It has been designed such\nthat it can be bootstrapped into Python as the implementation of import. As\nsuch it requires the injection of specific modules and attributes in order to\nwork. One should use importlib as the public-facing version of this module.\n\n', '__package__': '', '__loader__': <type at remote 0x212b428>, '__spec__': <ModuleSpec(name='_frozen_importlib_external', loader=<type at remote 0x212b428>, origin='frozen', loader_state=None, submodule_search_locations=None, _set_fileattr=False, _cached=None, _initializing=False) at remote 0x7fcfe9a7b1d0>, '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x212ab48>, '__spec__': <ModuleSpec(name='builtins', loader=<type at ...(truncated), nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #31 _PyFunction_FastCallKeywords (func=<optimized out>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:408 #32 0x000000000053fa6c in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=0x7ffc7c949150) at ../Python/ceval.c:4616 #33 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3110 #34 0x00000000005c8f1c in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7fcfe9aeb3a8, for file <frozen importlib._bootstrap>, line 583, in module_from_spec (spec=<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>, module=None)) at ../Python/ceval.c:547 #35 function_code_fastcall (globals={'__name__': '_frozen_importlib', '__doc__': 'Core implementation of import.\n\nThis module is NOT meant to be directly imported! It has been designed such\nthat it can be bootstrapped into Python as the implementation of import. As\nsuch it requires the injection of specific modules and attributes in order to\nwork. One should use importlib as the public-facing version of this module.\n\n', '__package__': '', '__loader__': <type at remote 0x212b428>, '__spec__': <ModuleSpec(name='_frozen_importlib', loader=<type at remote 0x212b428>, origin=None, loader_state=None, submodule_search_locations=None, _set_fileattr=False, _cached=None) at remote 0x7fcfe9ae6ac8>, '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x212ab48>, '__spec__': <ModuleSpec(name='builtins', loader=<type at remote 0x212ab48>, origin=None, loader_state=None, sub...(truncated), nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #36 _PyFunction_FastCallKeywords (func=<optimized out>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:408 #37 0x000000000053f8cc in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at ../Python/ceval.c:4616 #38 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3124 #39 0x00000000005c8f1c in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7fcfe9a38b88, for file <frozen importlib._bootstrap>, line 670, in _load_unlocked (spec=<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>)) at ../Python/ceval.c:547 #40 function_code_fastcall (globals={'__name__': '_frozen_importlib', '__doc__': 'Core implementation of import.\n\nThis module is NOT meant to be directly imported! It has been designed such\nthat it can be bootstrapped into Python as the implementation of import. As\nsuch it requires the injection of specific modules and attributes in order to\nwork. One should use importlib as the public-facing version of this module.\n\n', '__package__': '', '__loader__': <type at remote 0x212b428>, '__spec__': <ModuleSpec(name='_frozen_importlib', loader=<type at remote 0x212b428>, origin=None, loader_state=None, submodule_search_locations=None, _set_fileattr=False, _cached=None) at remote 0x7fcfe9ae6ac8>, '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x212ab48>, '__spec__': <ModuleSpec(name='builtins', loader=<type at remote 0x212ab48>, origin=None, loader_state=None, sub...(truncated), nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #41 _PyFunction_FastCallKeywords (func=<optimized out>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:408 #42 0x000000000053f8cc in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at ../Python/ceval.c:4616 #43 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3124 #44 0x00000000005c8f1c in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x21386f8, for file <frozen importlib._bootstrap>, line 967, in _find_and_load_unlocked (name='tesserocr', import_=<built-in method __import__ of module object at remote 0x7fcfe9b2ac28>, path=None, parent='', spec=<ModuleSpec(name='tesserocr', loader=<ExtensionFileLoader(name='tesserocr', path='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so') at remote 0x7fcfe99a26a0>, origin='/usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7fcfe99a26d8>)) at ../Python/ceval.c:547 #45 function_code_fastcall (globals={'__name__': '_frozen_importlib', '__doc__': 'Core implementation of import.\n\nThis module is NOT meant to be directly imported! It has been designed such\nthat it can be bootstrapped into Python as the implementation of import. As\nsuch it requires the injection of specific modules and attributes in order to\nwork. One should use importlib as the public-facing version of this module.\n\n', '__package__': '', '__loader__': <type at remote 0x212b428>, '__spec__': <ModuleSpec(name='_frozen_importlib', loader=<type at remote 0x212b428>, origin=None, loader_state=None, submodule_search_locations=None, _set_fileattr=False, _cached=None) at remote 0x7fcfe9ae6ac8>, '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x212ab48>, '__spec__': <ModuleSpec(name='builtins', loader=<type at remote 0x212ab48>, origin=None, loader_state=None, sub...(truncated), nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #46 _PyFunction_FastCallKeywords (func=<optimized out>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:408 #47 0x000000000053f8cc in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at ../Python/ceval.c:4616 #48 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3124 #49 0x00000000005ca277 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7fcfe999d048, for file <frozen importlib._bootstrap>, line 983, in _find_and_load (name='tesserocr', import_=<built-in method __import__ of module object at remote 0x7fcfe9b2ac28>, module=<object at remote 0x7fcfe9ad2040>)) at ../Python/ceval.c:547 #50 function_code_fastcall (globals=<optimized out>, nargs=<optimized out>, args=<optimized out>, co=<optimized out>) at ../Objects/call.c:283 #51 _PyFunction_FastCallDict (func=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwargs=<optimized out>) at ../Objects/call.c:322 #52 0x00000000005cc294 in _PyObject_FastCallDict (kwargs=0x0, nargs=<optimized out>, args=0x7ffc7c949760, callable=<function at remote 0x7fcfe9af0d90>) at ../Objects/call.c:1198 #53 object_vacall (callable=<function at remote 0x7fcfe9af0d90>, vargs=<optimized out>) at ../Objects/call.c:1198 #54 0x00000000005cc6dd in _PyObject_CallMethodIdObjArgs (obj=<optimized out>, name=<optimized out>) at ../Objects/call.c:1248 #55 0x000000000052ad9b in import_find_and_load (abs_name='tesserocr') at ../Python/import.c:1646 #56 PyImport_ImportModuleLevelObject (name='tesserocr', globals=<optimized out>, locals=<optimized out>, fromlist=None, level=0) at ../Python/import.c:1754 #57 0x0000000000541491 in import_name (level=0, fromlist=None, name='tesserocr', f=Frame 0x7fcfe9af3840, for file <stdin>, line 1, in <module> ()) at ../Python/ceval.c:4770 #58 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2600 #59 0x000000000053cfb2 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x7fcfe9af3840, for file <stdin>, line 1, in <module> ()) at ../Python/ceval.c:547 #60 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x0, kwcount=<optimized out>, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:3930 #61 0x000000000053f3c3 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=<optimized out>, globals=<optimized out>, _co=<optimized out>) at ../Python/ceval.c:3959 #62 PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:524 #63 0x000000000062bcfe in run_mod (mod=mod@entry=0x21a4ae8, filename=filename@entry='<stdin>', globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <type at remote 0x212ab48>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7fcfe9b2ac28>}, locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <type at remote 0x212ab48>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7fcfe9b2ac28>}, flags=flags@entry=0x7ffc7c949c8c, arena=arena@entry=0x7fcfe9b311c8) at ../Python/pythonrun.c:1035 #64 0x0000000000471cbb in PyRun_InteractiveOneObjectEx (fp=fp@entry=0x7fcfe9fd9a00 <_IO_2_1_stdin_>, filename=filename@entry='<stdin>', flags=flags@entry=0x7ffc7c949c8c) at ../Python/pythonrun.c:256 #65 0x0000000000471e3d in PyRun_InteractiveLoopFlags (fp=fp@entry=0x7fcfe9fd9a00 <_IO_2_1_stdin_>, filename_str=filename_str@entry=0x773372 "<stdin>", flags=flags@entry=0x7ffc7c949c8c) at ../Python/pythonrun.c:120 #66 0x000000000062ce33 in PyRun_AnyFileExFlags (fp=0x7fcfe9fd9a00 <_IO_2_1_stdin_>, filename=0x773372 "<stdin>", closeit=0, flags=0x7ffc7c949c8c) at ../Python/pythonrun.c:78 #67 0x0000000000652c7e in pymain_run_file (p_cf=0x7ffc7c949c8c, filename=<optimized out>, fp=0x7fcfe9fd9a00 <_IO_2_1_stdin_>) at ../Modules/main.c:427 #68 pymain_run_filename (cf=0x7ffc7c949c8c, pymain=0x7ffc7c949d60) at ../Modules/main.c:1627 #69 pymain_run_python (pymain=0x7ffc7c949d60) at ../Modules/main.c:2877 #70 pymain_main (pymain=<optimized out>, pymain=<optimized out>) at ../Modules/main.c:3038 #71 0x0000000000652fde in _Py_UnixMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:3073 #72 0x00007fcfe9e4209b in __libc_start_main (main=0x4a97f0 <main>, argc=1, argv=0x7ffc7c949ea8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc7c949e98) at ../csu/libc-start.c:308 #73 0x00000000005d108a in _start () at ../Modules/main.c:725 (gdb) up #1 0x00007fcfe915f59e in tesseract::TessBaseAPI::TessBaseAPI (this=<optimized out>) at baseapi.cpp:209 209 ASSERT_HOST(!strcmp(locale, "C")); (gdb) display/i $pc 1: x/i $pc => 0x7fcfe915f59e <tesseract::TessBaseAPI::TessBaseAPI()+334>: jmp 0x7fcfe915f527 <tesseract::TessBaseAPI::TessBaseAPI()+215> (gdb) print locale $1 = <optimized out> (gdb) list 181 182 TessBaseAPI::TessBaseAPI() 183 : tesseract_(nullptr), 184 osd_tesseract_(nullptr), 185 equ_detect_(nullptr), 186 reader_(nullptr), 187 // Thresholder is initialized to nullptr here, but will be set before use by: 188 // A constructor of a derived API, SetThresholder(), or 189 // created implicitly when used in InternalSetImage. 190 thresholder_(nullptr), 191 paragraph_models_(nullptr), 192 block_list_(nullptr), 193 page_res_(nullptr), 194 input_file_(nullptr), 195 output_file_(nullptr), 196 datapath_(nullptr), 197 language_(nullptr), 198 last_oem_requested_(OEM_DEFAULT), 199 recognition_done_(false), 200 truth_cb_(nullptr), 201 rect_left_(0), 202 rect_top_(0), 203 rect_width_(0), 204 rect_height_(0), 205 image_width_(0), 206 image_height_(0) { 207 const char *locale; 208 locale = std::setlocale(LC_ALL, nullptr); 209 ASSERT_HOST(!strcmp(locale, "C")); 210 locale = std::setlocale(LC_CTYPE, nullptr); 211 ASSERT_HOST(!strcmp(locale, "C")); 212 locale = std::setlocale(LC_NUMERIC, nullptr); 213 ASSERT_HOST(!strcmp(locale, "C")); (gdb) disassemble tesseract::TessBaseAPI::TessBaseAPI Dump of assembler code for function tesseract::TessBaseAPI::TessBaseAPI(): 0x00007fcfe915f450 <+0>: mov 0x2910b1(%rip),%rax # 0x7fcfe93f0508 0x00007fcfe915f457 <+7>: push %rbx 0x00007fcfe915f458 <+8>: xor %esi,%esi 0x00007fcfe915f45a <+10>: lea 0x1f8ad9(%rip),%rbx # 0x7fcfe9357f3a 0x00007fcfe915f461 <+17>: movq $0x0,0x8(%rdi) 0x00007fcfe915f469 <+25>: add $0x10,%rax 0x00007fcfe915f46d <+29>: movq $0x0,0x10(%rdi) 0x00007fcfe915f475 <+37>: mov %rax,(%rdi) 0x00007fcfe915f478 <+40>: lea 0x1f07f8(%rip),%rax # 0x7fcfe934fc77 0x00007fcfe915f47f <+47>: movq $0x0,0x18(%rdi) 0x00007fcfe915f487 <+55>: movq $0x0,0x20(%rdi) 0x00007fcfe915f48f <+63>: movq $0x0,0x28(%rdi) 0x00007fcfe915f497 <+71>: movq $0x0,0x30(%rdi) 0x00007fcfe915f49f <+79>: movq $0x0,0x38(%rdi) 0x00007fcfe915f4a7 <+87>: movq $0x0,0x40(%rdi) 0x00007fcfe915f4af <+95>: movq $0x0,0x48(%rdi) 0x00007fcfe915f4b7 <+103>: movq $0x0,0x50(%rdi) 0x00007fcfe915f4bf <+111>: movq $0x0,0x58(%rdi) 0x00007fcfe915f4c7 <+119>: movq $0x0,0x60(%rdi) 0x00007fcfe915f4cf <+127>: movl $0x3,0x68(%rdi) 0x00007fcfe915f4d6 <+134>: movb $0x0,0x6c(%rdi) 0x00007fcfe915f4da <+138>: movq $0x0,0x70(%rdi) 0x00007fcfe915f4e2 <+146>: movq $0x0,0x78(%rdi) 0x00007fcfe915f4ea <+154>: movq $0x0,0x80(%rdi) 0x00007fcfe915f4f5 <+165>: movq $0x0,0x88(%rdi) 0x00007fcfe915f500 <+176>: mov %rax,0x90(%rdi) 0x00007fcfe915f507 <+183>: mov $0x6,%edi 0x00007fcfe915f50c <+188>: callq 0x7fcfe9143d80 <setlocale@plt> 0x00007fcfe915f511 <+193>: mov $0x2,%ecx 0x00007fcfe915f516 <+198>: mov %rbx,%rdi 0x00007fcfe915f519 <+201>: mov %rax,%rsi 0x00007fcfe915f51c <+204>: repz cmpsb %es:(%rdi),%ds:(%rsi) 0x00007fcfe915f51e <+206>: seta %al 0x00007fcfe915f521 <+209>: sbb $0x0,%al 0x00007fcfe915f523 <+211>: test %al,%al 0x00007fcfe915f525 <+213>: jne 0x7fcfe915f570 <tesseract::TessBaseAPI::TessBaseAPI()+288> 0x00007fcfe915f527 <+215>: xor %esi,%esi 0x00007fcfe915f529 <+217>: xor %edi,%edi 0x00007fcfe915f52b <+219>: callq 0x7fcfe9143d80 <setlocale@plt> 0x00007fcfe915f530 <+224>: mov $0x2,%ecx 0x00007fcfe915f535 <+229>: mov %rbx,%rdi 0x00007fcfe915f538 <+232>: mov %rax,%rsi 0x00007fcfe915f53b <+235>: repz cmpsb %es:(%rdi),%ds:(%rsi) 0x00007fcfe915f53d <+237>: seta %al 0x00007fcfe915f540 <+240>: sbb $0x0,%al 0x00007fcfe915f542 <+242>: test %al,%al 0x00007fcfe915f544 <+244>: jne 0x7fcfe915f5d0 <tesseract::TessBaseAPI::TessBaseAPI()+384> 0x00007fcfe915f54a <+250>: xor %esi,%esi 0x00007fcfe915f54c <+252>: mov $0x1,%edi 0x00007fcfe915f551 <+257>: callq 0x7fcfe9143d80 <setlocale@plt> 0x00007fcfe915f556 <+262>: mov $0x2,%ecx 0x00007fcfe915f55b <+267>: mov %rbx,%rdi 0x00007fcfe915f55e <+270>: mov %rax,%rsi 0x00007fcfe915f561 <+273>: repz cmpsb %es:(%rdi),%ds:(%rsi) 0x00007fcfe915f563 <+275>: seta %al 0x00007fcfe915f566 <+278>: sbb $0x0,%al 0x00007fcfe915f568 <+280>: test %al,%al 0x00007fcfe915f56a <+282>: jne 0x7fcfe915f5a0 <tesseract::TessBaseAPI::TessBaseAPI()+336> 0x00007fcfe915f56c <+284>: pop %rbx 0x00007fcfe915f56d <+285>: retq 0x00007fcfe915f56e <+286>: xchg %ax,%ax 0x00007fcfe915f570 <+288>: mov $0xd1,%r9d 0x00007fcfe915f576 <+294>: lea 0x1d8af7(%rip),%r8 # 0x7fcfe9338074 0x00007fcfe915f57d <+301>: xor %eax,%eax 0x00007fcfe915f57f <+303>: mov $0x2,%edx 0x00007fcfe915f584 <+308>: lea 0x1d8af5(%rip),%rcx # 0x7fcfe9338080 0x00007fcfe915f58b <+315>: lea 0x1d8b02(%rip),%rsi # 0x7fcfe9338094 0x00007fcfe915f592 <+322>: lea 0x291ee7(%rip),%rdi # 0x7fcfe93f1480 <_ZL13ASSERT_FAILED> 0x00007fcfe915f599 <+329>: callq 0x7fcfe914b050 <_ZNK7ERRCODE5errorEPKc16TessErrorLogCodeS1_z@plt> <<<<<<<<<<<<<<<<< 0x00007fcfe915f59e <+334>: jmp 0x7fcfe915f527 <tesseract::TessBaseAPI::TessBaseAPI()+215> 0x00007fcfe915f5a0 <+336>: mov $0xd5,%r9d 0x00007fcfe915f5a6 <+342>: lea 0x1d8ac7(%rip),%r8 # 0x7fcfe9338074 0x00007fcfe915f5ad <+349>: xor %eax,%eax 0x00007fcfe915f5af <+351>: pop %rbx 0x00007fcfe915f5b0 <+352>: lea 0x1d8ac9(%rip),%rcx # 0x7fcfe9338080 0x00007fcfe915f5b7 <+359>: mov $0x2,%edx 0x00007fcfe915f5bc <+364>: lea 0x1d8ad1(%rip),%rsi # 0x7fcfe9338094 0x00007fcfe915f5c3 <+371>: lea 0x291eb6(%rip),%rdi # 0x7fcfe93f1480 <_ZL13ASSERT_FAILED> 0x00007fcfe915f5ca <+378>: jmpq 0x7fcfe914b050 <_ZNK7ERRCODE5errorEPKc16TessErrorLogCodeS1_z@plt> 0x00007fcfe915f5cf <+383>: nop 0x00007fcfe915f5d0 <+384>: mov $0xd3,%r9d 0x00007fcfe915f5d6 <+390>: lea 0x1d8a97(%rip),%r8 # 0x7fcfe9338074 0x00007fcfe915f5dd <+397>: xor %eax,%eax 0x00007fcfe915f5df <+399>: mov $0x2,%edx 0x00007fcfe915f5e4 <+404>: lea 0x1d8a95(%rip),%rcx # 0x7fcfe9338080 0x00007fcfe915f5eb <+411>: lea 0x1d8aa2(%rip),%rsi # 0x7fcfe9338094 0x00007fcfe915f5f2 <+418>: lea 0x291e87(%rip),%rdi # 0x7fcfe93f1480 <_ZL13ASSERT_FAILED> 0x00007fcfe915f5f9 <+425>: callq 0x7fcfe914b050 <_ZNK7ERRCODE5errorEPKc16TessErrorLogCodeS1_z@plt> 0x00007fcfe915f5fe <+430>: jmpq 0x7fcfe915f54a <tesseract::TessBaseAPI::TessBaseAPI()+250> End of assembler dump. ############ benutzer@debian:~/source/libtesseract4/orig/tesseract-4.0.0/src/api$ gdb -q --args python3 Reading symbols from python3...Reading symbols from /usr/lib/debug/.build-id/f7/a005959bee4603ae22a65fcdbd66280deb3b54.debug...done. done. (gdb) set width 0 (gdb) set pagination off (gdb) directory /home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api Source directories searched: /home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api:$cdir:$cwd (gdb) directory /home/benutzer/source/libc6/orig/glibc-2.28/locale Source directories searched: /home/benutzer/source/libc6/orig/glibc-2.28/locale:/home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api:$cdir:$cwd (gdb) b tesseract::TessBaseAPI::TessBaseAPI Function "tesseract::TessBaseAPI::TessBaseAPI" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (tesseract::TessBaseAPI::TessBaseAPI) pending. (gdb) run Starting program: /usr/bin/python3 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Python 3.7.3rc1 (default, Mar 13 2019, 11:01:15) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tesserocr Breakpoint 1, 0x00007ffff72474e0 in tesseract::TessBaseAPI::TessBaseAPI()@plt () from /usr/lib/python3/dist-packages/tesserocr.cpython-37m-x86_64-linux-gnu.so (gdb) disa 1.1 (gdb) disa 1.3 (gdb) cont Continuing. Breakpoint 1, tesseract::TessBaseAPI::TessBaseAPI (this=0x7ffff72a6980 <__pyx_v_9tesserocr__api>) at baseapi.cpp:182 182 TessBaseAPI::TessBaseAPI() (gdb) next 208 locale = std::setlocale(LC_ALL, nullptr); (gdb) display/i $pc 1: x/i $pc => 0x7ffff6d02507 <tesseract::TessBaseAPI::TessBaseAPI()+183>: mov $0x6,%edi (gdb) stepi 0x00007ffff6d0250c 208 locale = std::setlocale(LC_ALL, nullptr); 1: x/i $pc => 0x7ffff6d0250c <tesseract::TessBaseAPI::TessBaseAPI()+188>: callq 0x7ffff6ce6d80 <setlocale@plt> (gdb) display locale 2: locale = <optimized out> (gdb) nexti 0x00007ffff6d02511 208 locale = std::setlocale(LC_ALL, nullptr); 1: x/i $pc => 0x7ffff6d02511 <tesseract::TessBaseAPI::TessBaseAPI()+193>: mov $0x2,%ecx 2: locale = <optimized out> (gdb) 0x00007ffff6d02516 208 locale = std::setlocale(LC_ALL, nullptr); 1: x/i $pc => 0x7ffff6d02516 <tesseract::TessBaseAPI::TessBaseAPI()+198>: mov %rbx,%rdi 2: locale = <optimized out> (gdb) 0x00007ffff6d02519 208 locale = std::setlocale(LC_ALL, nullptr); 1: x/i $pc => 0x7ffff6d02519 <tesseract::TessBaseAPI::TessBaseAPI()+201>: mov %rax,%rsi 2: locale = <optimized out> (gdb) 209 ASSERT_HOST(!strcmp(locale, "C")); 1: x/i $pc => 0x7ffff6d0251c <tesseract::TessBaseAPI::TessBaseAPI()+204>: repz cmpsb %es:(%rdi),%ds:(%rsi) 2: locale = 0x8df390 "LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C" (gdb) print/x $es $1 = 0x0 (gdb) print/x $rdi $2 = 0x7ffff6efaf3a (gdb) print/x $ds $3 = 0x0 (gdb) print/x $rsi $4 = 0x8df390 (gdb) x/s $rsi 0x8df390: "LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C" (gdb) x/s $rdi 0x7ffff6efaf3a: "C" set width 0 set pagination off directory /home/benutzer/source/libtesseract4/orig/tesseract-4.0.0/src/api directory /home/benutzer/source/libc6/orig/glibc-2.28/locale b tesseract::TessBaseAPI::TessBaseAPI y run import tesserocr disa 1.1 disa 1.3 cont next display/i $pc stepi https://github.com/tesseract-ocr/tesseract/blame/master/src/api/baseapi.cpp https://github.com/sirfz/tesserocr/issues/165