robotframework-SikuliLibrary icon indicating copy to clipboard operation
robotframework-SikuliLibrary copied to clipboard

FAIL : unknown exception DEBUG : java.lang.Exception: unknown exception

Open candicenulud opened this issue 5 years ago • 17 comments

image I am having an issue when running my robot script. It is having an error on SikuliLibrary.

java.lang.Exception: unknown exception at org.opencv.imgproc.Imgproc.matchTemplate_1(Native Method) at org.opencv.imgproc.Imgproc.matchTemplate(Imgproc.java:2616) at org.sikuli.script.Finder$Finder2.doFindMatch(Finder.java:733) at org.sikuli.script.Finder$Finder2.doFindImage(Finder.java:704) at org.sikuli.script.Finder$Finder2.doFind(Finder.java:622) at org.sikuli.script.Finder$Finder2.find(Finder.java:582) at org.sikuli.script.Finder.find(Finder.java:195) at org.sikuli.script.Region.runFinder(Region.java:2797) at org.sikuli.script.Region.doFind(Region.java:2751) at org.sikuli.script.Region.access$200(Region.java:28) at org.sikuli.script.Region$RepeatableFind.run(Region.java:2983) at org.sikuli.script.Region$Repeatable.repeat(Region.java:2926) at org.sikuli.script.Region.wait(Region.java:2196) at com.github.rainmanwy.robotframework.sikulilib.keywords.ScreenKeywords.wait(ScreenKeywords.java:304) at com.github.rainmanwy.robotframework.sikulilib.keywords.ScreenKeywords.waitUntilScreenContain(ScreenKeywords.java:329) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.robotframework.javalib.reflection.KeywordInvoker.invoke(KeywordInvoker.java:50) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$1.execute(AnnotationKeywordExtractor.java:62) at org.robotframework.javalib.library.KeywordFactoryBasedLibrary.runKeyword(KeywordFactoryBasedLibrary.java:37) at org.robotframework.javalib.library.AnnotationLibrary.runKeyword(AnnotationLibrary.java:81) at com.github.rainmanwy.robotframework.sikulilib.SikuliLibrary.runKeyword(SikuliLibrary.java:40) at com.github.rainmanwy.robotframework.sikulilib.SikuliLibrary.runKeyword(SikuliLibrary.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.robotframework.remoteserver.library.DynamicApiRemoteLibrary.runKeyword(DynamicApiRemoteLibrary.java:65) at org.robotframework.remoteserver.servlet.ServerMethods.run_keyword(ServerMethods.java:90) at org.robotframework.remoteserver.servlet.ServerMethods.run_keyword(ServerMethods.java:154) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106) at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:46) at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:86) at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:200) at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:112) at org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:196) at org.robotframework.remoteserver.servlet.RemoteServerServlet.doPost(RemoteServerServlet.java:122) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.robotframework.remoteserver.servlet.RemoteServerServlet.service(RemoteServerServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:348) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:894) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:948) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Unknown Source)

Environment Versions Python 3.7.7 SikuliLibrary 1.0.8 (also tried latest version) JDK/JRE 1.8.0_261

candicenulud avatar Aug 26 '20 12:08 candicenulud

How about the OS? And you may have a try to start sikuli java process manually , and could attach robot log file here?

rainmanwy avatar Aug 28 '20 00:08 rainmanwy

This was working for how many weeks until there is a JRE update, after that the script was not already working. I tried to reinstall JRE, JDK, Python, and Robot framework libraries but the issue is still encountered. I've attached the robot log, the manual start of sikuli and the OS. image image image image

candicenulud avatar Aug 28 '20 03:08 candicenulud

You may have a try to remove Sikuli temp directory, it may in "C:\Users<user>\AppData\Roaming\Sikulix"

rainmanwy avatar Aug 28 '20 09:08 rainmanwy

Error is still encountered after deleting Sikuli temp directory and restarting machine.

candicenulud avatar Aug 31 '20 06:08 candicenulud

This error has been fixed, I removed the Sikulix 1.1.3 that I installed manually, then my script started working again. Thank you! :)

candicenulud avatar Sep 01 '20 03:09 candicenulud

I thought the error has been fixed, but I am still encountering it after running twice. I removed all the temporary data of Sikuli but it still encountered. I also tried to reinstall the library but nothing happened

candicenulud avatar Sep 01 '20 10:09 candicenulud

RaiMan from SikuliX Looks like a problem with OpenCV matchTemplate(). What version of SikuliX is used internally in your current setup? Any changes in your monitor setup?

RaiMan avatar Sep 01 '20 11:09 RaiMan

The version of Sikulix that I installed is 1.1.3 and the SikuliLibrary is 1.0.8. There are no changes in my monitor setup, what I've noticed is that when the machine had a JRE update, my robot script encountered the issue.

candicenulud avatar Sep 01 '20 12:09 candicenulud

I reinstalled Sikulix 1.1.3, but still the issue is encountered. I also tried running SikuliLibrary to new mode like this *** Settings *** Library SikuliLibrary mode=NEW Suite Setup Start Sikuli Process Suite Teardown Stop Remote Server

I also tried to uninstall Sikiulix 1.1.3 and then installed Sikulix 2.0.1, but same issue

image

candicenulud avatar Sep 02 '20 11:09 candicenulud

I provisioned a new VM, and installed all the necessary tools but still issue is encountered. I also tried to install SikuliLibrary 2.0.0 and Sikulix 2.0.4 but still error. I also tried it in SikulixIDE and same error.

I also noticed this line when running on a debug

RunTime:libsExport: folder has wrong content: C:\Users\user\AppData\Roaming\Sikulix\SikulixLibs ( - )

image image

candicenulud avatar Sep 04 '20 11:09 candicenulud

Apparently it is a problem with the OpenCV native code, which should use the exported openCV_java342.dll.

Please make sure, that nothing else in your environment might point to other OpenCV stuff at runtime of IDE. SikuliX at runtime tries to prepend the SikuliX library path to Windows PATH.

You might run from command line: java -jar <path-to>/sikulixide-2.0.4.jar -v -c

and send the complete log output to my mail (see https://github.com/RaiMan).

BTW: IMHO it is not necessary to hide the username in a log output coming from a VM ???

RaiMan avatar Sep 04 '20 13:09 RaiMan

I think there is nothing else might point to other OpenCV stuff since its a newly provisioned VM and I just installed tools that will be used to run my script. I already sent the complete log output to your mail. Thanks!

candicenulud avatar Sep 04 '20 13:09 candicenulud

Oh sorry, the email address that I input was incorrect. Sent it again with the correct address

candicenulud avatar Sep 04 '20 14:09 candicenulud

I can only test on Windows 10, which you are not using (Windows 7?), but I am sure, that the exception is caused by the OpenCV DLL (function matchTemplate). I am sorry, but in your current setup I do not have a solution for you.

RaiMan avatar Sep 04 '20 15:09 RaiMan

I'm using Windows server 2012 r2, windows 8. Actually this was working fine for about how many weeks, it stopped working when there was an update of jre. But for the new provisioned VM, jre and jdk was installed fresh and it's v261.

On Fri, 4 Sep 2020, 11:22 pm Raimund Hocke, [email protected] wrote:

I can only test on Windows 10, which you are not using (Windows 7?), but I am sure, that the exception is caused by the OpenCV DLL (function matchTemplate). I am sorry, but in your current setup I do not have a solution for you.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rainmanwy/robotframework-SikuliLibrary/issues/132#issuecomment-687216327, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQJPHZYN7VARXEHDIXY4Y3SEEAZ3ANCNFSM4QLZCBJA .

candicenulud avatar Sep 04 '20 16:09 candicenulud

Finally I do not have another idea, than to go back to the running Java version or try with openJDK 11.

RaiMan avatar Sep 05 '20 09:09 RaiMan

I tried openJDK 11, but still issue is encountered. I also tried JDK 11 itself, it ran successfully for a while but after how many hours the error was encountered again, and can't be fixed even thought I tried to reinstall the JDK that worked.

candicenulud avatar Sep 07 '20 12:09 candicenulud