OCR Error

Scenario: Trying to make a simple OCR activity using Google OCR, in a non-English language, already got the corresponding tessdata placed its folder under UiPath installation directory.

Steps to reproduce: Load Image as the source, Google OCR, Message Box as the output

Current Behavior: Exception threw.

Expected Behavior: Pop me up with the desired texts from image.

Studio/Robot/Orchestrator Version:2016.2

Last stable behavior:N/A
Last stable version:N/A
OS Version:Windows 8.1
Others if Relevant: (workflow, logs, .net version, service pack, etc):
Main has thrown an exception

Message: One or more errors occurred.

Source: Google OCR

Exception Type: AggregateException

System.AggregateException: One or more errors occurred. —> System.Exception: Error scraping using host process. Service is not available. —> System.ServiceModel.CommunicationException: There was an error reading from the pipe: Unrecognized error 109 (0x6d). —> System.IO.PipeException: There was an error reading from the pipe: Unrecognized error 109 (0x6d).
at System.ServiceModel.Channels.PipeConnection.FinishSyncRead(Boolean traceExceptionsAsErrors)
at System.ServiceModel.Channels.PipeConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
— End of inner exception stack trace —

Server stack trace:
at System.ServiceModel.Channels.PipeConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.DelegatingConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceive(TimeSpan timeout, Message& message)
at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object ins, Object outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at UiPath.Vision.OCR.Service.IHostService.Scrape(OCRInput input, OCROptions options, OCROutput& output)
at UiPath.Vision.OCR.Service.HostServiceProxy.Scrape(OCRInput input, OCROptions options, OCROutput& output)
— End of inner exception stack trace —
at UiPath.Vision.OCR.Service.HostServiceProxy.Scrape(OCRInput input, OCROptions options, OCROutput& output)
at UiPath.Vision.OCR.OCRClient.<>c__DisplayClass4_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
— End of inner exception stack trace —

Server stack trace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at UiPath.Vision.OCR.OCRClient.ScrapeUsingHostService(OCRInput input, OCROptions options, CancellationToken cancelToken)
at UiPath.Vision.OCR.OCRClient.Scrape(OCRInput input, OCROptions options, CancellationToken cancelToken, Boolean useHostProcess)
at UiPath.Vision.UiImage.ScrapeOCR(OCROptions options, CancellationToken cancellationToken)
at UiPath.Core.Activities.OCREngineActivity.<>c__DisplayClass36_0.b__0()
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object args, Object server, Object& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at System.Func1.EndInvoke(IAsyncResult result) at UiPath.Core.Activities.OCREngineActivity.EndExecute(AsyncCodeActivityContext context, IAsyncResult result) at System.Activities.AsyncCodeActivity1.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
—> (Inner Exception #0) System.Exception: Error scraping using host process. Service is not available. —> System.ServiceModel.CommunicationException: There was an error reading from the pipe: Unrecognized error 109 (0x6d). —> System.IO.PipeException: There was an error reading from the pipe: Unrecognized error 109 (0x6d).
at System.ServiceModel.Channels.PipeConnection.FinishSyncRead(Boolean traceExceptionsAsErrors)
at System.ServiceModel.Channels.PipeConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
— End of inner exception stack trace —

Server stack trace:
at System.ServiceModel.Channels.PipeConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.DelegatingConnection.Read(Byte buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceive(TimeSpan timeout, Message& message)
at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object ins, Object outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at UiPath.Vision.OCR.Service.IHostService.Scrape(OCRInput input, OCROptions options, OCROutput& output)
at UiPath.Vision.OCR.Service.HostServiceProxy.Scrape(OCRInput input, OCROptions options, OCROutput& output)
— End of inner exception stack trace —
at UiPath.Vision.OCR.Service.HostServiceProxy.Scrape(OCRInput input, OCROptions options, OCROutput& output)
at UiPath.Vision.OCR.OCRClient.<>c__DisplayClass4_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()<—

please attach snapshot of your workflow.

Hi ddpadil,

Attached. Many thanks for your help.

Main.xaml (14.7 KB)

The language is Chinese Simplified: tessdata/chi_sim.traineddata at 3.04.00 · tesseract-ocr/tessdata · GitHub

Did you check this?

Hi vvaidya,

Thanks for your reply. Yes, I guess when they said “v3.4” that means the 3.04 which I attached in my last post. Because another version available there is now 4.0…

Any other thoughts?

Did you resolve this problem? I also meet this problem.

Nope, feel free to add me on WeChat (rmia001), we can discuss and see how we could get it…