Home > Forum > Actions > [not solved] Document is stuck in text layer queue (OCR configuration)

[not solved] Document is stuck in text layer queue (OCR configuration)
0

Hi,
I am trying to configure an OCR action. For my configuration I have followed various instructions in the webcon community, especially: https://community.webcon.com/posts/post/the-ocr-verification-view-for-the-modern-form/71/3.
I have seen in the text layer queue report that the status of my documents is "ProcessingPending". I don't see anywhere what is the reason why the status is not changing or that anything is happening with this document.
(FineReader is installed and license key is entered).

I also wanted to ask if there are any tips for the configuration. In my use case, PDF files are uploaded on which there is an image of an ID card. I want to check if there is a certain text sequence on the badge. If the text is not on it then nothing should happen, but if it is on it there should be an alert and another document should be added.

MVP
In reply to: Celina

Hi, yes this is the output:

(Translation of the picture):

Add text layer

Message
Enqueued attachment with ID = 1200 with priority 5.
1 file attached

I don't know German very well ;), so I only just saw that you don't have a service assigned.
I checked mine and it happens when you don't have the option that Maksymilian wrote about active.

I assume you have a WEBCON OCR FRAMEWORK license (it's different than a FineReader license)?
Also check if you don't have OCR set at night?

Maybe try refreshing the webcon license and restarting the webcon service

In reply to: Jacek Wojnar

I don't know German very well ;), so I only just saw that you don't have a service assigned.
I checked mine and it happens when you don't have the option that Maksymilian wrote about active.

I assume you have a WEBCON OCR FRAMEWORK license (it's different than a FineReader license)?
Also check if you don't have OCR set at night?

Maybe try refreshing the webcon license and restarting the webcon service

Hi,
the 'OCR AI' Checkbox is checked and the Nighttime Option is not checked.
I tried what happens when I uncheck the Checkbox ([can be seen in the Report image] - the first line is with the 'OCR AI' checkbox checked, the second line with the 'OCR AI' checkbox unchecked)

I have activated both licenses (WebCon OCR Framework & ABBYY FineReader Engine 12 Runtime License). After refreshing the webcon license and restarting the webcon service nothing changed...

In reply to: Maksymilian Stachowiak

I'm not having any OCR access right now, so can't check if there will be any information.

Have you checked Windows Event Viewer logs for Webcon Workflow Service?

There's a "warning":

Category: Exception
System.UnauthorizedAccessException: Access to C:\Windows\system32\0 was denied.
for FREngine.IEngineLoader.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.OcrAI.TextLayer.FR12.Implementation.FR12EngineLoaderBase.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12HolderFactory.InitializeEngine(IFROutprocLoaderBase engineLoader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRHolderFactoryBase.CreateFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRFacadeFactoryBase.GetFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12FacadeFactory.CreateFacade(ITextLayerLanguagesDownloader downloader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.Processors.TextLayerProcessorFactory.GetProcessorImpl(ProcessorArgs args)
with WebCon.WorkFlow.Service.Queues.Management.ProcessorFactory.GetProcessor(ProcessorArgs args, Boolean clearThreadItems)

and an "information":

WebCon.WorkFlow.Service
Category: Exception
Role: OcrTextLayer
WebCon.WorkFlow.Service.Queues.Processors.InvalidProcessor`1+InvalidProcessorActionException[WebCon.WorkFlow.Service.Roles.OcrTextLayer.Queue.TextLayerQueueElement]: InvalidProcessor will be replaced Queue ThreadId: 0 ThreadGuid: e211c25a-ef7c-48c2-8d53-9678d2789584
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ContextActionAsync>d__40.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ProcessingThreadActionAsync>d__39.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ThreadActionAsync>d__38.MoveNext()

MVP
In reply to: Celina

There's a "warning":

Category: Exception
System.UnauthorizedAccessException: Access to C:\Windows\system32\0 was denied.
for FREngine.IEngineLoader.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.OcrAI.TextLayer.FR12.Implementation.FR12EngineLoaderBase.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12HolderFactory.InitializeEngine(IFROutprocLoaderBase engineLoader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRHolderFactoryBase.CreateFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRFacadeFactoryBase.GetFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12FacadeFactory.CreateFacade(ITextLayerLanguagesDownloader downloader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.Processors.TextLayerProcessorFactory.GetProcessorImpl(ProcessorArgs args)
with WebCon.WorkFlow.Service.Queues.Management.ProcessorFactory.GetProcessor(ProcessorArgs args, Boolean clearThreadItems)

and an "information":

WebCon.WorkFlow.Service
Category: Exception
Role: OcrTextLayer
WebCon.WorkFlow.Service.Queues.Processors.InvalidProcessor`1+InvalidProcessorActionException[WebCon.WorkFlow.Service.Roles.OcrTextLayer.Queue.TextLayerQueueElement]: InvalidProcessor will be replaced Queue ThreadId: 0 ThreadGuid: e211c25a-ef7c-48c2-8d53-9678d2789584
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ContextActionAsync>d__40.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ProcessingThreadActionAsync>d__39.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ThreadActionAsync>d__38.MoveNext()

Okay, so based on the error:
System.UnauthorizedAccessException: Access to C:\Windows\system32\0 was denied.
I'd look to configuration of those:

* String LicensePath,
* String FREngineDataFolder,
* String FREngineTempFolder

Inside Webcon and FineReader.

Maybe one is empty and it defaults to C:\Windows\system32\0 ?

In reply to: Celina

There's a "warning":

Category: Exception
System.UnauthorizedAccessException: Access to C:\Windows\system32\0 was denied.
for FREngine.IEngineLoader.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.OcrAI.TextLayer.FR12.Implementation.FR12EngineLoaderBase.InitializeEngine(String CustomerProjectId, String LicensePath, String LicensePassword, String FREngineDataFolder, String FREngineTempFolder, Boolean IsSharedCPUCoresMode)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12HolderFactory.InitializeEngine(IFROutprocLoaderBase engineLoader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRHolderFactoryBase.CreateFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.Base.FRFacadeFactoryBase.GetFRHolder()
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.FR.v12.FR12FacadeFactory.CreateFacade(ITextLayerLanguagesDownloader downloader)
for WebCon.WorkFlow.Service.Roles.OcrTextLayer.Processors.TextLayerProcessorFactory.GetProcessorImpl(ProcessorArgs args)
with WebCon.WorkFlow.Service.Queues.Management.ProcessorFactory.GetProcessor(ProcessorArgs args, Boolean clearThreadItems)

and an "information":

WebCon.WorkFlow.Service
Category: Exception
Role: OcrTextLayer
WebCon.WorkFlow.Service.Queues.Processors.InvalidProcessor`1+InvalidProcessorActionException[WebCon.WorkFlow.Service.Roles.OcrTextLayer.Queue.TextLayerQueueElement]: InvalidProcessor will be replaced Queue ThreadId: 0 ThreadGuid: e211c25a-ef7c-48c2-8d53-9678d2789584
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ContextActionAsync>d__40.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ProcessingThreadActionAsync>d__39.MoveNext()
--- End of batch monitoring from the previous location where the exception was raised ---
for System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
with System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
for WebCon.WorkFlow.Service.Queues.Processors.ProcessorBase`1.<ThreadActionAsync>d__38.MoveNext()

Hi,

A solution that is not ideal but works is to manually create a folder named "0" and give modification permissions to everyone.
Full path: C:\Windows\system32\0