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
<2004>
2005
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
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|