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  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: RE: quadEM-R7-0 ParamValNotDefined
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: Rong Huang <ronghuang at ls-cat.org>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 19 Dec 2023 22:10:19 +0000

Hi Rong,

 

You appear to be running asyn R4-36.

 

You are getting this error:

 

NDStatsConfigure("STATS1", 20, 0, "TetrAMM", 0, 0, 0) terminate called after throwing an instance of 'ParamValNotDefined'

  what():  paramVal::getInteger value not defined Aborted (core dumped)

 

I do not understand that.  The only place where paramVal::getInteger should be called is in this line in asynPortDriver R4-36:

https://github.com/epics-modules/asyn/blob/89c2b93d14cdb7fe48d490785cd7780c1b997277/asyn/asynPortDriver/asynPortDriver.cpp#L288

 

Note that paramVal::getInteger is called in a try/catch block, and exception ParamValNotDefined is explicitly caught.  So it should simply return asynParamUndefined to the function that called paramList::GetInteger, which is normally asynPortDriver::getIntegerParam().

 

Your error message says that the crash generated a core dump.  I think you need to run gdb on that core file and send the output of the gdb “backtrace” command.

 

Alternatively you can run the IOC again under gdb as follows:

 

gdb ../../bin/linux-arm/quadEMTestApp

run st.cmd

 

(when it crashes type this command)

backtrace

 

That will show the call stack when it crashed, and we may be able to figure out why it is happening.

 

Mark

 

-----Original Message-----
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Rong Huang via Tech-talk
Sent: Tuesday, December 19, 2023 2:35 PM
To: tech-talk at aps.anl.gov
Subject: quadEM-R7-0 ParamValNotDefined

 

Hello,

 

Sorry I am living in the past. I am trying to install the old version

quadEM-R7-0 to match the  EPICS_base version (3.14.12.8) and Asyn version in use.

 

I installed everything without vxWorks, with the intention to run the IOC on a PC. Currently working on RHEL linux-arm inside VMware Fusion.

 

The TetrAMM instrument is new, but I guess the error message is not about hardware but EPICS software. The printout of starting IOC is as

follows:

 

[rh@localhost iocTetrAMM]$ ../../bin/linux-arm/quadEMTestApp st.cmd

errlogInit(5000)

< envPaths

epicsEnvSet("ARCH","linux-x86_64")

epicsEnvSet("IOC","iocTetrAMM")

epicsEnvSet("TOP","/epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0")

epicsEnvSet("SUPPORT","/epicsioc/used/epics/synApps_5_8_3_14_8")

epicsEnvSet("AREA_DETECTOR","/epicsioc/used/epics/synApps_5_8_3_14_8/areaDetector-R2-5")

epicsEnvSet("EPICS_BASE","/epicsioc/used/epics/base-3.14.12.8")

epicsEnvSet("ASYN","/epicsioc/used/epics/synApps_5_8_3_14_8/asyn-4-36")

epicsEnvSet("ADSUPPORT","/epicsioc/used/epics/synApps_5_8_3_14_8/areaDetector-R2-5/ADSupport")

epicsEnvSet("ADCORE","/epicsioc/used/epics/synApps_5_8_3_14_8/areaDetector-R2-5/ADCore")

epicsEnvSet("AUTOSAVE","/epicsioc/used/epics/synApps_5_8_3_14_8/autosave-5-10")

epicsEnvSet("BUSY","/epicsioc/used/epics/synApps_5_8_3_14_8/busy-1-7-2")

epicsEnvSet("CALC","/epicsioc/used/epics/synApps_5_8_3_14_8/calc-3-7-3")

epicsEnvSet("SNCSEQ","/epicsioc/used/epics/synApps_5_8_3_14_8/seq-2-2-7")

epicsEnvSet("SSCAN","/epicsioc/used/epics/synApps_5_8_3_14_8/sscan-2-11-3")

epicsEnvSet("DEVIOCSTATS","/epicsioc/used/epics/synApps_5_8_3_14_8/iocStats-3-1-16")

epicsEnvSet("IPAC","/epicsioc/used/epics/synApps_5_8_3_14_8/ipac-2-15")

epicsEnvSet("IPUNIDIG","/epicsioc/used/epics/synApps_5_8_3_14_8/ipUnidig-2-10")

# Tell EPICS all about the record types, device-support modules, drivers, # etc. in this build

epicsEnvSet("QUADEM","/epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0")

dbLoadDatabase("/epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0/dbd/quadEMTestApp.dbd")

quadEMTestApp_registerRecordDeviceDriver(pdbbase)

# The search path for database files

# Note: the separator between the path entries needs to be changed to a semicolon (;) on Windows epicsEnvSet("EPICS_DB_INCLUDE_PATH",

"/epicsioc/used/epics/synApps_5_8_3_14_8/areaDetector-R2-5/ADCore/db:/epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0/db")

< /epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0/iocBoot/iocTetrAMM/TetrAMM.cmd

epicsEnvSet("PREFIX",    "quadEMTest:")

epicsEnvSet("RECORD",    "TetrAMM:")

epicsEnvSet("PORT",      "TetrAMM")

epicsEnvSet("TEMPLATE",  "TetrAMM")

epicsEnvSet("QSIZE",     "20")

epicsEnvSet("RING_SIZE", "10000")

epicsEnvSet("TSPOINTS",  "2048")

#epicsEnvSet("IP",        "164.54.160.165:10001")

epicsEnvSet("IP",        "10.1.17.35:10001")

#drvAsynIPPortConfigure("portName","hostInfo",priority,noAutoConnect,

#                        noProcessEos)

drvAsynIPPortConfigure("IP_TetrAMM", "10.1.17.35:10001", 0, 0, 0) asynOctetSetInputEos("IP_TetrAMM",  0, "\r\n") asynOctetSetOutputEos("IP_TetrAMM", 0, "\r") # Set both TRACE_IO_ESCAPE (for ASCII command/response) and TRACE_IO_HEX (for binary data) asynSetTraceIOMask("IP_TetrAMM", 0, 6)

#asynSetTraceFile("IP_$(PORT)",   0, "AHxxx.out")

#asynSetTraceMask("IP_$(PORT)",   0,  9)

asynSetTraceIOTruncateSize("IP_TetrAMM", 0, 4000) # Load asynRecord record dbLoadRecords("/epicsioc/used/epics/synApps_5_8_3_14_8/asyn-4-36/db/asynRecord.db",

"P=quadEMTest:, R=asyn1,PORT=IP_TetrAMM,ADDR=0,OMAX=256,IMAX=256")

drvTetrAMMConfigure("TetrAMM", "IP_TetrAMM", 10000) dbLoadRecords("/epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0/db/TetrAMM.template",

"P=quadEMTest:, R=TetrAMM:, PORT=TetrAMM") < /epicsioc/used/epics/synApps_5_8_3_14_8/quadEM-R7-0/iocBoot/commonPlugins.cmd

epicsEnvSet("T1",  "Current1")

epicsEnvSet("T2",  "Current2")

epicsEnvSet("T3",  "Current3")

epicsEnvSet("T4",  "Current4")

epicsEnvSet("T5",  "SumX")

epicsEnvSet("T6",  "SumY")

epicsEnvSet("T7",  "SumAll")

epicsEnvSet("T8",  "DiffX")

epicsEnvSet("T9",  "DiffY")

epicsEnvSet("T10", "PosX")

epicsEnvSet("T11", "PosY")

# Create 11 statistics plugins

NDStatsConfigure("STATS1", 20, 0, "TetrAMM", 0, 0, 0) terminate called after throwing an instance of 'ParamValNotDefined'

  what():  paramVal::getInteger value not defined Aborted (core dumped)

 

 

Thank you for your attention,

Rong


Replies:
Re: quadEM-R7-0 ParamValNotDefined Rong Huang via Tech-talk
References:
quadEM-R7-0 ParamValNotDefined Rong Huang via Tech-talk

Navigate by Date:
Prev: quadEM-R7-0 ParamValNotDefined Rong Huang via Tech-talk
Next: Re: quadEM-R7-0 ParamValNotDefined Rong Huang 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  <20232024 
Navigate by Thread:
Prev: quadEM-R7-0 ParamValNotDefined Rong Huang via Tech-talk
Next: Re: quadEM-R7-0 ParamValNotDefined Rong Huang 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  <20232024 
ANJ, 19 Dec 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·