EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Calc record with two CP input links ending up in inconsistent state
From: Érico Nogueira Rolim via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 17 Feb 2025 20:54:36 +0000
Hi!


I updated an IOC today with ~100 instances, and came across a bug in
only one of them. The new version of the IOC has a calc record with two
input links to PVs in the same IOC, using "CP" links. For the one IOC
with the bug, the calc record's VAL was inconsistent with the value of
the two input PVs: CALC is "A & B", the two PVs were 1, but VAL was 0.
Internally, the calc record was consistent, because A was indeed 1, but
B was 0. I tried using dbpf to force the calc record to process itself,
but that didn't update the value of B; the only way to force the calc PV
to change was to force the PV linked to INPB to change its value.


The two input PVs are I/O Intr PVs using asyn record support, which are
usually updated (to 1) during IOC startup, and then stay there.


It seems possible that there could be some sort of race during startup,
after iocInit completes and the calc record processes its first monitor
events, but I'm not sure how best to debug this (nor how to reproduce
it; I only managed to catch it in the production environment due to
amount of devices).


I originally considered that using multiple CP input links would
guarantee eventual consistency; was I wrong in this assumption, or is it
likely that there is a bug in the record/link implementation?


Cheers,

Érico


Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.

Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.

Replies:
Re: Calc record with two CP input links ending up in inconsistent state Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver via Tech-talk
Next: Re: IOC, QServ, and AMSG / alarm.message Johnson, Andrew N. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Re: StreamDevice Checksum formatting bug Zimoch Dirk via Tech-talk
Next: Re: Calc record with two CP input links ending up in inconsistent state Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
ANJ, 19 Feb 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·