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: calcout/scalcout record problem in EPICS 3.14.7
From: Andrew Johnson <[email protected]>
To: Tim Mooney <[email protected]>
Cc: [email protected]
Date: Wed, 15 Feb 2006 16:35:09 -0600
Tim,

Tim Mooney wrote:
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.

Ouch:


epics> dbpf anjHost:a.TPRO 1
DBR_UCHAR:          1         0x1
epics> dbpf anjHost:a.PROC 1
_main_: Process anjHost:a
_main_: Process anjHost:b
_main_: Process anjHost:a
...
_main_: Process anjHost:a
_main_: Process anjHost:b
_main_: Process anjHost:a
Segmentation fault

That was the main thread's stack overflowing, since each forward link involves a recursive call to process the next record in the chain.

I agree with your fix, and I've committed the modified calcRecord.c to CVS. Asynchronous device support was added to the calcRecord in R3.14.5 so versions or Base before that release are not susceptible to this problem. There's a patch available that is linked from the R3.14.8 KnownProblems page for anyone who wants to apply it.

- Andrew
--
There is no S in exprexxo.

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
calcout/scalcout record problem in EPICS 3.14.7 Tim Mooney

Navigate by Date:
Prev: Re: vlinac broken under MacOS 10.4 Tiger? Geoff Savage
Next: scanRecord Dirk Zimoch
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: calcout/scalcout record problem in EPICS 3.14.7 Tim Mooney
Next: RE: labCA crashes with bad PV Allison, Stephanie
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 ·