[BLAST_SHIFTS] Blast HV - Broken pipe - Diagnostics

From: Taylan Akdogan (akdogan@MIT.EDU)
Date: Fri Jul 09 2004 - 16:30:45 EDT


Hello Blast Shifters:

Since there wasn't much to do during this shift due to the
recover-period of the power glitch, I used this time to
diagnose the BlastHV-epics-broken-pipe issue.

The problem:
------------
The epics process looses BSD socket connection to the HV crate,
thus the command-send returns with "broken-pipe" error. The
reason for loosing the connection is not clear, but it appears
that the crate itself releasing the connection, not the epics
driver.

Solution:
---------
Made the necessary changes to the network layer of the epics
driver, such that when it faces with a broken pipe while
sending the command, it:
   1) closes the current connection
   2) establishes a new connection, and changes
      its file-descriptor number to the old one to be
      transparent to the rest of the code.
   3) OVERRIDE the previous connection (if any)
   4) re-send the last command to be able to continue
      without disruption.
When this happens the epics screen (the terminal where
we start the ./BOOT process) shows the progress with
red text.

Request to the shift personal:
------------------------------
I tried to test it by power-cycling the crate while it
everything was up and working to introduce a broken-pipes in
a controllable manner. And, during my artificially created
problems, it recovered nicely. Nevertheless, the tests are
not complete.

If you see "red texts", please let me know if it recovers or NOT?
I don't ask you to pay attention all the time, but just in case
you notice it, it would be nice to know, so I can try to debug it
further, if needed.

Note about the changes:
-----------------------
1) copied directory from "/home/epics1/EpicsDevBat"
   to "/home/epics1/EpicsDevTaylan"
2) made necessary changes in EpicsDevTaylan
3) copied "/home/epics1/EpicsDevBat/bin/linux-x86/example"
   to "/home/epics1/EpicsDevBat/bin/linux-x86/example-bak"
4) copied "/home/epics1/EpicsDevTaylan/bin/linux-x86/example"
   to ""/home/epics1/EpicsDevBat/bin/linux-x86/example"

To restore the old driver, give the following commands on dtun1-pc:

   cd /home/epics1/EpicsDevBat/bin/linux-x86/
   cp -f example-bak example

and restart "./BOOT" in "/home/epics1" directory.

Taylan

-- 
---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=---
Taylan Akdogan              Massachusetts Institute of Technology
akdogan@mit.edu                             Department of Physics
Phn:+1-617-258-0801                Laboratory for Nuclear Science
Fax:+1-617-258-5440                                  Room 26-402b
---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=---



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:31 EST