Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problem with 2slit.db and EPICS base 7.0.1.1 #7

Open
prjemian opened this issue Jan 4, 2018 · 4 comments
Open

problem with 2slit.db and EPICS base 7.0.1.1 #7

prjemian opened this issue Jan 4, 2018 · 4 comments
Labels

Comments

@prjemian
Copy link
Contributor

prjemian commented Jan 4, 2018

  • arch: linux-x86_64
  • base: 7.0.1.1
  • synApps: 5.8
  • optics: 2.13
  • xxx: 5.8.4

Either of these two lines (from xxx release 5.8.4):

dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=$(PREFIX),SLIT=Slit1V,mXp=m3,mXn=m4")
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=$(PREFIX),SLIT=Slit1H,mXp=m5,mXn=m6")

results in this IOC crash after iocInit:

*** stack smashing detected ***: ../../bin/linux-x86_64/xxx terminated

Commenting them out and the softIoc does not crash.

@prjemian prjemian added the bug label Jan 4, 2018
@MarkRivers
Copy link
Member

Can you run this with gdb and get a stack trace?

@prjemian
Copy link
Contributor Author

prjemian commented Jan 4, 2018

gdb session

username@host .../iocBoot/iocLinux $ gdb ../../bin/linux-x86_64/xxx 
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../bin/linux-x86_64/xxx...done.
(gdb) run st.cmd
Starting program: /usr/local/epics/synApps/support/xxx-R5-8-4/bin/linux-x86_64/xxx st.cmd
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff08c7700 (LWP 6864)]
# Linux startup script
##########################  ############################################################################
# environment variable      description
##########################  ############################################################################
# PREFIX		    prefix used for all PVs in this IOC
# EPICS_DB_INCLUDE_PATH     search path for database files
# EPICS_CA_MAX_ARRAY_BYTES  Specify largest array CA will transport
# IOCBOOT		    absolute directory path in which this file is located
# RHOST                     specifies the IP address that receives the alive record heartbeats
##########################  ############################################################################
epicsEnvSet("PREFIX", "xxx:")
### For alive
epicsEnvSet("RHOST", "1.2.3.4")
[New Thread 0x7ffff7fb2700 (LWP 6865)]
[Thread 0x7ffff08c7700 (LWP 6864) exited]
macLib: macro TOP is undefined (expanding string epicsEnvSet("IOCBOOT", $(TOP)/iocBoot/$(IOC)))
macLib: macro IOC is undefined (expanding string epicsEnvSet("IOCBOOT", $(TOP)/iocBoot/$(IOC)))
### For devIocStats
epicsEnvSet("ENGINEER","engineer")
epicsEnvSet("LOCATION","location")
epicsEnvSet("GROUP","group")
macLib: macro DEVIOCSTATS is undefined (expanding string epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(DEVIOCSTATS)/db"))
< envPaths
epicsEnvSet("IOC","iocLinux")
epicsEnvSet("TOP","/usr/local/epics/synApps/support/xxx-R5-8-4")
epicsEnvSet("SUPPORT","/home/username/Apps/epics/synApps/support")
epicsEnvSet("EPICS_BASE","/usr/local/epics/base-7.0.1.1")
epicsEnvSet("ASYN","/home/username/Apps/epics/synApps/support/asyn-R4-32")
epicsEnvSet("AUTOSAVE","/home/username/Apps/epics/synApps/support/autosave-R5-9")
epicsEnvSet("BUSY","/home/username/Apps/epics/synApps/support/busy-R1-7")
epicsEnvSet("CALC","/home/username/Apps/epics/synApps/support/calc-R3-7")
epicsEnvSet("CAPUTRECORDER","/home/username/Apps/epics/synApps/support/caputRecorder-R1-7")
epicsEnvSet("DEVIOCSTATS","/home/username/Apps/epics/synApps/support/iocStats-3-1-15")
epicsEnvSet("IP","/home/username/Apps/epics/synApps/support/ip-R2-19")
epicsEnvSet("IPAC","/home/username/Apps/epics/synApps/support/ipac-2-14")
epicsEnvSet("MCA","/home/username/Apps/epics/synApps/support/mca-R7-7")
epicsEnvSet("MODBUS","/home/username/Apps/epics/synApps/support/modbus-R2-10")
epicsEnvSet("MOTOR","/home/username/Apps/epics/synApps/support/motor-R6-10")
epicsEnvSet("OPTICS","/home/username/Apps/epics/synApps/support/optics-R2-13")
epicsEnvSet("SOFTGLUE","/home/username/Apps/epics/synApps/support/softGlue-R2-8")
epicsEnvSet("SSCAN","/home/username/Apps/epics/synApps/support/sscan-R2-11-1")
epicsEnvSet("STD","/home/username/Apps/epics/synApps/support/std-R3-4-1")
epicsEnvSet("XXX","/home/username/Apps/epics/synApps/support/xxx-R5-8-4")
epicsEnvSet("STREAM","/home/username/Apps/epics/synApps/support/stream-R2-7-7")
epicsEnvSet("SNCSEQ","/home/username/Apps/epics/synApps/support/seq-2-2-5")
# save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide
epicsEnvSet(STARTUP,/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux)
# Increase size of buffer for error logging from default 1256
errlogInit(20000)
# Specify largest array CA will transport
# Note for N doubles, need N*8 bytes+some overhead
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64010
################################################################################
# Tell EPICS all about the record types, device-support modules, drivers,
# etc. in the software we just loaded (xxx.munch)
dbLoadDatabase("../../dbd/iocxxxLinux.dbd")
iocxxxLinux_registerRecordDeviceDriver(pdbbase)
### save_restore setup
< save_restore.cmd
# BEGIN save_restore.cmd ------------------------------------------------------
### save_restore setup
# status PVs
#save_restoreSet_UseStatusPVs(1)
save_restoreSet_status_prefix("xxx:")
dbLoadRecords("/home/username/Apps/epics/synApps/support/autosave-R5-9/asApp/Db/save_restoreStatus.db", "P=xxx:, DEAD_SECONDS=5")
# Ok to save/restore save sets with missing values (no CA connection to PV)?
save_restoreSet_IncompleteSetsOk(1)
# Save dated backup files?
save_restoreSet_DatedBackupFiles(1)
# Number of sequenced backup files to write
save_restoreSet_NumSeqFiles(3)
# Time interval between sequenced backups
save_restoreSet_SeqPeriodInSeconds(300)
# Ok to retry connecting to PVs whose initial connection attempt failed?
save_restoreSet_CAReconnect(1)
# Time interval in seconds between forced save-file writes.  (-1 means forever).
# This is intended to get save files written even if the normal trigger mechanism is broken.
save_restoreSet_CallbackTimeout(-1)
# specify where save files should be
set_savefile_path("/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux", "autosave")
###
# specify what save files should be restored.  Note these files must be
# in the directory specified in set_savefile_path(), or, if that function
# has not been called, from the directory current when iocInit is invoked
set_pass0_restoreFile("auto_positions.sav", "P=xxx:")
# Save positions every five seconds
doAfterIocInit("create_monitor_set('auto_positions.req',5,'P=xxx:')")
set_pass0_restoreFile("auto_settings.sav", "P=xxx:")
set_pass1_restoreFile("auto_settings.sav", "P=xxx:")
# save settings every thirty seconds
doAfterIocInit("create_monitor_set('auto_settings.req',30,'P=xxx:')")
# Note that you can reload these sets after creating them: e.g., 
# reload_monitor_set("auto_settings.req",30,"P=xxx:")
# Note that you can restore a .sav file without also autosaving to it.
#set_pass0_restoreFile("myInitData.sav")
#set_pass1_restoreFile("myInitData.sav")
# Also, you can restore a .sav file that contains macros. (autosave R5-4-2)
#set_pass0_restoreFile("myGenericData.sav", "P=xxx:")
#set_pass1_restoreFile("myGenericData.sav", "P=xxx:")
###
# specify directories in which to to search for included request files
set_requestfile_path("/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux", "")
set_requestfile_path("/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux", "autosave")
macLib: macro AREA_DETECTOR is undefined (expanding string set_requestfile_path("$(AREA_DETECTOR)", "ADApp/Db"))
macLib: macro ADCORE is undefined (expanding string set_requestfile_path("$(ADCORE)", "ADApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/autosave-R5-9", "asApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/busy-R1-7", "busyApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/calc-R3-7", "calcApp/Db")
macLib: macro CAMAC is undefined (expanding string set_requestfile_path("$(CAMAC)", "camacApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/caputRecorder-R1-7", "caputRecorderApp/Db")
macLib: macro DAC128V is undefined (expanding string set_requestfile_path("$(DAC128V)", "dac128VApp/Db"))
macLib: macro DELAYGEN is undefined (expanding string set_requestfile_path("$(DELAYGEN)", "delaygenApp/Db"))
macLib: macro DXP is undefined (expanding string set_requestfile_path("$(DXP)", "dxpApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/ip-R2-19", "ipApp/Db")
macLib: macro IP330 is undefined (expanding string set_requestfile_path("$(IP330)", "ip330App/Db"))
macLib: macro IPUNIDIG is undefined (expanding string set_requestfile_path("$(IPUNIDIG)", "ipUnidigApp/Db"))
macLib: macro LOVE is undefined (expanding string set_requestfile_path("$(LOVE)", "loveApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/mca-R7-7", "mcaApp/Db")
macLib: macro MEASCOMP is undefined (expanding string set_requestfile_path("$(MEASCOMP)", "measCompApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/modbus-R2-10", "modbusApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/motor-R6-10", "motorApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/optics-R2-13", "opticsApp/Db")
macLib: macro QUADEM is undefined (expanding string set_requestfile_path("$(QUADEM)", "quadEMApp/Db"))
set_requestfile_path("/home/username/Apps/epics/synApps/support/sscan-R2-11-1", "sscanApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/softGlue-R2-8", "softGlueApp/Db")
set_requestfile_path("/home/username/Apps/epics/synApps/support/std-R3-4-1", "stdApp/Db")
macLib: macro VAC is undefined (expanding string set_requestfile_path("$(VAC)", "vacApp/Db"))
macLib: macro VME is undefined (expanding string set_requestfile_path("$(VME)", "vmeApp/Db"))
set_requestfile_path("/usr/local/epics/synApps/support/xxx-R5-8-4", "xxxApp/Db")
# Debug-output level
save_restoreSet_Debug(0)
# Tell autosave to automatically build built_settings.req and
# built_positions.req from databases and macros supplied to dbLoadRecords()
# (and dbLoadTemplate(), which calls dbLoadRecords()).
epicsEnvSet("BUILT_SETTINGS", "built_settings.req")
epicsEnvSet("BUILT_POSITIONS", "built_positions.req")
autosaveBuild("built_settings.req", "_settings.req", 1)
autosaveBuild("built_positions.req", "_positions.req", 1)
# END save_restore.cmd --------------------------------------------------------
# Access Security
dbLoadRecords("/usr/local/epics/synApps/support/xxx-R5-8-4/xxxApp/Db/Security_Control.db","P=xxx:")
asSetFilename("/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/accessSecurity.acf")
asSetSubstitutions("P=xxx:")
### caputRecorder
# trap listener
dbLoadRecords("/home/username/Apps/epics/synApps/support/caputRecorder-R1-7/caputRecorderApp/Db/caputPoster.db","P=xxx:,N=300")
doAfterIocInit("registerCaputRecorderTrapListener('xxx:caputRecorderCommand')")
# GUI database
dbLoadRecords("/home/username/Apps/epics/synApps/support/caputRecorder-R1-7/caputRecorderApp/Db/caputRecorder.db","P=xxx:,N=300")
# second copy of GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=xxxA:,N=300")
# if you have hdf5 and szip, you can use this
#< areaDetector.cmd
# soft scaler for testing
< softScaler.cmd
# soft scaler
dbLoadRecords("/home/username/Apps/epics/synApps/support/asyn-R4-32/db/asynRecord.db","P=xxx:,R=asynScaler,PORT=scaler1Port,ADDR=0,OMAX=0,IMAX=0")
# drvScalerSoftConfigure(char *portName, int maxChans, char *pvTemplate)
drvScalerSoftConfigure("scaler1Port", 8, "xxx:scaler1:s%d")
[New Thread 0x7ffff7f31700 (LWP 6866)]
[New Thread 0x7fffebfff700 (LWP 6867)]
[New Thread 0x7fffebefe700 (LWP 6868)]
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/scaler.db","P=xxx:,S=scaler1,OUT=@asyn(scaler1Port 0 0),DTYP=Asyn Scaler,FREQ=10000000")
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/scalerSoftCtrl.db","P=xxx:,Q=scaler1:,SCALER=xxx:scaler1")
# user-assignable ramp/tweak
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/ramp_tweak.db","P=xxx:,Q=rt1")
# serial support
#< serial.cmd
# Motors
#dbLoadTemplate("basic_motor.substitutions")
#dbLoadTemplate("motor.substitutions")
dbLoadTemplate("softMotor.substitutions")
dbLoadTemplate("pseudoMotor.substitutions")
< motorSim.cmd
# The is the ASYN example for communication to 4 simulated motors
# "#!" marks lines that can be uncommented.
dbLoadTemplate("motorSim.substitutions")
# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup)
motorSimCreate( 0, 0, -32000, 32000, 0, 1, 16 )
Creating motor simulator: card: 0, axis: 0, hi: 32000, low -32000, home: 0, ncards: 1, naxis: 16
[New Thread 0x7fffebdfd700 (LWP 6869)]
Created motor for card 0, signal 0 OK
Created motor for card 0, signal 1 OK
Created motor for card 0, signal 2 OK
Created motor for card 0, signal 3 OK
Created motor for card 0, signal 4 OK
Created motor for card 0, signal 5 OK
Created motor for card 0, signal 6 OK
Created motor for card 0, signal 7 OK
Created motor for card 0, signal 8 OK
Created motor for card 0, signal 9 OK
Created motor for card 0, signal 10 OK
Created motor for card 0, signal 11 OK
Created motor for card 0, signal 12 OK
Created motor for card 0, signal 13 OK
Created motor for card 0, signal 14 OK
Created motor for card 0, signal 15 OK
# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card)
drvAsynMotorConfigure("motorSim1", "motorSim", 0, 16)
[New Thread 0x7fffebcfc700 (LWP 6870)]
[New Thread 0x7ffff00c6700 (LWP 6871)]
# motorUtil (allstop & alldone)
dbLoadRecords("/home/username/Apps/epics/synApps/support/motor-R6-10/db/motorUtil.db", "P=xxx:")
# Run this after iocInit:
doAfterIocInit("motorUtilInit('xxx:')")
### Scan-support software
# crate-resident scan.  This executes 1D, 2D, 3D, and 4D scans, and caches
# 1D data, but it doesn't store anything to disk.  (See 'saveData' below for that.)
dbLoadRecords("/home/username/Apps/epics/synApps/support/sscan-R2-11-1/sscanApp/Db/standardScans.db","P=xxx:,MAXPTS1=1000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=1000,MAXPTSH=1000")
dbLoadRecords("/home/username/Apps/epics/synApps/support/sscan-R2-11-1/sscanApp/Db/saveData.db","P=xxx:")
# Run this after iocInit:
doAfterIocInit("saveData_Init(saveData.req, 'P=xxx:')")
dbLoadRecords("/home/username/Apps/epics/synApps/support/sscan-R2-11-1/sscanApp/Db/scanProgress.db","P=xxx:scanProgress:")
# Run this after iocInit:
doAfterIocInit("seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'")
# configMenu example.
dbLoadRecords("/home/username/Apps/epics/synApps/support/autosave-R5-9/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan1")
# Note that the request file MUST be named $(CONFIG)Menu.req
# If the macro CONFIGMENU is defined with any value, backup (".savB") and
# sequence files (".savN") will not be written.  We don't want these for configMenu.
# Run this after iocInit:
doAfterIocInit("create_manual_set('scan1Menu.req','P=xxx:,CONFIG=scan1,CONFIGMENU=1')")
# You could make scan configurations read-only:
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan1,ENABLE_SAVE=0")
# read-only configMenu example.  (Read-only, because we're not calling create_manual_set().)
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan2")
# A set of scan parameters for each positioner.  This is a convenience
# for the user.  It can contain an entry for each scannable thing in the
# crate.
dbLoadTemplate("scanParms.substitutions")
### Slits
dbLoadRecords("/home/username/Apps/epics/synApps/support/optics-R2-13/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1V,mXp=m3,mXn=m4")
dbLoadRecords("/home/username/Apps/epics/synApps/support/optics-R2-13/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1H,mXp=m5,mXn=m6")
# X-ray Instrumentation Associates Huber Slit Controller
# supported by a customized version of the SNL program written by Pete Jemian
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=$(PREFIX), HSC=hsc1:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=$(PREFIX), HSC=hsc2:")
#dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=$(PREFIX),C=0,SERVER=serial7")
# Run this after iocInit:
#doAfterIocInit("seq  &xia_slit, 'name=hsc1, P=$(PREFIX), HSC=hsc1:, S=$(PREFIX)seriala[6]'")
### 2-post mirror
#dbLoadRecords("$(OPTICS)/opticsApp/Db/2postMirror.db","P=$(PREFIX),Q=M1,mDn=m1,mUp=m2,LENGTH=0.3")
### User filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=$(PREFIX),Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=$(PREFIX),Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterLock.db","P=$(PREFIX),Q=fltr2:,LOCK=fltr_1_2:,LOCK_PV=$(PREFIX)DAC1_1.VAL")
### Optical tables
#dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=$(PREFIX),Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
dbLoadRecords("/home/username/Apps/epics/synApps/support/optics-R2-13/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=NEWPORT")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=$(PREFIX),Q=Table2,T=table2,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
# Io calculation
dbLoadRecords("/home/username/Apps/epics/synApps/support/optics-R2-13/opticsApp/Db/Io.db","P=xxx:Io:")
### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=$(PREFIX),M_THETA=m1,M_Y=m2,M_Z=m3,yOffLo=17.4999,yOffHi=17.5001")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=$(PREFIX), M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=1, logfile=kohzuCtl.log'")
# modified geometry (geometry 2)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=$(PREFIX),M_THETA=m1,M_Y=m2,M_Z=m2,yOffLo=4,yOffHi=36")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=$(PREFIX), M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=2, logfile=kohzuCtl.log'")
# Spherical grating monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=$(PREFIX),N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9")
# 4-bounce high-resolution monochromator
dbLoadRecords("/home/username/Apps/epics/synApps/support/optics-R2-13/opticsApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m4,M_PHI2=m5")
# Run this after iocInit:
doAfterIocInit("seq &hrCtl, 'P=xxx:, N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'")
### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=$(PREFIX),O=1,PREC=4")
#dbLoadTemplate("orient_xtals.substitutions")
# Run this after iocInit:
#doAfterIocInit("seq &orient, 'P=$(PREFIX)orient1:,PM=$(PREFIX),mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12'")
# Load single element Canberra AIM MCA and ICB modules
#< canberra_1.cmd
# Load 13 element detector software
#< canberra_13.cmd
# Load 3 element detector software
#< canberra_3.cmd
### Stuff for user programming ###
< calc.cmd
### Stuff for user programming ###
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userCalcs10.db","P=xxx:")
appendToFile("built_settings.req", '$(P)userCalcEnable')
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userCalcOuts10.db","P=xxx:")
appendToFile("built_settings.req", '$(P)userCalcOutEnable')
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userCalcOuts10more.db","P=xxx:,N1=11,N2=12,N3=13,N4=14,N5=15,N6=16,N7=17,N8=18,N9=19,N10=20")
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userStringCalcs10.db","P=xxx:")
appendToFile("built_settings.req", '$(P)userStringCalcEnable')
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userArrayCalcs10.db","P=xxx:,N=8000")
appendToFile("built_settings.req", '$(P)userArrayCalcEnable')
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userTransforms10.db","P=xxx:")
appendToFile("built_settings.req", '$(P)userTranEnable')
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userAve10.db","P=xxx:")
# string sequence (sseq) records
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/userStringSeqs10.db","P=xxx:")
appendToFile("built_settings.req", '$(P)userStringSeqEnable')
# editSseq - edit any sseq or seq record
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/editSseq.db", "P=xxx:,Q=ES:")
doAfterIocInit("seq &editSseq, 'P=xxx:,Q=ES:'")
# interpolation
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/interp.db", "P=xxx:,N=2000")
dbLoadRecords("/home/username/Apps/epics/synApps/support/calc-R3-7/calcApp/Db/interpNew.db", "P=xxx:,Q=1,N=2000")
# pvHistory (in-crate archive of up to three PV's)
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/pvHistory.db","P=xxx:,N=1,MAXSAMPLES=1440")
# busy record
dbLoadRecords("/home/username/Apps/epics/synApps/support/busy-R1-7/busyApp/Db/busyRecord.db", "P=xxx:,R=mybusy")
dbLoadRecords("/home/username/Apps/epics/synApps/support/busy-R1-7/busyApp/Db/busyRecord.db", "P=xxx:,R=mybusy2")
# Soft function generator
#dbLoadRecords("$(CALC)/calcApp/Db/FuncGen.db","P=xxx:,Q=fgen,OUT=xxx:m7.VAL")
# 4-step measurement
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/4step.db", "P=xxx:,Q=4step:")
# Slow feedback
dbLoadTemplate "pid_slow.substitutions"
dbLoadTemplate "async_pid_slow.substitutions"
#dbLoadTemplate "fb_epid.substitutions"
# Miscellaneous PV's, such as burtResult
dbLoadRecords("/home/username/Apps/epics/synApps/support/std-R3-4-1/stdApp/Db/misc.db","P=xxx:")
# devIocStats
dbLoadRecords("/home/username/Apps/epics/synApps/support/iocStats-3-1-15/db/iocAdminSoft.db","IOC=xxx")
### Queensgate piezo driver
#dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=$(PREFIX)")
### Queensgate Nano2k piezo controller
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=$(PREFIX),S=s1")
### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=$(PREFIX),H=fem01:,F=seq01:")
# Run this after iocInit:
#doAfterIocInit("seq femto,'name=fem1,P=$(PREFIX),H=fem01:,F=seq01:,G1=$(PREFIX)Unidig1Bo6,G2=$(PREFIX)Unidig1Bo7,G3=$(PREFIX)Unidig1Bo8,NO=$(PREFIX)Unidig1Bo10'")
### Load database records for dual PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4common.db","P=$(PREFIX),H=pf4:,A=A,B=B")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=$(PREFIX),H=pf4:,B=A")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=$(PREFIX),H=pf4:,B=B")
# Run this after iocInit:
#doAfterIocInit("seq pf4,'name=pf1,P=$(PREFIX),H=pf4:,B=A,M=$(PREFIX)userTran10.I,B1=$(PREFIX)userTran10.A,B2=$(PREFIX)userTran10.B,B3=$(PREFIX)userTran10.C,B4=$(PREFIX)userTran10.D'")
#doAfterIocInit("seq pf4,'name=pf2,P=$(PREFIX),H=pf4:,B=B,M=$(PREFIX)userTran10.I,B1=$(PREFIX)userTran10.E,B2=$(PREFIX)userTran10.F,B3=$(PREFIX)userTran10.G,B4=$(PREFIX)userTran10.H'")
### Load database records for alternative PF4-filter support
#dbLoadTemplate "filter.substitutions"
# Run this after iocInit:
#doAfterIocInit("seq filterDrive,'NAME=filterDrive,P=$(PREFIX),R=filter:,NUM_FILTERS=16'")
### Load database record for alive heartbeating support.
# RHOST specifies the IP address that receives the heartbeats.
#dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),RHOST=X.X.X.X")
###############################################################################
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.1.1
## EPICS Base built Jan  3 2018
############################################################################
[New Thread 0x7fffebbfb700 (LWP 6872)]
[New Thread 0x7fffebafa700 (LWP 6873)]
[New Thread 0x7fffeb8f9700 (LWP 6874)]
[New Thread 0x7fffeb6f8700 (LWP 6875)]
[New Thread 0x7fffeb4f7700 (LWP 6876)]
drvStreamInit: Warning! STREAM_PROTOCOL_PATH not set. Defaults to "."
[New Thread 0x7fffeb2f6700 (LWP 6877)]
[New Thread 0x7fffeb0f5700 (LWP 6878)]
reboot_restore: entry for file 'auto_positions.sav'
reboot_restore: Found filename 'auto_positions.sav' in restoreFileList.
*** restoring from '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav' at initHookState 6 (before record/device init) ***
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.savB'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.savB'.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav0'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav1'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav1'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav2'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav2'.
save_restore: Can't find a file to restore from...save_restore: ...last tried '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_positions.sav2'. I give up.
save_restore: **********************************

save_restore: Can't open save file.reboot_restore: entry for file 'auto_settings.sav'
reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.
*** restoring from '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav' at initHookState 6 (before record/device init) ***
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.savB'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.savB'.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav1'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav1'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'.
save_restore: Can't find a file to restore from...save_restore: ...last tried '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'. I give up.
save_restore: **********************************

save_restore: Can't open save file.xxx:m1Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m1Offset ao: init_record

xxx:m1Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m1Resolution ao: init_record

xxx:m2Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m2Offset ao: init_record

xxx:m2Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m2Resolution ao: init_record

xxx:m3Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m3Offset ao: init_record

xxx:m3Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m3Resolution ao: init_record

xxx:m4Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m4Offset ao: init_record

xxx:m4Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m4Resolution ao: init_record

xxx:m5Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m5Offset ao: init_record

xxx:m5Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m5Resolution ao: init_record

xxx:m6Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m6Offset ao: init_record

xxx:m6Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m6Resolution ao: init_record

xxx:m7Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m7Offset ao: init_record

xxx:m7Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m7Resolution ao: init_record

xxx:m8Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m8Offset ao: init_record

xxx:m8Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m8Resolution ao: init_record

xxx:m9Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m9Offset ao: init_record

xxx:m9Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m9Resolution ao: init_record

xxx:m10Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m10Offset ao: init_record

xxx:m10Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m10Resolution ao: init_record

xxx:m11Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m11Offset ao: init_record

xxx:m11Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m11Resolution ao: init_record

xxx:m12Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m12Offset ao: init_record

xxx:m12Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m12Resolution ao: init_record

xxx:m13Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m13Offset ao: init_record

xxx:m13Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m13Resolution ao: init_record

xxx:m14Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m14Offset ao: init_record

xxx:m14Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m14Resolution ao: init_record

xxx:m15Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m15Offset ao: init_record

xxx:m15Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m15Resolution ao: init_record

xxx:m16Offset devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_OFFSET
Error (514,514) PV: xxx:m16Offset ao: init_record

xxx:m16Resolution devAsynFloat64::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_RESOLUTION
Error (514,514) PV: xxx:m16Resolution ao: init_record

[New Thread 0x7fffeaff4700 (LWP 6879)]
[New Thread 0x7fffeadf3700 (LWP 6880)]
xxx:m1Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m2Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m3Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m4Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m5Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m6Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m7Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m8Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m9Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m10Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m11Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m12Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m13Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m14Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m15Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
xxx:m16Direction devAsynInt32::initCommon drvUserCreate drvmotorAsyn::drvUserCreate, unknown command=MOTOR_REC_DIRECTION
reboot_restore: entry for file 'auto_settings.sav'
reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.
*** restoring from '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav' at initHookState 7 (after record/device init) ***
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.savB'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.savB'.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav0'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav1'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav1'.
save_restore: Trying backup file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'
save_restore: Can't open file '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'.
save_restore: Can't find a file to restore from...save_restore: ...last tried '/usr/local/epics/synApps/support/xxx-R5-8-4/iocBoot/iocLinux/autosave/auto_settings.sav2'. I give up.
save_restore: **********************************

save_restore: Can't open save file.[New Thread 0x7fffeabf2700 (LWP 6881)]
[New Thread 0x7fffeaaf1700 (LWP 6882)]
[New Thread 0x7fffea8f0700 (LWP 6883)]
[New Thread 0x7fffea6ef700 (LWP 6884)]
[New Thread 0x7fffea4ee700 (LWP 6885)]
[New Thread 0x7fffea2ed700 (LWP 6886)]
[New Thread 0x7fffea0ec700 (LWP 6887)]
[New Thread 0x7fffe9eeb700 (LWP 6888)]
[New Thread 0x7fffe9cea700 (LWP 6889)]
[New Thread 0x7fffe9ae9700 (LWP 6890)]
configMenuList_do(scan1): findConfigFiles returned -1
[New Thread 0x7fffe98e8700 (LWP 6891)]
[New Thread 0x7fffe97e7700 (LWP 6892)]
[New Thread 0x7fffe96e6700 (LWP 6893)]
iocRun: All initialization complete
create_monitor_set('auto_positions.req',5,'P=xxx:')
[New Thread 0x7fffe9464700 (LWP 6895)]
[New Thread 0x7fffe9665700 (LWP 6894)]
create_monitor_set('auto_settings.req',30,'P=xxx:')
auto_positions.sav: 16 of 16 PV's connected
[New Thread 0x7fffe9263700 (LWP 6896)]
[New Thread 0x7fffe9162700 (LWP 6897)]
registerCaputRecorderTrapListener('xxx:caputRecorderCommand')
[New Thread 0x7fffe8c3f700 (LWP 6898)]
motorUtilInit('xxx:')
[New Thread 0x7fffe87a0700 (LWP 6899)]
saveData_Init(saveData.req, 'P=xxx:')
saveData: message queue created
[New Thread 0x7fffe869f700 (LWP 6900)]
[New Thread 0x7fffe849e700 (LWP 6901)]
[New Thread 0x7fffe839d700 (LWP 6902)]
[New Thread 0x7fffe829c700 (LWP 6903)]
seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'
sevr=info Sequencer release 2.2.5, compiled Wed Jan  3 16:52:46 2018
saveData:maxAllowedRetries = 10
saveData:retryWaitInSecs = 15
[New Thread 0x7fffe819b700 (LWP 6904)]
[New Thread 0x7fffcbfff700 (LWP 6905)]
sevr=info Spawning sequencer program "scanProgress", thread 0x101e730: "scanProgress"
[New Thread 0x7fffcbdfe700 (LWP 6906)]
[New Thread 0x7fffcbcfd700 (LWP 6907)]
[New Thread 0x7fffcbafc700 (LWP 6908)]
*** stack smashing detected ***: /usr/local/epics/synApps/support/xxx-R5-8-4/bin/linux-x86_64/xxx terminated

Thread 46 "CAC-event" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffcbafc700 (LWP 6908)]
0x00007ffff22b5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

stack trace

(gdb) bt
#0  0x00007ffff22b5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff22b702a in __GI_abort () at abort.c:89
#2  0x00007ffff22f77ea in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff240f45f "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff239911c in __GI___fortify_fail (msg=<optimized out>, msg@entry=0x7ffff240f441 "stack smashing detected") at fortify_fail.c:37
#4  0x00007ffff23990c0 in __stack_chk_fail () at stack_chk_fail.c:28
#5  0x00007ffff3486cc9 in inputChanged (precDynLink=<optimized out>) at ../swaitRecord.c:844
#6  0x00007ffff38c4d1a in monitorCallback (eha=...) at ../recDynLink.c:707
#7  0x00007ffff17c2b30 in oldSubscription::current (this=<optimized out>, guard=..., type=14, count=1, pData=0x7fffe4000ec0) at ../oldSubscription.cpp:68
#8  0x00007ffff2904f52 in dbContext::callStateNotify (this=0x7fffcc000c50, dbch=0x7fffd80599c8, type=14, count=1, pfl=<optimized out>, notifyIn=...) at ../../../src/ioc/db/dbContext.cpp:189
#9  0x00007ffff28f8257 in event_read (ev_que=0x7fffd00228b0) at ../../../src/ioc/db/dbEvent.c:970
#10 event_task (pParm=0x7fffd00228b0) at ../../../src/ioc/db/dbEvent.c:1049
#11 0x00007ffff268c65c in start_routine (arg=0x7fffcc025a20) at ../../src/osi/os/posix/osdThread.c:403
#12 0x00007ffff134e6ba in start_thread (arg=0x7fffcbafc700) at pthread_create.c:333
#13 0x00007ffff23873dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

@timmmooney
Copy link
Contributor

I'll guess this is a problem in (or at least exposed by) recDynLink. Probably we should replace the swait records in 2slit.db with calcout records, and try to reproduce this problem separately, using a swait record with SCAN="I/O Intr", and PINI="YES".

@prjemian
Copy link
Contributor Author

FWIW: It's not a problem now with these versions:

name value
arch linux-x86_64
base 7.0.5
synApps 6.2.1
optics 2.13.5
xxx master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants