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: Sequencer Problems
From: Nicholas DiMonte <[email protected]>
To: Andy Foster <[email protected]>
Cc: Epics Questions <[email protected]>
Date: Fri, 25 Jan 2002 13:22:57 -0600
I had a similar problems in the past. I use the "pvConnected" command
to verify a connection before reading any pv from another IOC.

Nick

Advance Photon Source
Argonne, Il 60439 USA
Phone: 630-252-8856
Fax:     630-252-6123
Email:  [email protected]


Andy Foster wrote:

> I have recently experienced something strange with the
> sequencer. This is EPICS 3.13.4, sequencer Version 1.9.2.Beta12.
>
> What happened was this. In IOC1, a sequence program was
> looping with a 1 second delay. Each time through the loop,
> it called pvGet on a record field which was an array of
> 6 doubles. This record was in IOC2.
>
> With IOC1 and IOC2 running everything was fine.
> However, when IOC2 was rebooted, I started getting garbage values in
> the array elements in IOC1 as a result of the pvGet. Numbers the
> size of 10**271 appeared after the disconnect event.
> This caused my application in IOC1 to crash with
> "Floating point overflow".
>
> I traced this down to what I think maybe a bug in the
> sequencer. When a pvGet completes, there is an unconditional
> copy of the data in the Channel Access structure to the user's
> variable. This is a "bcopy" in "seq_ca.c".
>
> What seemed to be missing was a check on "args.status" for
> ECA_NORMAL before doing this copy. "args" are returned from
> the sequencer event handler routine "seq_event_handler".
> Putting in this check, solved the problem.
>
> There is a question over what to do with the users variable
> (memory space) if the CA status is not ECA_NORMAL.
> I chose to set it to 0. The
> alternative, I guess, would be to leave the value as it was
> before the pvGet failure.
>
> I looked at seq-2.0.1, and saw that it has lots of changes
> made by William Lupton (to support 3.14 and some bug fixes).
> But, looking at the code, it wasn't obvious to me that this
> particular problem had been addressed.
>
> Is there a version of the sequencer available which just has
> the bug fixes and so will run with 3.13.4? Then, I could
> try that version out and, if necessary, my fix could be
> added to this.
>
> Cheers,
>
> Andy
>
> --------------------------------------------------------------------
> Observatory Sciences Limited    Email: [email protected]
> William James House             Tel: 44 - (0)1223 - 508259
> Cowley Road                     Fax: 44 - (0)1223 - 508258
> Cambridge, CB4 0WX, UK          http://www.observatorysciences.co.uk



References:
Sequencer Problems Andy Foster

Navigate by Date:
Prev: sequencer task deletion failure Brian McAllister
Next: VXI shared memory transfer John Faucett
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: Sequencer Problems Andy Foster
Next: sequencer task deletion failure Brian McAllister
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 ·