Error Message: Internal Program Error: src\ExternalObjectBase.h, 42

  • 127 Views
  • Last Post 14 February 2019
Javier posted this 14 February 2019

Good morning,

Sometimes, when I try to process a document, the following error occurs:

Error Message: Internal Program Error: 
src\ExternalObjectBase.h, 42

But only sometimes, not all times.

Do you know what that means this error?

Thank you.

Order By: Standard | Newest | Votes
Nadezhda A. Solovyeva posted this 14 February 2019

Dear Javier,

Could you please kindly send us your FineReader Engine log? 

Please refer our knowledgebase article to figure out how to collect the logs.

Please start logging right after FineReader Engine initialization, reproduce the issue and send the log file to us. If the issue is caused by a specific image, please also send the image. 

Javier posted this 14 February 2019

Hello Nadezhda,

I send you a part of the log, cause It´s too large.

I suppose, that the problem are the final lines:

4816 :12:44:59.562, 0 ms, IEnumerator::get_Current( (structtagVARIANT*)0x2434ebc0 )

4816 :12:44:59.564, 0 ms, ICheckmarkBlock::get_Name( (BSTR*)0x2434ebc0 )

4816 :12:44:59.565, 0 ms, ICheckmarkBlock::GetAsCheckmarkBlock( (ICheckmarkBlock**)0x22f9f9b0 )

4816 :12:44:59.566, 0 ms, ICheckmarkBlock::get_AmountOfBlack( (int*)0x2434ebc0 )

4816 :12:44:59.569, 16 ms, IFRDocument::Close()

4816 :Warning: DeinitializeEngine() has detected external references to FREngine objects. 

It can indicate a leak if programming platform without automatic garbage collection is used.

 

Leaked objects list:

FRDocument

Engine

Total: 2 objects

 To do the FineReader Engine initialization and other objects, I do the next:

IEngineLoader engineLoader = new InprocLoader();

IEngine engine = engineLoader.GetEngineObject(processConfig.License);

FRDocument document = engine.CreateFRDocument();

 document.AddImageFileFromStream(reader, null, null, null, "0");

And to remove this objets, I do this:

                 if (document != null)

                {

                    document.Close();

                    document = null;

                }                

                engine = null;

                GC.Collect();

                GC.WaitForPendingFinalizers();

                GC.Collect();

                engineLoader.ExplicitlyUnload();

 

Kind regards and thanks for your soport.

 

Close