Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

  • (snip from the iocConsole EPICS Extension doc referenced above):
    In the iocConsole session, the most important screen commands are ("C-" below indicates the ctrl key)
    • C-a d : Detach the screen session from this terminal (C-a C-d also works).
    • C-a ? : Show all screen commands.
    • C-a * : Show a list of all users attatched to this screen session.
    • Wiki MarkupC-a \ [ : Enter copy/scrollback mode (C-a C-\[ or C-a <esc> also works). In copy/scrollback mode you can use 'vi' or 'emacs' commands to move around the scrollback history. Some useful scrollback mode commands are:
      • Arrow keys move line by line or column by column.
      • h, j, k, l move line by line or column by column (vi-style).
      • + - move one line up/down.
      • C-u C-d move up/down one half a screen.
      • C-b C-f move up/down a full screen.
      • g moves to the beginning of the scrollback history.
      • % preceded by a number jumps to that percentage of the scrollback.
      • / or ? followed by some characters followed by a return searches forward or backwards for those characters.
    • <esc> exits copy/scrollback mode.
    • Important: do not type "exit", or do ctrl-C from within a soft iocConsole session: this will terminate the soft IOC process!  Instead use C-a d to detach from the screen session.

...

Here are a few situations you may encounter at some point:

...

  • *Your IOC hasn't been added to screeniocs yet:*
    looks like this: \
    [softegr@lcls-builder script\]$ iocConsole xyz
    Error: iocConsole is terminating...ioc was not included in screeniocs file
  • Unsuccessful attempt to start an iocConsole session, with no socket found error message from iocConsole:
    looks like this:
    screen writes out a message with something like "blah blah blah no socket found blah blah blah" and returns to the Linux prompt.
    <when a real example arises, I will cut/paste it in here!>
    • Possible causes: soft iocs - for a soft ioc, this error condition often indicates that the soft IOC cannot start due to some IOC software or configuration problem, or has hung in some way.
      • the IOC process has crashed.
      • rare: the IOC process has hung, but is still "running"
      • the IOC is incorrectly entered in screeniocs (e.g. wrong directories or executable)
    • Things to try soft iocs:
      • check screeniocs to make sure the data for your IOC are correct
      • have a look at the screenlog file: $IOC_DATA/iocname/screenlog.0. There are often error messages from the IOC indicating why it's having problems. Problems previously observed in screenlog.0 include:
      • $IOC/iocname bin directory or executable name not found (problem with make)
      • segmentation fault - IOC executable cannot run
      • for a hung but running soft ioc: as <adminuser> on <softIOCmachine>:  ps -ef | grep <iocname>  
      • If a process exists, but you can't iocConsole to it, this indicates a hang in the process. You'll need to kill the process from the <adminuser>@softIOCmachine command line. Then try iocConsole again.
    • Possible causes: hard iocs
      • the IOC or terminal server are powered down, or not connected to the network
      • there is a hardware problem with the terminal server or IOC
      • the IOC is incorrectly entered in screeniocs (e.g. wrong port)
      • the terminal server port needs resetting.
      • prior iocConsole session needs cleaning up
    • Things to try: hard iocs
      • check screeniocs to make sure the data for your IOC are correct
      • check to make sure the IOC and terminal server are up, and connected properly to the network (ping, etc.)
      • try resetting the terminal server port for the IOC:
        iocTSmgr iocname
      • try iocConsole -cleanup
        (you must be logged in as iocegr or fiocegr to run iocTSmgr)
      • iocConsole iocname -cleanup

...