sikuli / sikuli-api

41 stars 33 forks source link

[Sikuli Java API] Using Sikuli causes memory heap error.. #53

Open doubleshow opened 11 years ago

doubleshow commented 11 years ago

Original author: saranyab...@gmail.com (May 20, 2013 07:05:24)

What steps will reproduce the problem? 1.I'm using Sikuli in Windows 64 Bit machine and When I'm continue to run a long test, it causes memory heap error in Java.

Whenever using DesktopRegion(), it almost consumes 3MB of heap memory and not releasing it causing heap memory issue while running tests.

Kindly provide me the correct Sikuli jar file which has resolved this memory leak issue...

Its very urgent..Please reply ASAP..

Memory heap error issue happens all time and unable to complete test execution.

Using sikuli-api-1.0.2-stanlalone.jar and sikuli-script.jar from Sikuli-r930-win32 in Windows 64 bit.

Let me know which sikuli jar to be used to overcome this issue. Its very urgent..

java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:92) at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:415) at java.awt.image.Raster.createWritableRaster(Raster.java:944) at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1073) at javax.imageio.ImageReader.getDestination(ImageReader.java:2896) at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1280) at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1577) at javax.imageio.ImageIO.read(ImageIO.java:1448) at javax.imageio.ImageIO.read(ImageIO.java:1352) at org.sikuli.api.robot.desktop.DesktopScreen.getScreenshot(DesktopScreen.java:35) at org.sikuli.api.DefaultScreenRegion.capture(DefaultScreenRegion.java:126) at org.sikuli.api.ImageTarget.getUnordredMatches(ImageTarget.java:122) at org.sikuli.api.DefaultTarget.doFindAll(DefaultTarget.java:93) at org.sikuli.api.DefaultScreenRegion._find(DefaultScreenRegion.java:73) at org.sikuli.api.DefaultScreenRegion.access$100(DefaultScreenRegion.java:29) at org.sikuli.api.DefaultScreenRegion$RepeatFind.run(DefaultScreenRegion.java:110) at org.sikuli.api.DefaultScreenRegion.wait(DefaultScreenRegion.java:119) at com.pch.bingo.elements.FlashSikuliDriver.GetCurrentScreeen(FlashSikuliDriver.java:128) at com.pch.bingo.elements.FlashSikuliDriver.Displayed(FlashSikuliDriver.java:174) at com.pch.bingo.elements.FlashButton.Displayed(FlashButton.java:65) at com.pch.bingo.flows.HomeFlow.ContinueAndStartGame(HomeFlow.java:3729) at com.pch.bingo.flows.HomeFlow.PlayAllGames(HomeFlow.java:829) at com.pch.bingo.test.ui.Reg51Invalid_OR_NullScenario.Reg51Invalid(Reg51Invalid_OR_NullScenario.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

Original issue: http://code.google.com/p/sikuli-api/issues/detail?id=53

doubleshow commented 11 years ago

From nikhil....@gmail.com on May 24, 2013 08:29:40 Which OS are you running your test?

doubleshow commented 11 years ago

From saranyab...@gmail.com on May 26, 2013 17:40:30 Hi

Thanks for your quick consideration.

I'm using Sikuli in two different machines with the Windows OS with 32 Bit and 64 Bit respectively.

Kindly provide me the solution to overcome heap memory. Since I worked on lot of work around in my machine it didn't help. Sikuli consumes 3MB heap memory for every DesktopScreenRegion() action.

Its very urgent because I made development using Sikuli and I cannot revert it back. Please help in this regard.