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: Sequencer Problems
From: Andy Foster <[email protected]>
To: Epics Questions <[email protected]>
Date: Fri, 25 Jan 2002 16:55:45 +0000 (GMT)
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



Replies:
Re: Sequencer Problems Nicholas DiMonte

Navigate by Date:
Prev: LeCroy 4300B FERA search Paul Sichta
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 
Navigate by Thread:
Prev: LeCroy 4300B FERA search Paul Sichta
Next: Re: Sequencer Problems Nicholas DiMonte
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 ·