Skip to content

C# "Tesseract" Version="5.2.0" - Fatal error. 0xC0000005 for "chi_sim+chi_tra+jpn", occurs at least once in 100 loops, when initializing the TesseractEngine. #678

@Teessence

Description

@Teessence

Hi,

I have encountered a potential bug where "Fatal error. 0xC0000005" is thrown when initializing Tesseract with this language combination "chi_sim+chi_tra+jpn". I've implemented a 100 iteration loop and it occurs at least once, I've run it tens of times so it's reproducible quite easily by me. It happens with 5.2.0 but if I switch to 4.1.1 it's ok no issues...

 static void Main(string[] args)
       {
           string tessDataPath = @"C:\tessdata_best-main\tessdata_best-main";  // Modify this path if necessary

           var UniqueTesseractLanguages = new List<string>
           {
               "chi_sim+chi_tra+jpn"
           };

           Console.WriteLine("Languages to be processed: " + string.Join(",", UniqueTesseractLanguages));

           for (int i = 0; i < 100; i++)
           {
               foreach (string TesseractLanguage in UniqueTesseractLanguages)
               {
                   Console.WriteLine("Starting language " + TesseractLanguage);

                   using (var te = new TesseractEngine(tessDataPath, TesseractLanguage, EngineMode.Default))
                   {
                       Console.WriteLine("Started language " + TesseractLanguage);
                       te.SetVariable("debug_file", "NUL");
                   }
               }
           }

           Console.WriteLine("done");
           return;
       }

Output

Languages to be processed: chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Started language chi_sim+chi_tra+jpn
Starting language chi_sim+chi_tra+jpn
Fatal error. 0xC0000005
at InteropRuntimeImplementer.TessApiSignaturesInstance.TessApiSignaturesImplementation.BaseApiInit(System.Runtime.InteropServices.HandleRef, System.String, System.String, Int32, System.String[], Int32, System.String[], System.String[], UIntPtr, Boolean)
at Tesseract.Interop.TessApi.BaseApiInit(System.Runtime.InteropServices.HandleRef, System.String, System.String, Int32, System.Collections.Generic.IEnumerable1<System.String>, System.Collections.Generic.IDictionary2<System.String,System.Object>, Boolean)
at Tesseract.TesseractEngine.Initialise(System.String, System.String, Tesseract.EngineMode, System.Collections.Generic.IEnumerable1<System.String>, System.Collections.Generic.IDictionary2<System.String,System.Object>, Boolean)
at Tesseract.TesseractEngine..ctor(System.String, System.String, Tesseract.EngineMode, System.Collections.Generic.IEnumerable1<System.String>, System.Collections.Generic.IDictionary2<System.String,System.Object>, Boolean)
at Tesseract.TesseractEngine..ctor(System.String, System.String, Tesseract.EngineMode)
at SpeechRecognitionApp.Program.Main(System.String[])

Expected Behavior
No "Fatal error. 0xC0000005" error

tesseract -v
tesseract v5.5.0.20241111

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions