Debugging Storyboard IO

Debugging egress (Storyboard Engine sending to backend)

Table 24.1. No events are being received

Possible IssueResolution
Receive channel is not openLaunch Storyboard engine with verbosity (-v) and you see the following warning on sending an event WARN [0.135]:Can't open greio channel channel_name , then the channel is not open. If receiver is in C code ensure the gre_io_open returned successfully. If communicating with another Storyboard application ensure the receiving application was launched with the expected channel name specified with command line parameter -ogreio,channel=channel_name
Channel name mismatchIf there is a mismatch on channel name you will not receive messages. One way to verify is to stop the receiver and use utility iorcv. Just launch iorcv with the same channel name as your receiver: ./iorcv [-s] channel_name
System PermissionsOn some systems, system permissions can block the IO communications. Try running with administrator privileges, if the above steps have not resolved the issue. You can use iogen and iorcv to verify permissions.

Table 24.2. A particular event is not being recieved

Possible IssueResolution
event not sentLaunch Storyboard Engine with verbosity level 4 (-vvvv). Verify in the log that the action or Lua code to trigger the event was executed. If you see WARN [0.135]:Can't open greio channel and you have already verified channel is open, then verify the channel name is correct in send event call
Event not recieved Most common scenario is a event name mismatch. Using iorcv you can verify the name that is being sent, ensure it matches what the receiver expects.

Table 24.3. Event data not correct

Possible IssueResolution
Format string not correctIf the data values are not recieved as expected it likely the format string either does not match the data. ensure the format size matches the size of the data. If specifying a name to the parameter ensure the names are the same.
Data not aligned.Data must be aligned to system data alignment. Particular problem sizes are 1u1, 1s1, 1s0 (strings). Data must be sent in order of descending alignment requirements. Example: 4u1 4u1 2u1 1s0 is good, 2u1 4u1 4u1 1s0 is not

Debugging ingress (Storyboard Engine receiving from backend)

Table 24.4. The trouble shooting steps for egress Storyboard apply in this scenario, so see the above steps.

IssueResolution
Event not recievedLaunch Storyboard Engine with verbosity level 4 (-vvvv) you will see the following event trace if successful. EVENT [111.811]:GREIO received event [MilleniumFalconSpeed] 2 bytes EVENT [111.811]:IO: Queue [1] MilleniumFalconSpeed EVENT [111.811]:IO: Dispatch [MilleniumFalconSpeed] ACTION [111.811]:ACTION: Invoke [MilleniumFalconSpeed]->[gra.lua] on app [app] If the last two messages are not displayed Storyboard recieved the event but could not find a handler for the event.