Jeff,
I just learned a little more about the caRepeater problem. When I did the tests in my previous message I had not run any Windows CA clients that would have started a Windows caRepeater task. When I started the IOC it started a caRepeater task that appears with "ps -a" in cygwin, but did not appear in the Windows Task Manager. I got the error saying that CA could not find the caRepeater. The copy of caRepeater that was started under cygwin had the unfortunate property that it had a file open that my IOC application had opened, and that file could not be deleted until that copy of caRepeater was killed.
I then started medm on the Windows machine, which created a caRepeater task that shows up in the Windows Task Manager. That time starting the IOC did not start a caRepeater task, since it must have found the one that was running under Windows. However, I still got the following error at the IOC:
***
epics> CA client library is unable to contact CA repeater a
Silence this message by starting a CA repeater daemon
or by calling ca_pend_event() and or ca_poll() more often.
****
But at least this copy of caRepeater does not have the file locked that needs to be deleted!
Do you understand what is going on?
Thanks,
Mark
________________________________
From: Mark Rivers
Sent: Fri 9/30/2005 3:33 PM
To: Jeff Hill; [email protected]
Subject: RE: Channel access problem on cygwin IOC
Jeff,
The think the problem might have been caused by EPICS launching a second copy of my IOC instead of caRepeater one time. So there were two copies of the IOC application running, causing the IP problem?
There is something else I don't understand about caRepeater behavior on this IOC.
Here is a list of cygwin processes before I start my IOC.
$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
1364 1 1364 1364 ? 18 20:29:52 /usr/bin/cygrunsrv
1660 1364 1660 1672 ? 18 20:29:57 /usr/sbin/sshd
I 460 1 460 460 0 11092 20:31:24 /usr/bin/bash
2280 1 2280 2280 1 11092 14:02:41 /usr/bin/bash
3808 2280 3808 2740 1 11092 14:03:38 /usr/bin/ps
Now I start the IOC. Note that the path to caRepeater in EPICS base is in my cygwin PATH. Now list the processes again.
$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
1364 1 1364 1364 ? 18 20:29:52 /usr/bin/cygrunsrv
1660 1364 1660 1672 ? 18 20:29:57 /usr/sbin/sshd
460 1 460 460 0 11092 20:31:24 /usr/bin/bash
2280 1 2280 2280 1 11092 14:02:41 /usr/bin/bash
I 2112 460 2112 3008 0 11092 14:03:49 /cygdrive/j/epics/devel/dxp/2-4beta/bin/cygwin-x86/xmapApp
736 2112 2112 3284 0 11092 14:04:49 /cygdrive/h/epics/base/bin/cygwin-x86/caRepeater
3932 2280 3932 3456 1 11092 15:14:12 /usr/bin/ps
xmapApp is the IOC process. Note that starting the IOC has started the caRepeater, as it should have.
However, I get the following message from iocsh on the IOC after iocInit is complete.
*****
CA client library is unable to contact CA repeater after 50
Silence this message by starting a CA repeater daemon
or by calling ca_pend_event() and or ca_poll() more often.
******
This does not seem right. Why am I getting that error message even though caRepeater was in fact successfully started?
Thanks,
Mark
- Replies:
- RE: Channel access problem on cygwin IOC Jeff Hill
- Navigate by Date:
- Prev:
Re: Possible improvements to simulation mode [patch] Ned Arnold
- Next:
RE: Channel access problem on cygwin IOC 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: Channel access problem on cygwin IOC Mark Rivers
- Next:
RE: Channel access problem on cygwin IOC 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
|