Scripts with catch all except: uses 100% cpu after pressing stop key

Bug #769924 reported by niknah
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SikuliX
In Progress
Medium
RaiMan

Bug Description

Using Sikuli from bzr
x64 Ubuntu 10.10

To Reproduce...
* Run the attached script, wait a second, press the stop hotkey.
* May need to do it a few times until you get the below error...
* When the error appears, the script looks like it's stopped but the CPU is at 100%

It maybe unnoticeable on your average multicore cpu, but after pressing stop a few times, the computer starts running very slowly.

java.lang.InterruptedException: sleep interrupted
 at java.lang.Thread.sleep(Native Method)
 at java.awt.Robot.delay(Robot.java:449)
 at org.sikuli.script.SikuliRobot.delay(SikuliRobot.java:23)
 at org.sikuli.script.Region$Repeatable.repeat(Region.java:1244)
 at org.sikuli.script.Region.wait(Region.java:437)
 at org.python.proxies.sikuli.Region$Region$1.super__wait(Unknown Source)
 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:616)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
 at org.python.core.PyObject.__call__(PyObject.java:432)
 at org.python.core.PyObject.__call__(PyObject.java:436)
 at sikuli.Region$py.wait$7(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py:95)
 at sikuli.Region$py.call_function(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
 at org.python.core.PyFunction.__call__(PyFunction.java:385)
 at org.python.core.PyMethod.__call__(PyMethod.java:215)
 at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
 at org.python.core.PyMethod.__call__(PyMethod.java:206)
 at org.python.core.PyObject.__call__(PyObject.java:367)
 at org.python.core.PyObject._jcallexc(PyObject.java:3500)
 at org.python.proxies.sikuli.Region$Region$1.wait(Unknown Source)
 at org.sikuli.script.Region.find(Region.java:330)
 at org.python.proxies.sikuli.Region$Region$1.super__find(Unknown Source)
 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:616)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
 at org.python.core.PyObject.__call__(PyObject.java:414)
 at org.python.core.PyObject.__call__(PyObject.java:418)
 at sikuli.Region$py.find$5(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py:60)
 at sikuli.Region$py.call_function(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
 at org.python.core.PyFunction.__call__(PyFunction.java:385)
 at org.python.core.PyMethod.__call__(PyMethod.java:215)
 at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
 at org.python.core.PyMethod.__call__(PyMethod.java:206)
 at org.python.core.PyObject.__call__(PyObject.java:397)
 at org.python.core.PyObject.__call__(PyObject.java:401)
 at org.python.pycode._pyx152.f$0(/tmp/sikuli-tmp9057597696209918498.py:2)
 at org.python.pycode._pyx152.call_function(/tmp/sikuli-tmp9057597696209918498.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyCode.call(PyCode.java:18)
 at org.python.core.Py.runCode(Py.java:1204)
 at org.python.core.__builtin__.execfile_flags(__builtin__.java:541)
 at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:190)
 at org.sikuli.script.ScriptRunner.runPython(ScriptRunner.java:61)
 at org.sikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1511)
 at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1616)
java.lang.InterruptedException: sleep interrupted
 at java.lang.Thread.sleep(Native Method)
 at java.awt.Robot.delay(Robot.java:449)
 at org.sikuli.script.SikuliRobot.delay(SikuliRobot.java:23)
 at org.sikuli.script.Region$Repeatable.repeat(Region.java:1244)
 at org.sikuli.script.Region.wait(Region.java:437)
 at org.python.proxies.sikuli.Region$Region$1.super__wait(Unknown Source)
 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:616)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
 at org.python.core.PyObject.__call__(PyObject.java:432)
 at org.python.core.PyObject.__call__(PyObject.java:436)
 at sikuli.Region$py.wait$7(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Si
kuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py:95)
 at sikuli.Region$py.call_function(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
 at org.python.core.PyFunction.__call__(PyFunction.java:385)
 at org.python.core.PyMethod.__call__(PyMethod.java:215)
 at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
 at org.python.core.PyMethod.__call__(PyMethod.java:206)
 at org.python.core.PyObject.__call__(PyObject.java:367)
 at org.python.core.PyObject._jcallexc(PyObject.java:3500)
 at org.python.proxies.sikuli.Region$Region$1.wait(Unknown Source)
 at org.sikuli.script.Region.find(Region.java:330)
 at org.python.proxies.sikuli.Region$Region$1.super__find(Unknown Source)
 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:616)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
 at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
 at org.python.core.PyObject.__call__(PyObject.java:414)
 at org.python.core.PyObject.__call__(PyObject.java:418)
 at sikuli.Region$py.find$5(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py:60)
 at sikuli.Region$py.call_function(/opt/sikuli_src/sikuli-x/sikuli-ide/target/linux/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Region.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
 at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
 at org.python.core.PyFunction.__call__(PyFunction.java:385)
 at org.python.core.PyMethod.__call__(PyMethod.java:215)
 at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
 at org.python.core.PyMethod.__call__(PyMethod.java:206)
 at org.python.core.PyObject.__call__(PyObject.java:397)
 at org.python.core.PyObject.__call__(PyObject.java:401)
 at org.python.pycode._pyx232.f$0(/tmp/sikuli-tmp5121737367665630777.py:2)
 at org.python.pycode._pyx232.call_function(/tmp/sikuli-tmp5121737367665630777.py)
 at org.python.core.PyTableCode.call(PyTableCode.java:165)
 at org.python.core.PyCode.call(PyCode.java:18)
 at org.python.core.Py.runCode(Py.java:1204)
 at org.python.core.__builtin__.execfile_flags(__builtin__.java:541)
 at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:190)
 at org.sikuli.script.ScriptRunner.runPython(ScriptRunner.java:61)
 at org.sikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1511)
 at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1616)

Revision history for this message
niknah (hankin0) wrote :
RaiMan (raimund-hocke)
Changed in sikuli:
status: New → In Progress
importance: Undecided → Low
importance: Low → Medium
assignee: nobody → RaiMan (raimund-hocke)
tags: added: scriptrun ubuntu
RaiMan (raimund-hocke)
tags: added: hotkeys
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.