EPICS Home

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  <20142015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: Fanout to Sub Records in a Different IOC Causes Core Dump
From: "Poff, Mark A" <mark.a.poff@boeing.com>
To: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Cc: "Poff, Mark A" <mark.a.poff@boeing.com>
Date: Tue, 7 Oct 2014 19:55:38 +0000

Hello all,

 

On the EPICS project here we’ve run into an issue which we believe may point to a bug with fanout records and CA links - and we’re wondering if anybody else has seen this behavior.  For clarity, the following simplifies our project and the records in question, but I can provide additional detail if requested.

 

We have two IOCs.  The first IOC is responsible for publishing PVs and the second IOC is responsible for processing the PVs (using cpp routines) and placing the results in “output” PVs.  The following works with no errors:

 

Data IOC

========

record(bi, “Data_PV_1”)

{

            field(SCAN, “Passive”)

            field(FLNK, “Process1_sub.PROC”)

}

 

Processing IOC

==============

record(sub, “Process1_sub”)

{

            field(INPA, “Data_PV_1”)

            field(SNAM, “Process1_routine”)

            field(FLNK, “Output_PV_1”)

}

record(mbbi, “Output_PV_1”)

{

            field(SCAN, “Passive”)

            field(INP, “Process1_sub”)

}

 

However, when we incorporate a fanout record (to allow two different processing routines to be called when a single data PV changes value), the second IOC (the processing IOC) cores almost immediately after start up:

 

Data IOC

========

record(bi, “Data_PV_1”)

{

            field(SCAN, “Passive”)

            field(FLNK, “Process1_fanout”)

}

record(fanout, “Process1_fanout”)

{

            field(LNK1, “Process1_sub.PROC”)

            field(LNK2, “Process2_sub.PROC”)

}

 

Processing IOC

==============

<Identical to the first example>

 

As an alternate we tried placing the fanout record in the Processing IOC, but that also core’d.  Has anyone seen this behavior?   (I discussed this situation briefly with Andrew Johnson and he recommended an alternate implementation using CP flags on the Processing IOC records, which works well - but of course, we’d still like to understand the issue with fanout.)

 

Thanks,

-Mark

 


Replies:
RE: Fanout to Sub Records in a Different IOC Causes Core Dump Mark Rivers
Re: Fanout to Sub Records in a Different IOC Causes Core Dump Hartman, Steven M.
Re: Fanout to Sub Records in a Different IOC Causes Core Dump Andrew Johnson

Navigate by Date:
Prev: RE: waveform record with Nexus Juliano Ferreira Jorge Murari
Next: RE: Fanout to Sub Records in a Different IOC Causes Core Dump Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: waveform record with Nexus Juliano Ferreira Jorge Murari
Next: RE: Fanout to Sub Records in a Different IOC Causes Core Dump Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019