Bug #4832
closedpython actor outputting to disconnected composite output throws error
0%
Description
I have a composite actor with an output port. Inside, I have an Expression passing a token to the default python actor, which repeats the token to the composite output port. The composite output port is disconnected. I get an error:
ptolemy.kernel.util.IllegalActionException: Error in invoking the fire method:
line 7, in fire
at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
at java.util.Arrays.asList(Arrays.java:3343)
at org.kepler.provenance.PortConnector.sendIdToConnections(PortConnector.java:242)
at org.kepler.provenance.sql.SQLRecordingV8._recordPortEvent(SQLRecordingV8.java:1974)
at org.kepler.provenance.sql.SQLRecording.portEvent(SQLRecording.java:584)
at org.kepler.provenance.ProvenanceRecorder.portEvent(ProvenanceRecorder.java:819)
at ptolemy.actor.IOPort._notifyPortEventListeners(IOPort.java:4130)
at ptolemy.actor.IOPort.broadcast(IOPort.java:261)
at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
java.lang.NullPointerException: java.lang.NullPointerException
in .tpc03-veld-condition-herbs.Prepare Data.Spatial Join Landtypes.Herbaceous Site Landtypes.Spatial Join.Synchronize
Because:
Traceback (innermost last):
File "<string>", line 7, in fire
at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
at java.util.Arrays.asList(Arrays.java:3343)
at org.kepler.provenance.PortConnector.sendIdToConnections(PortConnector.java:242)
at org.kepler.provenance.sql.SQLRecordingV8._recordPortEvent(SQLRecordingV8.java:1974)
at org.kepler.provenance.sql.SQLRecording.portEvent(SQLRecording.java:584)
at org.kepler.provenance.ProvenanceRecorder.portEvent(ProvenanceRecorder.java:819)
at ptolemy.actor.IOPort._notifyPortEventListeners(IOPort.java:4130)
at ptolemy.actor.IOPort.broadcast(IOPort.java:261)
at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
java.lang.NullPointerException: java.lang.NullPointerException
at ptolemy.actor.lib.python.PythonScript._reportScriptError(PythonScript.java:604)
at ptolemy.actor.lib.python.PythonScript._invokeMethod(PythonScript.java:560)
at ptolemy.actor.lib.python.PythonScript.fire(PythonScript.java:254)
at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:469)
at ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:188)
at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
at ptolemy.actor.Manager.iterate(Manager.java:714)
at ptolemy.actor.Manager.execute(Manager.java:349)
at ptolemy.actor.Manager.run(Manager.java:1119)
at ptolemy.actor.Manager$3.run(Manager.java:1160)
Caused by: Traceback (innermost last):
File "<string>", line 7, in fire
at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
at java.util.Arrays.asList(Arrays.java:3343)
at org.kepler.provenance.PortConnector.sendIdToConnections(PortConnector.java:242)
at org.kepler.provenance.sql.SQLRecordingV8._recordPortEvent(SQLRecordingV8.java:1974)
at org.kepler.provenance.sql.SQLRecording.portEvent(SQLRecording.java:584)
at org.kepler.provenance.ProvenanceRecorder.portEvent(ProvenanceRecorder.java:819)
at ptolemy.actor.IOPort._notifyPortEventListeners(IOPort.java:4130)
at ptolemy.actor.IOPort.broadcast(IOPort.java:261)
at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
java.lang.NullPointerException: java.lang.NullPointerException
at org.python.core.Py.JavaError(Unknown Source)
at org.python.core.Py.JavaError(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyInstance.invoke(Unknown Source)
at org.python.pycode._pyx21.fire$2(<string>:7)
at org.python.pycode._pyx21.call_function(<string>)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at ptolemy.actor.lib.python.PythonScript._invokeMethod(PythonScript.java:512)
... 8 more
Caused by: Traceback (innermost last):
File "<string>", line 7, in fire
at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
at java.util.Arrays.asList(Arrays.java:3343)
at org.kepler.provenance.PortConnector.sendIdToConnections(PortConnector.java:242)
at org.kepler.provenance.sql.SQLRecordingV8._recordPortEvent(SQLRecordingV8.java:1974)
at org.kepler.provenance.sql.SQLRecording.portEvent(SQLRecording.java:584)
at org.kepler.provenance.ProvenanceRecorder.portEvent(ProvenanceRecorder.java:819)
at ptolemy.actor.IOPort._notifyPortEventListeners(IOPort.java:4130)
at ptolemy.actor.IOPort.broadcast(IOPort.java:261)
at ptolemy.actor.TypedIOPort.broadcast(TypedIOPort.java:238)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
java.lang.NullPointerException: java.lang.NullPointerException
at org.python.core.Py.JavaError(Unknown Source)
at org.python.core.Py.JavaError(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyInstance.invoke(Unknown Source)
at org.python.pycode._pyx21.fire$2(<string>:7)
at org.python.pycode._pyx21.call_function(<string>)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at ptolemy.actor.lib.python.PythonScript._invokeMethod(PythonScript.java:512)
at ptolemy.actor.lib.python.PythonScript.fire(PythonScript.java:254)
at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:469)
at ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:188)
at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
at ptolemy.actor.Manager.iterate(Manager.java:714)
at ptolemy.actor.Manager.execute(Manager.java:349)
at ptolemy.actor.Manager.run(Manager.java:1119)
at ptolemy.actor.Manager$3.run(Manager.java:1160)
Files
Updated by Oliver Soong over 14 years ago
This seems to affect the 2.0 Kepler branch.
Updated by Oliver Soong over 14 years ago
I take back the part about it affecting the 2.0 branch. I can't keep my windows straight. It is affecting wrp.
Updated by Christopher Brooks over 14 years ago
I took a look at this and confirmed that it is not a problem in Ptolemy or Kepler, but is reproducible in after doing
ant change-to -Dsuite=wrp.
My concern was that there was a NPE inside the Python actor, but it
appears the problem is elsewhere.
Updated by Daniel Crawl over 14 years ago
This might be a bug in provenance. I'll take a look.