Bug #6413
openerror when switching to DDF inside Case refinement
0%
Description
I get an exception when switching from SDF to DDF inside a Case Refinement. It seems to be caused by having an unconnected input port.
To reproduce:
1. open $PTII/ptolemy/actor/lib/hoc/test/auto/Case1.xml
2. add a new input port to Case
3. run the model
4. open the Case actor and replace SDF in each Refinement with DDF
5. run the model
The error is:
java.lang.IllegalArgumentException: hasToken() requires a positive argument.
at ptolemy.actor.Mailbox.hasToken(Mailbox.java:149)
at ptolemy.actor.IOPort.hasToken(IOPort.java:2061)
at ptolemy.domains.ddf.kernel.DDFDirector.prefire(DDFDirector.java:649)
at ptolemy.actor.CompositeActor.prefire(CompositeActor.java:1665)
at ptolemy.actor.lib.hoc.CaseDirector.prefire(CaseDirector.java:267)
at ptolemy.actor.CompositeActor.prefire(CompositeActor.java:1665)
at ptolemy.actor.CompositeActor.iterate(CompositeActor.java:1082)
at ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:211)
at ptolemy.domains.sdf.kernel.SDFDirector.fire(SDFDirector.java:492)
at ptolemy.actor.CompositeActor.fire(CompositeActor.java:450)
at ptolemy.actor.Manager.iterate(Manager.java:787)
at ptolemy.actor.Manager.execute(Manager.java:352)
at ptolemy.actor.Manager.run(Manager.java:1202)
at ptolemy.actor.Manager$PtolemyRunThread.run(Manager.java:1760)
Updated by jianwu jianwu over 10 years ago
The current workaround is re-starting Kepler. The problem went away when I did it.