The ESI Spectrograph |
![]() |
Online Documentation |
There are three kinds of error which can be experienced when using KTL-based Dashboards.
I will treat these possibilities in descending order of probability.
Of these possibilities, the most likely to go wrong is the dynamic configuration feature, so check that diagnostic path first.
Next most likely is that the .kwd file or .dbd file has been damaged, by installing from a bad copy of the source, or by well-intentioned manual meddling. In general, check the datestamp on these files and compare them with the last version checked in to CVS.
After this in likelihood, it's possible the UI was started up wrongly. The Dashboard should always be started by a script or menu which runs the standard "esi start" scripts. The command line arguments to Dashboard are correctly specified in the "esi start dashboard" script. However, if it has been manually started or if the script has been broken, bad command line arguments can result in an odd appearance or in a failure. Bad command line arguments may result in failure to do dynamic configuration, so you should probably eliminate this possibility before delving further into any dynamic configuration issues.
If the backend goes away (i.e. the dispatcher dies or hangs, traffic
dies or hangs, the Galil controller goes catatonic) then the Dashboard
should detect and report this condition. If traffic is still up
but the dispatcher or hardware is no longer talking, there are a
couple of keywords which stop updating. Dashboard watches those
keywords and if they stop updating for more than a certain number
of seconds, it pops up an alert box informing the user that "CTRL0CLK
(or CTRL1CLK) has stopped." On most production GUI there will be
a "Backend Status" button which will pop up a status panel
for the dispatchers, controllers, etc.
If the traffic connection is lost and cannot be regained, the Dashboard
will shut itself down after a warning message to the user.
Shutting down and restarting the dashboard is relatively painless. It
should never "just hang". But if it does, the first thing to do is note
when and under what circumstances it hung, and either enter this in
the nightlog or email it to de@ucolick.org. Then kill and restart the
Dashboard. If it is too badly hung to respond to its own Quit button
or a window manager Close or Destroy, then look in the process table
for the string "obsr", check that it has the right arguments for
the service you are using, and kill that process.
The Dashboard keeps a fairly verbose log as it runs. Look for a file
like "ktui_931289126.log", where the large integer is a Unix time of
year clock. You can turn this integer into a formatted date by various
means. Perhaps the simplest is to start tcl (type "tcl") and at the
prompt type "clock format 931289126". This will tell you the start
time of the dashboard which wrote the log file. If something bizarre
happens to the Dashboard and you have to kill it, you should mail the
last 50 to 100 lines of the log file to de@ucolick.org.
Specific Failure Modes and Diagnostic Procedures
No Dynamic Configuration
Keywords Missing or Incorrect
Startup Errors: bogus appearance or behaviour
Dashboard Hangs
Symptom:
The UI stops responding. If a window is moved above it and then
moved away, the obscured area does not repaint. It does not
respond to X11 events such as mouse movement or clicks.
Procedure:
This should never happen, so if it does happen it should be
taken seriously, carefully documented, and immediately reported.
Explanation:
In 1999, UCO/Lick SPG spent a lot of time trying to make the
music/traffic/KTL connections robust, so that failure or restart
of one component doesn't cause other components to hang. We
think we succeeded. Dashboards for recent Lick-built instruments
should not hang, even if backend processes like traffic or
the dispatcher go away. So a Dashboard hang indicates a serious
problem.
Dashboard Dies
Symptom:
Dashboard exits spontaneously
Procedure:
Gather any stderr output, and the last few lines of the log file.
Restart the Dashboard. Mail the gathered text to de@ucolick.org.
Explanation:
The Dashboard should only shut itself down in the event where it
is disconnected from traffic and cannot reconnect. It should pop
up a nasty-looking warning message, then shut down within a couple
of minutes. If the user wandered away from the console, this warning
message might be missed; but it would appear in the log file and
on stderr.
Dashboard Won't Start
Symptom:
Dashboard refuses to start up
Procedure:
Is there another Dashboard for the same service already running on
the same display? There is a built-in constraint which prevents
duplication of UI for the same service on the same X server.
If you really need to run two Dashboards for the same service on
the same server, you need to set the environment variable
SILLYWIZARDS (to any value you like) and run the 2nd dashboard
manually. This is not recommended for the inexpert.
Explanation:
Multiple Dashboards can be very confusing for the user. Duplicate
copies of alarms and other popups start to appear. We found it
best to prevent this situation.
The Observer documents are hand-written. The Technical Documents are produced from plain text files in the CVS source tree by some Tcl scripts written at UCO/Lick Observatory. The Reference Documents are mostly generated by software from data in a relational database. Individual authors are responsible for the content of the Observer and Technical Documentation. The Lick SPG as a whole is responsible for the content of the Reference doco. Send mail to de@ucolick.org to report inconsistencies or errors in the documentation.