Project

General

Profile

Actions

Bug #6481

open

strange issue with MultipleTabDisplay actor and with Display like actors in general (missing output port in non-gui mode)

Added by Owsiak Michal over 10 years ago. Updated over 10 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
03/25/2014
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:

Description

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?


Files

Screen Shot 2014-03-24 at 3.48.20 PM.png (105 KB) Screen Shot 2014-03-24 at 3.48.20 PM.png Owsiak Michal, 03/25/2014 01:01 AM
exception.txt (8.3 KB) exception.txt Owsiak Michal, 03/25/2014 01:01 AM
Sleep_no_display.kar (7.2 KB) Sleep_no_display.kar Owsiak Michal, 03/25/2014 10:05 AM
Sleep_display.kar (7.48 KB) Sleep_display.kar Owsiak Michal, 03/25/2014 10:05 AM
Actions

Also available in: Atom PDF