Error when running OCR step in control tower

Hi, I am doing the Power user final assignment and creating the OCR cards scan part. I have created the step and it can normally to run in Studio. But it will get below error when running in control tower, I have tried to disable the OCR scan step, it will success pass through, so I think it is caused by OCR step. I am using

build=308
version_number=10.1.6
version=Intelligent Automation Cloud Developer
timestamp=Thu 09/24/2020 12:04:26.72

Blockquote
org.webharvest.exception.PluginException: [urn:uuid:91FDD6AB52B843B536161006563819220] robotics-flow executePlugin exception: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes (456M) > maxPhysicalBytes (456M)
at com.freedomoss.crowdcontrol.webharvest.plugin.selenium.RoboticsFlowPlugin.executePlugin(RoboticsFlowPlugin.java:110)
at org.webharvest.runtime.processors.WebHarvestPlugin.execute(WebHarvestPlugin.java:125)
at org.webharvest.runtime.processors.BaseProcessor.run(BaseProcessor.java:127)
at org.webharvest.runtime.Scraper.execute(Scraper.java:169)
at org.webharvest.runtime.Scraper.execute(Scraper.java:182)
at com.freedomoss.crowdcontrol.webharvest.executor.LocalWebharvestTaskExecutor.executeWebHarvestTask(LocalWebharvestTaskExecutor.java:184)
at com.freedomoss.crowdcontrol.webharvest.executor.LocalWebharvestTaskExecutor.executeWebHarvestTask(LocalWebharvestTaskExecutor.java:128)
at com.workfusion.worker.ct.executors.WebharvestExecutorService.execute(WebharvestExecutorService.java:71)
at com.workfusion.worker.ct.executors.CtTaskExecutorService.execute(CtTaskExecutorService.java:40)
at com.workfusion.spa.core.execution.worker.router.TaskProcessor.executeTask(TaskProcessor.java:98)
at com.workfusion.spa.core.execution.worker.router.TaskProcessor.processTask(TaskProcessor.java:66)
at com.workfusion.spa.core.execution.worker.router.BaseMessageProcessor.processTask(BaseMessageProcessor.java:144)
at com.workfusion.spa.core.execution.worker.router.BaseMessageProcessor.onMessageLogWrapped(BaseMessageProcessor.java:89)
at com.workfusion.spa.core.execution.worker.router.BaseMessageProcessor.lambda$onMessage$0(BaseMessageProcessor.java:51)
at com.workfusion.spa.core.execution.amqp.logging.LoggingUtils.wrapMessageProcessingToLoggingContext(LoggingUtils.java:71)
at com.workfusion.spa.core.execution.amqp.logging.LoggingUtils.wrapMessageProcessingToLoggingContext(LoggingUtils.java:48)
at com.workfusion.spa.core.execution.worker.router.BaseMessageProcessor.onMessage(BaseMessageProcessor.java:51)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1493)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1384)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1360)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1339)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:817)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:801)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$700(SimpleMessageListenerContainer.java:77)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1042)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.webharvest.exception.PluginException: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes (456M) > maxPhysicalBytes (456M)
at com.freedomoss.crowdcontrol.webharvest.plugin.recorder.RecorderPlugin.executePlugin(RecorderPlugin.java:99)
at org.webharvest.runtime.processors.WebHarvestPlugin.execute(WebHarvestPlugin.java:125)
at org.webharvest.runtime.processors.BaseProcessor.run(BaseProcessor.java:127)
at org.webharvest.runtime.processors.BodyProcessor.execute(BodyProcessor.java:27)
at org.webharvest.runtime.processors.WebHarvestPlugin.executeBody(WebHarvestPlugin.java:246)
at com.freedomoss.crowdcontrol.webharvest.plugin.selenium.RoboticsFlowPlugin.executePlugin(RoboticsFlowPlugin.java:99)
… 25 more
Caused by: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes (456M) > maxPhysicalBytes (456M)
at org.bytedeco.javacpp.Pointer.deallocator(Pointer.java:585)
at org.bytedeco.javacpp.Pointer.init(Pointer.java:125)
at org.bytedeco.javacpp.opencv_core$Mat.allocate(Native Method)
at org.bytedeco.javacpp.opencv_core$Mat.(opencv_core.java:18553)
at org.bytedeco.javacpp.opencv_core$Mat.(opencv_core.java:18556)
at com.workfusion.mfw.surfacer.utils.OpenCVHelper.imgRead(OpenCVHelper.java:103)
at com.workfusion.mfw.surfacer.api.SearchImage.of(SearchImage.java:39)
at com.workfusion.mfw.surfacer.DefaultDesktopSurfacer.withImages(DefaultDesktopSurfacer.java:73)
at com.workfusion.mfw.surfacer.DefaultDesktopSurfacer.find(DefaultDesktopSurfacer.java:49)
at com.workfusion.autoit.driver.AutoItDriver.lambda$findImageElement$3(AutoItDriver.java:174)
at com.workfusion.common.utils.SynchUtils.retry(SynchUtils.java:70)
at com.workfusion.autoit.driver.AutoItDriver.findImageElement(AutoItDriver.java:172)
at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:190)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:55)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)
at Script1.run(Script1.groovy:1)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:444)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:482)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:453)
at com.workfusion.autoit.driver.script.GroovyExecutor.execute(GroovyExecutor.java:45)
at com.workfusion.autoit.driver.AutoItDriver.executeScriptInternal(AutoItDriver.java:263)
at com.workfusion.autoit.driver.AutoItDriver.executeScript(AutoItDriver.java:245)
at com.workfusion.universal.driver.UniversalDriver.executeScript(UniversalDriver.java:165)
at com.freedomoss.crowdcontrol.webharvest.selenium.wrapper.LocalDriverWrapper.executeScript(LocalDriverWrapper.java:160)
at com.workfusion.rpa.helpers.selectors.ByImage.findElement(ByImage.java:40)
at com.freedomoss.crowdcontrol.webharvest.selenium.wrapper.LocalDriverWrapper.findElement(LocalDriverWrapper.java:195)
at com.workfusion.rpa.helpers.RPA.getElement(RPA.java:945)
at com.workfusion.rpa.helpers.RPA.$(RPA.java:865)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:209)
at Script8_genScript_8.run(Script8_genScript_8.groovy:9)
at com.workfusion.studio.rpa.recorder.playback.shell.GroovyShellWrapper.executeScript(GroovyShellWrapper.java:48)
at com.workfusion.studio.rpa.recorder.playback.player.PlaybackContext.executeScript(PlaybackContext.java:108)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.executeBehavior(TemplateAction.java:33)
at com.workfusion.studio.rpa.recorder.playback.flow.StandardControlFlow.execute(StandardControlFlow.java:46)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:28)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:15)
at com.workfusion.studio.rpa.recorder.playback.player.ActionPlayer.next(ActionPlayer.java:81)
at com.freedomoss.crowdcontrol.webharvest.plugin.recorder.RecorderPlaybackProcess.start(RecorderPlaybackProcess.java:96)
at com.freedomoss.crowdcontrol.webharvest.plugin.recorder.RecorderPlugin.play(RecorderPlugin.java:123)
at com.freedomoss.crowdcontrol.webharvest.plugin.recorder.RecorderPlugin.executePlugin(RecorderPlugin.java:94)
… 30 more

Blockquote

Hi, Edmond! I have send an email to you, how to solve this problem.

Hi Abrakovich, I can’t resolve it in IA Cloud Enterprise
10.2 version do 1 or 2 ocr scan will happen the error
10.1.6 version do 5 or 6 ocr scan will happen the error

Finally, I go back to Business Edition version 2.4.2, the same bot can smooth complete the OCR tasks.

hello, im also facing same issue on a pretty basic RPA when running it from Control Tower. Could you please share the email with solution with me as well?

Regards,
Quamruz.

Hi, Quamruz! Please, specify the version and the issue you are facing.

Sorry for a late update Andrei.
I am running cloud developer version 10.2.0.0. I have filed a Jira tkt WFSUP-5093 for same.

The RPA runs fine from studio but fails when ran from Control tower with below error.

org.webharvest.exception.PluginException: [urn:uuid:26649A87D89C58189A16166054677673] robotics-flow executePlugin exception: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes (519M) > maxPhysicalBytes (456M)

I have 50GB of ram dedicated for this windows server where i am running the application. Is there a way i can allocate more ram to the WF application?

Regards,
Quamruz.