[kepler-dev] [Kepler - Bug #6481] strange issue with MultipleTabDisplay actor and with Display like actors in general (missing output port in non-gui mode)

noreply at nceas.ucsb.edu noreply at nceas.ucsb.edu
Tue Mar 25 10:08:19 PDT 2014


Issue #6481 has been updated by Owsiak Michal.

File Sleep_no_display.kar added
File Sleep_display.kar added

In principal, I agree. Display actors typically don't need to produce any output.

However, this might be a "synchronization issue".

Our workflows are quite complex and we have numerous conditions that determine when workflow stops. Before it stops, we have to be sure that all outputs were correctly produced - so we can check whether everything is OK. And this might be an issue when there is no output port in display like actor - e.g. "Display" actor.

Let me show a simple case (attached file: Sleep_no_display.kar)

If you execute this workflow, it will stop before output is produced. This is not good as we don't know what was the condition before workflow stopped.

In case of the Multiple Tab Display actor, we can avoid this issue as we can "synchronize" the execution. Take a look here: Sleep_display.kar

In second case, we can enforce that Multiple Tab Display actor is executed before we proceed to Stop actor.

That's why we have decided to introduce "output" port into MTD actor. Now, with Kepler 2.4, we have issue with our workflows as they don't run correctly in non-gui mode.

I hope it is now more clear what is the purpose of the output port in the MTD.



----------------------------------------
Bug #6481: strange issue with MultipleTabDisplay actor and with Display like actors in general (missing output port in non-gui mode)
https://projects.ecoinformatics.org/ecoinfo/issues/6481#change-21589

* Author: Owsiak Michal
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Bugzilla-Id: 
----------------------------------------
Hi there,

I will paste here description that already went to Jianwu via e-mail, but I think it describes the issue in details:

Some time ago we have published our patches to MultipleTabDisplay actor so it is consistent with new way of redirecting output.

The issue here is, that we have problem with running Kepler workflows in non-gui mode.

The issue lays in missing "output" port inside Multiple Tab Display actor.

The problem is that in GUI mode, everything works just fine (see the screen shoot).

In non-gui mode, we are getting an exception (see the attachment - exception.txt).

Command line used for starting workflow is:

./kepler.sh -runwf -nogui -nocache ~/Desktop/testMTD.xml

Problematic workflow was reduced, and now, we have smallest case that triggers exception.

The workflow is inside: testMTD.xml.

The problem occurs in case Multiple Tab Display actor is inside Composite actor. If the MTD is placed on main workflow, everything is just fine.

If we start testMTD workflow in GUI mode - everything is OK.
If we start it following way:

./kepler.sh -runwf -nogui -nocache testMTD.xml

We are getting exception.

I have done some initial debugging, and it looks like issue lies in reading output port from the actor. It is not reported in the code.

Entity.java class has method: getPort. In this method, if I take a look at the code, I can see that variable "_portList" doesn't contain "output" port.

This is what I can see while running Kepler in Eclipse (non-gui mode of Kepler)

[
 ptolemy.actor.TypedIOPort
  {.testMTD.CompositeActor.MultipleTabDisplay.input},
 ptolemy.actor.TypedIOPort
  {.testMTD.CompositeActor.MultipleTabDisplay.trigger}
]

This is the code, that should return "output" port.

 public Port getPort(String name) {
        try {
            _workspace.getReadAccess();
            return (Port) _portList.get(name);
        } finally {
            _workspace.doneReading();
        }
    }

"_portList" doesn't contain output port, even though, this port is visible in GUI mode, and - in fact - works fine (take a look at screen shot).

The question here is. Where should we look for the bug? Do you have any suggestions? 


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: https://projects.ecoinformatics.org/ecoinfo/my/account

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20140325/6c96598d/attachment.html>


More information about the Kepler-dev mailing list