...
- (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.
C-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:Wiki Markup - 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:*Wiki Markup
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:
<when a real example arises, I will cut/paste it in here!>
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
- Possible causes: soft iocs
- for a soft ioc, this error condition indicates that the soft IOC cannot start
- Things to try:
- have a look at the screenlog file: $IOC_DATA/iocname/screenlog.0. There are often error messages from the IOC indicating why its 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
- 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 its having problems. Problems previously observed in screenlog.0 include:
- 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.
- Unsuccessful attempt to start an iocConsole session, with dead screen error message from iocConsole:
looks like this:
...
iocScreen: /home/screen/bin/screen -r -S laci/ioc-li17-ky00
There is a screen on:
10660.ioc-li17-ky00 (Dead ???)
Remove dead screens with 'screen -wipe'.
There is no screen to be attached matching ioc-li17-ky00.
...- Cause:
- a previously running SCREEN session was killed without deleting its socket pipe file.
- To fix:
- iocConsole <iocname> -cleanup
- please note: this will kill a soft IOC that is running. (unlikely that the ioc can run under these circumstances though)
- Cause:
- Hard IOC console session starts and connects to the terminal server, but there is no EPICS prompt or response from the IOC
looks like this:
Trying 172.27.68.102...
Connected to ts-li20-nw02.slac.stanford.edu (172.27.68.102).
Escape character is '^]'.
< then no response to a carriage return or other IOC command >- Possible causes:
- the IOC is powered down, or not connected properly to the terminal server
- the IOC is having hardware or software problems and needs restarting, or other application-specific action
- the IOC is incorrectly entered in screeniocs (e.g. wrong port)
- the terminal server port needs resetting.
- Things to try:
- 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
(you must be logged in as iocegr or fiocegr to run iocTSmgr) - Reboot or power cycle your IOC
- Possible causes:
...
Maintenance and monitoring
iocConsole hosts and sessions
- LCLS
- All LCLS hard and soft IOC processes and screen sessions run on lcls-daemon1 EXCEPT:
- The klystron support soft IOC ?processes and screen sessions run on lcls-daemon0 (due to high loads)
- The process and screen session host is configured by the entry in the screeniocs file "Host where screen is run" column (the last column)
- FACET
- All FACET hard and soft IOC processes and screen sessions run on facet-daemon1.
screenlogd.bash
A For each accelerator facility (LCLS and FACET) a nightly cron job running the screenlogd.bash script handles screenlog.0 file cleanup and maintenance of screen logging iocConsole sessions:
...