cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
miketran13
Impactful Individual
Impactful Individual

PAD does not work with Create Tesseract OCR engine in the new version (2.3.2121.23000)

Hi,

 

Does anyone get this error? 

 

I could make it work with the previous version of PAD, but when I upgraded PAD to the new version and I could not make it works.

 

When I am debugging, it just stopped at the step Create Tesseract OCR engine, and it does not say any errors. However, when running the process without debugging, I got the exception in below.

 

Does anyone have any ideas? 

 
 

Screenshot 2021-01-30 144318.png

 

 

 

 

 

 

 

 

 

 

 

Message = A user callback threw an exception.  Check the exception stack and inner exception to determine the callback that failed.
Error = System.Runtime.CallbackException
Full text = System.Runtime.CallbackException: A user callback threw an exception.  Check the exception stack and inner exception to determine the callback that failed. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at WinAutomation.Console.ExecutionLogs.Services.ExecutionLogManager.FinalizeExecutionLogs(ProcessCompletedEventArgs eventArgs)
   at WinAutomation.Console.Application.Process.Runner.ProcessRunnerState.ProcessManager_ProcessCompleted(Object sender, ProcessCompletedEventArgs e)
   at WinAutomation.Bot.ProcessManagement.Runner.ProcessesRunner.AddInstanceToCompleted(ProcessInstance instance, ProcessCompletedReason reason, Exception exception)
   at WinAutomation.Bot.ProcessManagement.Runner.ProcessesRunner.Instance_Crashed(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.ServiceModel.Channels.CommunicationObject.OnFaulted()
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.CommunicationObject.OnFaulted()
   at System.ServiceModel.Channels.CommunicationObject.Fault()
   at System.ServiceModel.Channels.ServiceChannel.OnInnerChannelFaulted(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.ServiceModel.Channels.CommunicationObject.OnFaulted()
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnFaulted()
   at System.ServiceModel.Channels.CommunicationObject.Fault()
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.EndReceive(IAsyncResult result)
   at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
   at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
   at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
   at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
   at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.AsyncProtocolRequest.CompleteWithError(Exception e)
   at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
   at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
   at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
   at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
   at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 error, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

 

 

 

 

 

 

 

 

 

 

 

Thanks in advance!

 

Mike

 
13 REPLIES 13
Anonymous
Not applicable

Hi @miketran13 

I have check the "Create Tesseract OCR engine" action in versions "2.4.78.21036" and "2.2.20339.22608" and its working fine. It might be some intermittent issue

burque505
Helper V
Helper V

Version 2.6.00158.21069 (the free version, not sure if it makes a difference):

"Create Tesseract OCR engine" yields the following error message (none when run from the editor):

tesseract.png

Both 32-bit and 64-bit tesseract41.dll files are present in their respective folders:

C:\Program Files (x86)\Power Automate Desktop\x86\tesseract41.dll
C:\Program Files (x86)\Power Automate Desktop\x64\tesseract41.dll

Not many posts on Tesseract - is anyone else having issues?

Thanks!

 

Regards,

burque505

CR0826
New Member

I'm having the exact same issue.

fraenK
Memorable Member
Memorable Member

@CR0826 Which issue?

 

Checked with PAD version 2.6.00158.21069 and Tesseract DLLs version 4.1.0.0, works fine, both with free/personal and paid/work account.

burque505
Helper V
Helper V

The issue right above that post, one would think.

Doesn't work for me.

Doesn't work for some others apparently.

PAD version 2.6.00158.21069 (free) and Tesseract DLLs version 4.1.0.0. Windows 10 Pro 10.0.19041 Build 19041.

 

Only action in the flow:

burque505_0-1618344707683.png

 

 

fraenK
Memorable Member
Memorable Member

What does the Actions.log say?

burque505
Helper V
Helper V

Curiously enough, all actions.log on my machine are zero bytes starting at 21.05 GMT today. Reviewing the history of all actions.log files for the last month, I notice several periods of more than an hour where these files are also zero bytes. Flows, however, are running as normal.

 

EDIT: I did not know this, and don't know if it's a bug or a feature, but at least for me a failed action does not get logged. So the first action failing means - no log. This appears to be the cause of the other zero-byte log files, much to my chagrin. 🙄

 

{"name":"Display message","systemActionName":"ShowMessageDialog","systemModuleName":"Display","localizedModuleName":"Message boxes","inputs":{"closeAutomatically":{"localizedName":"Close message box automatically","value":"False","variableName":""},"message":{"localizedName":"Message to display","value":"Tesseract still not working","variableName":""},"icon":{"localizedName":"Message box icon","value":"None","variableName":""},"buttons":{"localizedName":"Message box buttons","value":"OK","variableName":""},"defaultButton":{"localizedName":"Default button","value":"Button1","variableName":""},"isTopMost":{"localizedName":"Keep message box always on top","value":"False","variableName":""}},"outputs":{"buttonPressed":{"localizedName":"Button pressed","value":"OK","variableName":"ButtonPressed"}},"startTime":"2021-04-13T21:12:06.1094804Z","index":1,"functionName":"main","insideErrorHandling":false,"endTime":"2021-04-13T21:12:08.4100256Z","status":"Succeeded"}

 

 

This flow now looks like this:

flow.PNG

And the error message toast notification reports line 2 (i.e. Tesseract engine) fails, but there is no indication of this in the log.

fraenK
Memorable Member
Memorable Member

There seams to be something wrong with your PAD installation or Windows environment.

 

If i set the image multiplier to 0, I can reproduce an error with "Create Tesseract OCR engine" being the first action.

The log file is created with a detailed error message. 

burque505
Helper V
Helper V

Thanks for checking. Quit odd. I believe I will wait until the next update to see if that clears it up.

 

EDIT: I went ahead and reinstalled PAD. Same error with Tesseract. Taking a clue from @fraenK, I first created a MODI engine with an image width multiplier of 0 to force an error to check failure logging. Unlike with the properly configured Tesseract engine, the failure is logged.

 

 

{"name":"Display message","systemActionName":"ShowMessageDialog","systemModuleName":"Display","localizedModuleName":"Message boxes","inputs":{"closeAutomatically":{"localizedName":"Close message box automatically","value":"False","variableName":""},"message":{"localizedName":"Message to display","value":"Tesseract still not working","variableName":""},"icon":{"localizedName":"Message box icon","value":"None","variableName":""},"buttons":{"localizedName":"Message box buttons","value":"OK","variableName":""},"defaultButton":{"localizedName":"Default button","value":"Button1","variableName":""},"isTopMost":{"localizedName":"Keep message box always on top","value":"False","variableName":""}},"outputs":{"buttonPressed":{"localizedName":"Button pressed","value":"OK","variableName":"ButtonPressed"}},"startTime":"2021-04-13T22:17:18.986991Z","index":1,"functionName":"main","insideErrorHandling":false,"endTime":"2021-04-13T22:17:21.3506912Z","status":"Succeeded"}
{"name":"Create MODI OCR engine","systemActionName":"CreateMODIEngine","systemModuleName":"OCR","localizedModuleName":"OCR","inputs":{"language":{"localizedName":"MODI language","value":"English","variableName":""},"imageWidthMultiplier":{"localizedName":"Image width multiplier","value":"0","variableName":""},"imageHeightMultiplier":{"localizedName":"Image height multiplier","value":"1","variableName":""}},"outputs":{"modiEngine":{"localizedName":"OCR engine","value":"","variableName":"OCREngine2"}},"startTime":"2021-04-13T22:17:21.3536901Z","index":2,"functionName":"main","insideErrorHandling":false,"endTime":"2021-04-13T22:17:21.3776761Z","status":"Failed","error":{"code":"ActionRuntimeError","correlationId":"6a1f3482-8bde-4887-8e96-516ec7b34d34","message":"Runtime Error: Image width multiplier should be equal to or greater than one (1). Image width multiplier should be equal to or greater than one (1)"},"contextData":[{"type":"Screenshot","valueType":"BinaryReference","value":"9decb705-1546-4647-8f90-c4f8a76f9a0d","metadata":{"mimeType":"image/gif"}}]}

 

As that got logged, I tried the same procedure with the Tesseract engine. That too gets logged:

{"name":"Display message","systemActionName":"ShowMessageDialog","systemModuleName":"Display","localizedModuleName":"Message boxes","inputs":{"closeAutomatically":{"localizedName":"Close message box automatically","value":"False","variableName":""},"message":{"localizedName":"Message to display","value":"Tesseract still not working","variableName":""},"icon":{"localizedName":"Message box icon","value":"None","variableName":""},"buttons":{"localizedName":"Message box buttons","value":"OK","variableName":""},"defaultButton":{"localizedName":"Default button","value":"Button1","variableName":""},"isTopMost":{"localizedName":"Keep message box always on top","value":"False","variableName":""}},"outputs":{"buttonPressed":{"localizedName":"Button pressed","value":"OK","variableName":"ButtonPressed"}},"startTime":"2021-04-13T22:22:35.3111488Z","index":1,"functionName":"main","insideErrorHandling":false,"endTime":"2021-04-13T22:22:38.5546335Z","status":"Succeeded"}
{"name":"Create Tesseract OCR engine","systemActionName":"CreateTesseractOCREngineBase","systemModuleName":"OCR","localizedModuleName":"OCR","inputs":{"useOtherLanguage":{"localizedName":"Use other language","value":"False","variableName":""},"language":{"localizedName":"Tesseract language","value":"English","variableName":""},"imageWidthMultiplier":{"localizedName":"Image width multiplier","value":"0","variableName":""},"imageHeightMultiplier":{"localizedName":"Image height multiplier","value":"1","variableName":""}},"outputs":{"tesseractEngine":{"localizedName":"OCR engine","value":"","variableName":"OCREngine"}},"startTime":"2021-04-13T22:22:38.5566337Z","index":3,"functionName":"main","insideErrorHandling":false,"endTime":"2021-04-13T22:22:38.5816174Z","status":"Failed","error":{"code":"ActionRuntimeError","correlationId":"6a1f3482-8bde-4887-8e96-516ec7b34d34","message":"Runtime Error: Image width multiplier should be equal to or greater than one (1). Image width multiplier should be equal to or greater than one (1)"},"contextData":[{"type":"Screenshot","valueType":"BinaryReference","value":"fceebacb-224e-45c8-a3cf-c67d920994ab","metadata":{"mimeType":"image/gif"}}]}

 

The only (unsatisfactory) conclusions I can draw from this are:

1) Failures do get logged for my PAD installation, including one resulting from purposely misconfiguring the Tesseract engine as well as an analogous one for the MODI engine.

2) A properly configured Tesseract engine fails to be created, but the failure is not logged.

 

 

fraenK
Memorable Member
Memorable Member

This issue might be similar to this one: https://powerusers.microsoft.com/t5/Power-Automate-Desktop/CMD-Session-does-not-start/m-p/890371

Does running CMD with ipconfig in console mode work for you?

 

Seems like that there is an issue with the console execution vs. the designer execution?

 

Maybe deleting/clearing following directories helps?

%localappdata%\Microsoft\PAD.Console.Host.exe_StrongName_0ai3ib2g51gilghykmp4r0d1ng32h5tk

%localappdata%\Microsoft\PAD.Designer.Host.exe_StrongName_shfb154oqo44bi4j2fbcs1y5wwhkvhzj

Thanks for keeping up with it. I don't have any cmd.exe problems, I make very heavy use of the command prompt, ipconfig being a frequent call.

Regarding the StrongName directories, I had the same thought you did and had already deleted them.

 

No luck, I'm afraid. I have an unconventional troubleshooting option to explore - I'll report back.

 

EDIT: From use of the limited tools I have available, it seems to me that the call to create the OCR Engine, to either Tesseract41.dll, leptonica-1.78.0.dll (or perhaps the combination), kills a process or processes called by Robin.Runtime.Agent.dll, Robin.Runtime.Engine.dll (or perhaps both). The call to the tesseract dlls (unmanaged code, I believe) does not kill either PAD.Console.Host or PAD.Designer.Host. Behavior is similar to other scenarios where there is an attempt to write to protected memory.

 

That said, I doubt this (largely guesswork) analysis of mine is going to be of any use in solving my problem.

 

Regards,

burque505

comi
Frequent Visitor

Same problem here, with PAD 2.6.158.21069 and 2.9.120.21133 on Windows 10 Pro Version 10.0.19043 Build 19043 x64

 

created a Ticket, hopefully on the right place:

PAD doesn't initialize tesseract ocr and crash wit... - Power Platform Community (microsoft.com)

 

seems to be an environment problem, since I have another computer from work on which all works fine with 2.6. But without a concrete error message I can not fix it.

 

comi
Frequent Visitor

-- deleted by user

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Kudoed Authors
Users online (1,376)