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: calcout/scalcout record problem in EPICS 3.14.7
From: Tim Mooney <[email protected]>
To: [email protected]
Date: Wed, 15 Feb 2006 13:44:09 -0600
Dear folks,  Emmanuel Mayssat inspired me to play with links, and I
found something interesting.  The calcout record in EPICS 3.14.7 (and
maybe other versions as well -- probably all versions since the record
acquired asynchronous device support) has a problem that results in an
infinite loop if two calcout records forward link to each other.
The scalcout record also has had this problem since synApps 5.1.

Here's the offending code in calcoutRecord.c.  (The corresponding
section of scalcoutRecord.c is almost identical):

static long process(...)
{
	...
	if(doOutput) {
		if (pcalc->odly > 0.0) {
			...
		} else {
			pcalc->pact = FALSE;
			execOutput(pcalc);
			if (pcalc->pact) return(0);
			<<< PACT should be set to TRUE here, but it isn't >>>
		}
	}
	...
	recGblFwdLink(pcalc);
	...


Here's a database that demonstrates the problem:


record(calcout,"a") {
	field(FLNK,"b")
}
record(calcout,"b") {
	field(FLNK,"a")
}

--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.

Replies:
Re: calcout/scalcout record problem in EPICS 3.14.7 Andrew Johnson
References:
labCA crashes with bad PV Dennis Nicklaus
Re: labCA crashes with bad PV Till Straumann
Re: labCA crashes with bad PV Dennis Nicklaus
FLNK loop Emmanuel Mayssat

Navigate by Date:
Prev: Re: building EPICS ArchiveViewer Jiro Fujita
Next: Re: vlinac broken under MacOS 10.4 Tiger? Geoff Savage
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: FLNK loop Emmanuel Mayssat
Next: Re: calcout/scalcout record problem in EPICS 3.14.7 Andrew Johnson
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 ·