invalid link status with CALC record
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Wishlist
|
Jeff Hill |
Bug Description
From Pam Gurd:
Here is the situation, right after my IOC reboots:
This record is a CALC record with 2 links, one to itself and one to a record in another IOC.
The record in the other IOC does not change right now (it’s pegged at its maximum). But it is certainly valid.
It seems like the “MS” in the CA link causes the record never to clear the LINK status – maybe it thinks, because one of the records it is linked to (itself) is invalid, it shouldn’t clear the invalid status.
I can clear this status by setting INPA to the same value without MS and back again.
I am not sure who I should write to with this (maybe it’s in the CALC record, who is supporting the CALC record?)
dbpr "CCL_HPRF:
A: 2.59098887443542 ACKS: INVALID ACKT: YES ADEL: 0
ALST: 2.5909888744354 ASG: ASP: 0x01515290
B: 2.5909888744354 BKPT: 0x00 C: 60
CALC: C?((B*(C-1)+A)/C):A D: 0 DESC:
DISA: 0 DISP: 0 DISS: NO_ALARM DISV: 1
DPVT: 0x00000000 DSET: 0x00000000 DTYP: <nil> E: 0
EGU: gpm EVNT: 0 F: 0 FLNK:CONSTANT 0
G: 0 H: 0 HHSV: NO_ALARM HIGH: 0
HIHI: 0 HOPR: 0 HSV: NO_ALARM HYST: 0
I: 0 INPA:CA_LINK SCL_Cool:
INPB:DB_LINK CCL_HPRF:
INPD:CONSTANT INPE:CONSTANT INPF:CONSTANT INPG:CONSTANT
INPH:CONSTANT INPI:CONSTANT INPJ:CONSTANT INPK:CONSTANT
INPL:CONSTANT J: 0 K: 0 L: 0
LA: 2.59098887443542 LALM: 2.5909888744354
LB: 2.5909888744354 LC: 60 LCNT: 0 LD: 0
LE: 0 LF: 0 LG: 0 LH: 0
LI: 0 LJ: 0 LK: 0 LL: 0
LLSV: NO_ALARM LOLO: 0 LOPR: 0 LOW: 0
LSET: 0x015c01b8 LSV: NO_ALARM MDEL: 0
MLIS: 0x008c4570008c4
MLST: 2.5909888744354 NAME: CCL_HPRF:
NSEV: NO_ALARM NSTA: NO_ALARM PACT: 0 PHAS: 0
PINI: NO PPN: 0x00000000 PPNR: 0x00000000 PREC: 3
PRIO: LOW PROC: 0 PUTF: 0 RDES: 0x01b1a488
RPCL: 0x03460203483ff
RSET: 0x01aba610 SCAN: 1 second SDIS:CONSTANT SEVR: INVALID
SPVT: 0x01555020 STAT: LINK TIME: 0x1b864e611fa02bca
TPRO: 0 TSE: 0 TSEL:CONSTANT UDF: 0
VAL: 2.5909888744354
value = 0 = 0x0
Original Mantis Bug: mantis-118
http://
From Andrew Johnson:
The evidence from Pam in your message is insufficient to be sure whether
there is any kind of bug in Base or not - we also need a dbpr from the
other record to know if it's in INVALID_ALARM severity or not, since the
LINK_ALARM status could very easily be caused by the MS flag on the CA
link. It is unfortunate that we use the same alarm status value to mean
two different things, but that's the current situation so we can't
presently distinuish between them.
To clarify those two cases, a record with STAT=LINK could be signalling
either of these:
1. One of its input or output links is pointing to a non-existant PV
2. One of its input links with the MS flag set received a value with an
alarm severity, in Pam's case INVALID_ALARM.