Hi Mark –
That looks to be due to a change that I merged in a little while ago to add those variables by default. However, it seems that I did not adequately test it properly…
Can you please create an issue on iocStats? For now if you use commit ee50efb5d883c705311e1d96dc15c9edee2c2178 (just before those changes) you should hopefully be fine.
Cheers,
Simon
From:
Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
Reply to: Mark Rivers <rivers at cars.uchicago.edu>
Date: Monday, 29 May 2023 at 23:11
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: iocStats errors about undefined environment variables
Folks,
I am using the master branch of iocStats and the master branch of EPICS base (commit 5a1f3ecc8b9d97a5fa4f3a981651b4614fc7217f).
In my startup script I have this line:
dbLoadRecords("/corvette/home/epics/support/devIocStats-3-1-16/db/iocAdminSoft.db","IOC=13IDC:")
When my IOC boots I get the following errors:
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::TIMEZONE
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_ADDR_LIST
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_AUTO_ADDR
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_BEACON_PERIOD
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_BROADCAST_PORT
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_CONN_TMO
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_DEBUG
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVA_SERVER_PORT
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVAS_AUTO_BEACON_ADDR_LIST
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVAS_BEACON_ADDR_LIST
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVAS_BEACON_PERIOD
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVAS_BROADCAST_PORT
recGblRecordError: devStringinEpics (init_record) INP field is not an EPICS env var Illegal field value PV: 13IDC::PVAS_SERVER_PORT
I know how to fix the TIMEZONE error, with this patch:
diff --git a/iocAdmin/Db/epicsEnvVars.substitutions b/iocAdmin/Db/epicsEnvVars.substitutions
index b8e227a..0541dcc 100644
--- a/iocAdmin/Db/epicsEnvVars.substitutions
+++ b/iocAdmin/Db/epicsEnvVars.substitutions
@@ -27,7 +27,7 @@ file iocEnvVar.template
{ CAS_ADDR_INTF_LIST , EPICS_CAS_INTF_ADDR_LIST , epics }
{ CAS_ADDR_IGNORE_LIST , EPICS_CAS_IGNORE_ADDR_LIST , epics }
- { TIMEZONE , EPICS_TIMEZONE , epics }
+ { TIMEZONE , EPICS_TZ , epics }
{ TS_NTP_INET , EPICS_TS_NTP_INET , epics }
{ IOC_LOG_PORT , EPICS_IOC_LOG_PORT , epics }
{ IOC_LOG_INET , EPICS_IOC_LOG_INET , epics }
However, I don’t understand the PVA and PVAS error messages. If I do epicsPrtEnvParams those environment variables are indeed not defined:
epics> epicsPrtEnvParams
EPICS_CA_ADDR_LIST is undefined
EPICS_CA_CONN_TMO: 30.0
EPICS_CA_AUTO_ADDR_LIST: YES
EPICS_CA_REPEATER_PORT: 5065
EPICS_CA_SERVER_PORT: 5064
EPICS_CA_MAX_ARRAY_BYTES: 16384
EPICS_CA_AUTO_ARRAY_BYTES: YES
EPICS_CA_MAX_SEARCH_PERIOD: 300.0
EPICS_CA_NAME_SERVERS is undefined
EPICS_CA_MCAST_TTL: 1
EPICS_CAS_INTF_ADDR_LIST is undefined
EPICS_CAS_IGNORE_ADDR_LIST is undefined
EPICS_CAS_AUTO_BEACON_ADDR_LIST is undefined
EPICS_CAS_BEACON_ADDR_LIST is undefined
EPICS_CAS_SERVER_PORT is undefined
EPICS_CA_BEACON_PERIOD: 15.0
EPICS_CAS_BEACON_PERIOD is undefined
EPICS_CAS_BEACON_PORT is undefined
EPICS_BUILD_COMPILER_CLASS: gcc
EPICS_BUILD_OS_CLASS: Linux
EPICS_BUILD_TARGET_ARCH: linux-x86_64-centos9
EPICS_TZ: CST6CDT,M3.2.0/2,M11.1.0/2
EPICS_TS_NTP_INET is undefined
EPICS_IOC_IGNORE_SERVERS is undefined
EPICS_IOC_LOG_PORT: 7004
EPICS_IOC_LOG_INET is undefined
EPICS_IOC_LOG_FILE_LIMIT: 1000000
EPICS_IOC_LOG_FILE_NAME is undefined
EPICS_IOC_LOG_FILE_COMMAND is undefined
IOCSH_PS1: epics>
IOCSH_HISTSIZE: 50
IOCSH_HISTEDIT_DISABLE is undefined
Am I doing something wrong, or is there a problem in iocStats?
Thanks,
Mark