EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: problem with the monitor-function (c++)
From: "Jeff Hill" <[email protected]>
To: "'Paul Sichta'" <[email protected]>, <[email protected]>
Cc: <[email protected]>
Date: Fri, 30 Jul 2004 15:59:41 -0600

Paul,

On what client OS, on what server OS, and on what version of EPICS, did this
occur? With that information I will attempt to reproduce the problem. I
don?t know of any two hour delays built into the code so I am starting to
suspect that this has something to do with the TCP/IP keep-alive timer
(which may have a default delay of two hours on certain operating systems).
After this two hour delayed disconnect did the client library reconnect?

Jeff

> -----Original Message-----
> From: Paul Sichta [mailto:[email protected]]
> Sent: Friday, July 30, 2004 1:17 PM
> To: Jeff Hill; [email protected]
> Cc: [email protected]
> Subject: Re: problem with the monitor-function (c++)
> 
> John,
> I have had a problem in the past with CA clients
> disconnecting ~ 2 hr, but this only happened if all of the
> PV values being monitored by the client application did not
> change during that time.  I repeatedly measured this
> 'inactivity' disconnect time to be 2 hours, 11 minutes, and
> 15 seconds.
> 
> No one could explain the true cause, I just added a PV that
> changed fairly often to the list of monitors.
> 
> -ps
> 
> ----- Original Message -----
> From: "Jeff Hill" <[email protected]>
> To: <[email protected]>
> Cc: <[email protected]>
> Sent: Friday, July 30, 2004 1:32 PM
> Subject: RE: problem with the monitor-function (c++)
> 
> 
> 
> Hello John,
> 
> > The program already works, but after a time (~ 2 h) the
> > monitor-functions just disconnect and the program abort.
> 
> One possible cause of trouble in a single threaded program
> would be not
> calling ca_pend_event() periodically although this theory
> does not fit well
> with the 2 hr delay before the disconnect.
> 
> To get a better understanding of your issue some additional
> details will be
> helpful:
> o What version of EPICS are you running?
> o What operating system are you using when this occurs?
> o You mention that "monitor-functions just disconnect". Did
> monitor updates
> cease to occur, did the channel receive a disconnect
> callback, or did the
> software terminate in some way?
> o You mention that that the program aborts. Was there a
> failure? For example
> a bus error, or did the program abort because of a fatal
> severity channel
> access exception? If so, then please copy the output from
> the exception
> message into an email reply. If the program died in some
> other way then
> please elaborate on the circumstances.
> o When this problem is occurring do you get a successful
> response from "ping
> <IOC name>" executed on the same host as yor CA client?
> o You might also try "telnet <IOC name>" as that will
> confirm TCP
> connectivity from the same host as the CA client.
> o Finally, when the program is in this disconnected state,
> does rebooting
> the IOC cause the monitor updates to start up again (this is
> assuming that
> the software didn't abort)?
> 
> > I had looked into iocinf.c and i think there is a counter,
> who
> > disconnect the monitor-function. Why?
> 
> The CA client library monitors connectivity with the servers
> and notifies
> the application program when connectivity has been lost. The
> library watches
> for beacons from the server. If a beacon does not show up
> for
> EPICS_CA_CONN_TMO seconds then the library sends an
> are-you-there message to
> the IOC. If there isn't a prompt response then the
> application receives
> disconnect notification. The details on all of this are in
> the CA reference
> manual.
> 
> Sorry to answer your question with questions of my own, but
> I will need more
> details in order to determine what is occurring there and if
> it is a bug.
> 
> Sorry about the delay responding.
> 
> Jeff
> 
> > -----Original Message-----
> > From: [email protected]
> [mailto:[email protected]]
> > Sent: Thursday, July 29, 2004 2:34 AM
> > To: tech-talk
> > Subject: problem with the monitor-function (c++)
> >
> > Hi all members,
> >
> > my name is John Kettler and i am a beginner.
> >
> > I use the Channel Access (epics) to communicate with a VME
> Crate. For
> > this i put monitor-functions with ca_search_and_connect,
> ca_pend_io,
> > ca_add_event and ca_pend_event. The program already works,
> but after a
> > time (~ 2 h) the monitor-functions just disconnect and the
> program
> > abort. I can restart the program without any problem.
> > When i reboot the Crate the program works on, so i can say
> it's no
> > problem with the network connection.
> >
> > The message i get is the following:
> >
> > CA.Client.Diagnostic.....................................
> > Message: "Network conncetion lost"
> > Serverity: "Warning" Context: "test1:5064"
> > Source File: ../iocinf.c Line Number:1504
> > ..........................................................
> >
> > I had looked into iocinf.c and i think there is a counter,
> who
> > disconnect the monitor-function. Why?
> >
> > So, if you have an answer please let me know.
> >
> > John
> >
> > ---
> > John Kettler [email protected]
> > DELTA - Univesität Dortmund
> http://www.delta.uni-dortmund.de
> 




References:
Re: problem with the monitor-function (c++) Paul Sichta

Navigate by Date:
Prev: Re: problem with the monitor-function (c++) Paul Sichta
Next: RE: Program calling CA from witrin a posix signal handler Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: problem with the monitor-function (c++) Paul Sichta
Next: How to pass constant string into a genSub or sub record Susanna Jacobson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·