EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Large arrays over CA - attempt #2
From: "S. Joshua Stein" <[email protected]>
To: Jeff Hill <[email protected]>
Cc: [email protected]
Date: Wed, 14 Aug 2002 10:35:56 -0500
Jeff,

  As you suspected, my problem was on the client side - the SDDS tool uses the 
ezca library, and my LD_LIBRARY_PATH did not include the new (3.14 compliant)
ezca libs. When I prepended the new path, things began working.

Thanks!
<Josh>

Jeff Hill wrote:
> 
> 1) I suspect that, possibly due to some subtlety in your Solaris path
> environment variable or your make file, your SDDS tool isn't built
> against EPICS R3.14.beta2 as expected. The string stored in the client
> library corresponding to the error code returned by the server -
> ECA_TOLARGE - has changed between R3.13 and R3.14, and I see the message
> from EPICS R3.13 in the output that you posted.
> 
> 2) The context string arriving from the server indicates that it is
> running EPICS R3.14 and that EPICS_CA_MAX_ARRAY_BYTES is set there as
> you indicated in your message.
> 
> 3) It looks like this large array request is being rejected in the
> server because the server knows the protocol revision of the client, and
> therefore rejects the request because the RF3.13 client will not have a
> message buffer large enough to receive it. If you had requested more
> that 65535 element then the R3.13 client would have detected a request
> exceeding the bounds of the current protocol, and rejected it.
> 
> The "which" and "whereis" commands can be useful when resolving path
> issues on UNIX. Otherwise, if there are make file issues then Janet
> should be able to help you out, and she is just down the hall there at
> APS.
> 
> I will see if the message can be improved to more clearly identify that
> the problem is in the client when this particular situation occurs.
> 
> Jeff
> 
> > -----Original Message-----
> > From: S. Joshua Stein [mailto:[email protected]]
> > Sent: Wednesday, August 14, 2002 7:00 AM
> > To: [email protected]
> > Subject: Large arrays over CA - attempt #2
> >
> > Well, let me try this from a sane mail program - sorry for the repeat:
> >
> > I am attempting to process a waveform record of 32000 elements (type
> > USHORT) and
> > pass that data over channel access (R3.14beta2). I have set the
> > environment
> > variable EPICS_CA_MAX_ARRAY_BYTES to 512000 on both the (Solaris) IOC
> > and a
> > client Xterm.
> >
> > When I attempt to run an SDDS tool (built against R3.14b2) to read
> that
> > waveform, I get the following error message:
> >
> > CA.Client.Diagnostic..............................................
> > Message: "The array or data structure specified will not fit in CA
> > message
> > buffer"
> > Severity: "Warning" Context: "detected by: eos:5064 for: server unable
> > to load
> > read (or
> > subscription update) response into protocol buffer
> PV="SJS:chan1WaveWF"
> > max
> > bytes=512024 -
> > with request chan=SJS:chan1WaveWF op=0 data type=DBR_CTRL_LONG
> > count=32000"
> >
> > The environment variables on my ioc are as follows:
> > epics> epicsPrtEnvParams
> > EPICS_AR_PORT: 7002
> > EPICS_CAS_BEACON_ADDR_LIST is undefined
> > EPICS_CAS_INTF_ADDR_LIST is undefined
> > EPICS_CAS_SERVER_PORT is undefined
> > EPICS_CA_ADDR_LIST: 164.54.189.255
> > EPICS_CA_AUTO_ADDR_LIST: YES
> > EPICS_CA_BEACON_PERIOD: 15.0
> > EPICS_CA_CONN_TMO: 30.0
> > EPICS_CA_MAX_ARRAY_BYTES: 512000
> > EPICS_CA_REPEATER_PORT: 5065
> > EPICS_CA_SERVER_PORT: 5064
> > EPICS_CMD_PROTO_PORT is undefined
> > EPICS_IOC_LOG_FILE_COMMAND is undefined
> > EPICS_IOC_LOG_FILE_LIMIT: 1000000
> > EPICS_IOC_LOG_FILE_NAME is undefined
> > EPICS_IOC_LOG_INET is undefined
> > EPICS_IOC_LOG_PORT: 7004
> > EPICS_TIMEZONE: CUS::360:033102:102802
> > EPICS_TS_NTP_INET is undefined
> >
> >
> > Any ideas?
> >
> >
> > --
> > +-----------------------------------------+
> > | S. Joshua Stein                         |
> > |                                         |
> > | Electronics Engineer                    |
> > | Accelerator Systems Division            |
> > | Advanced Photon Source                  |
> > | Argonne National Laboratory             |
> > | www.aps.anl.gov/asd/people/stein/htdocs |
> > +-----------------------------------------+

-- 
+-----------------------------------------+
| S. Joshua Stein                         |
|                                         |
| Electronics Engineer                    |
| Accelerator Systems Division            |
| Advanced Photon Source                  |
| Argonne National Laboratory             | 
| www.aps.anl.gov/asd/people/stein/htdocs |
+-----------------------------------------+

References:
RE: Large arrays over CA - attempt #2 Jeff Hill

Navigate by Date:
Prev: RE: Large arrays over CA - attempt #2 Jeff Hill
Next: Re: Large arrays over CA - attempt #2 Ernest L. Williams Jr.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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: Large arrays over CA - attempt #2 Jeff Hill
Next: Re: Large arrays over CA - attempt #2 Ernest L. Williams Jr.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  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 ·