EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  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  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Experience with CAJ
From: Kay-Uwe Kasemir <[email protected]>
To: tech talk <[email protected]>
Date: Mon, 25 Sep 2006 14:14:50 -0400
On Sep 25, 2006, at 13:43 , Christopher Larrieu wrote:

Does anyone have experience using Cosylab's java channel access (CAJ) in a
real-world, production system? I'm curious about using it in lieu of JCA.

Hi Chris:


Are you the same Chris who used to be on the 'other' coast of the US?

At the SNS, we had problems with the pure java CA client lib when
it comes to IOCs that use CA security.
The CA server on the IOCs would enter a state where it's hung.
New CA connections would create new client threads, but each new
thread hangs waiting for some semaphore inside the access security
library's asAddClient() routine.
Try searching previous tech talk messages:
http://www.aps.anl.gov/epics/tech-talk/2006/msg00503.php,
and look around April 25, 2006 for messages from Jeff and me.

The symptom: No new CA connections, and a 'caget some_PV' will issue
the 'timeout' error messag after about 1 second
(as common for missing PVs), but hang for another 29 seconds before exiting
(symptomatic for this error where the new client thread is created but then hangs).


Since this is very bad for operational IOCs, the only remedy being a reboot,
we quit using CAJ for now.


The problem is probably caused by CAJ sending user/host information in the 'wrong'
order or at a 'bad' time, but with CA it's of course a bit difficult to determine
what's a 'correct' message or the 'right' time ;-).
At one time we caught the error with a version of EPICS base that was patched
to allow a 'semShow' on the access security semaphore. I think it showed
that another CA task held the semaphore, but I can't find the detail any
longer. Maybe Jeff remembers, I'm pretty sure I emailed him the results.


I also saw occasional messages on the IOC
  CAS: request from someIP:port => "bad resource ID"
which only occurred when using CAJ.

So while I think CAJ is terrific, I would only use it through a gateway
until these kinks are worked out.

With the JNI-based CA client library for Java, there are also issues
that Tom Pelaia at the SNS and Matej at Cosylab are currently investigating:
As far as I understand, the JNI code includes a list for the incoming monitors.
If the java client code doesn't digest them fast enough, that list grows ad infimum,
instead of engaging the CA flow control.
We first thought it's a memory leak, since the app keeps growing.
It's not, just a list that grows, but nonetheless fatal.


-Kay
Replies:
RE: Experience with CAJ Jeff Hill
References:
Experience with CAJ Christopher Larrieu

Navigate by Date:
Prev: Experience with CAJ Christopher Larrieu
Next: Re: Experience with CAJ Thomas Pelaia II
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Experience with CAJ Christopher Larrieu
Next: RE: Experience with CAJ Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·