User Tools

Site Tools


projects:bpm-sis18:status

This is an old revision of the document!


Problems / System behaviour

Errors occurring sporadically:

  • the Liberas loose their connection: they appear red in the detailed status panel, giving the status “Software Error” or “BPM Communication Error”. The Libera can not be controlled from TOPOS any more. Most of the time, a reboot of the Liberavia ssh helps.

In at least one case, I also had to restart the FESA classes on the CCCPs to make the system working again. This happens sometimes during beamtime. Or after the system was not used for a while and is started again (= the GUI was closed for a while and is started again).

Other errors which could be related:

  • the saving of raw data sometimes leads to a timeout
  • aux BPM confuses the whole system (Start and Stop is triggered “out of itself”)
  • low system performance (switching of mode lasts several seconds)
Debugging ideas:

Suggestions (Every idea to track down the problems are appreciated):

  • add debug output into the Libera generic servers and the FESA Classes (see below)
  • make testcases like: set a defined set of calibration values and check if they are set in the generic server/FPGA registers


Log in the FESA classes:

  • version number on startup
  • connection to BPM established/lost/reconnected
  • debug output at every status change of the system (Initializing, Start, Stop,…)


Log on the generic servers (with timestamps!):

  • version number (or similar) at startup
  • internal register values (when changed, on start, on stop)
  • when a start or stop trigger arrives
  • when the ring buffer is full
  • operating mode (raw, bunch to bunch)
  • log any other useful events


Network considerations:

  • put the Liberas into a own network (not the GSI/ACC network)
  • bootfile on CCCPs, static IPs, nfs mount to store debug logs
  • is this a lot of work? does it require changes in the gen servers / FPGA code?


Connection to the PTIF:

  • Display the connection status and if a command which has been sent, was “acknoleged” by the PTIF

Would it make sense to have a simple standalone tool to see if the FESA servers, the BPMs, the gen servers are up and running without an error flag?! In principle this information is provided by the default status panel, but you have to be an expert to interpret some errors.

Yes, I think it does! (HBr)

Goals

Add logging output to all system components to know what is going on in each component for each status change. There should be a flag to en-/disable logging at startup. Provide tools to observe the health status of the system components.

Some issues (HBr):

  • logging should use the Log4j framework (from within the FESA class possible with SDLog (HBr))
  • the GUI should not encapsulate exceptions thrown by cmw / rda into its own Exception class
  • a detailed documentation of the meaning and reasns for each error message, exception etc. should be made

Some more considerations (MSchw):

  • I strongly support to have as much logging information as possible, e.g. to a textfile
  • From my point of view it is very important that we clearly understand what SHOULD happen, e.g. when the user presses a button, BEFORE we try to understand why something we intend to do DOES NOT happen.
  • I would recommend to have one or several (very basic, synoptic, NOT on code basis) diagramS of the internal process flow. This/these should be created by SD (Rainer?) together with Cosylab. The diagram/diagrams should include the same status names/exceptions used in the logfiles proposed above, thus helping to understand the history of error states.
  • I also support the idea of a stand-alone diagnostic tool as described above, just make sure the displayed information is clearly defined and leaves few space for misinterpretations.
projects/bpm-sis18/status.1342095651.txt.gz · Last modified: 2012/07/12 14:20 by marcusschwickert