Experimental Physics and Industrial Control System
2017/03/17 12:31:57.937 HAM1 queueUnlockPort
2017/03/17 12:31:57.942 HAM1 asynManager::queueLockPort locking port
Segmentationfault
OK, so you are still getting a segfault.
I think this must be due to an error in your driver or database.
Can you explain why you are writing your own driver rather than using StreamDevice?
What happens if you temporarily remove PINI=YES from that ao record?
Mark
________________________________
From: Jörn Dreyer [[email protected]]
Sent: Friday, March 17, 2017 6:34 AM
To: Mark Rivers
Cc: [email protected]
Subject: Re: Asyn 4-30 Problem on Arm processor
Hi Mark,
what I get now is:
#!../../bin/linux-arm/crpc
< envPaths_raspi
epicsEnvSet("ARCH","linux-arm")
epicsEnvSet("IOC",raspi01)
epicsEnvSet("TOP","/home/fwkk_scs/Epics/app")
epicsEnvSet("SNCSEQ","/home/fwkk_scs/Epics/EPICS-3.15.5/seq-2.2.2")
epicsEnvSet("EPICS_BASE","/home/fwkk_scs/Epics/EPICS-3.15.5/base-3.15.5")
epicsEnvSet("ASYN","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/asyn4-26")
epicsEnvSet("STREAM_PROTOCOL_PATH","/home/fwkk_scs/Epics/app/protocols")
epicsEnvSet("MOTOR","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/motorR6-9")
epicsEnvSet("NETSNMP","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/snmp")
epicsEnvSet("BUSY","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/busy-1-6-1")
epicsEnvSet("AUTOSAVE","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/autosave-R5-7-1")
epicsEnvSet("CALC","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/calc-R3-6-1")
epicsEnvSet("IOCSTATS","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/iocStats")
epicsEnvSet("SSCAN","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/sscan-2-10")
epicsEnvSet("STD","/home/fwkk_scs/Epics/EPICS-3.15.5/modules/src/std-R3-4-1")
epicsEnvSet("MIBDIRS","/usr/share/mibs/ietf:/home/fwkk_scs/Epics/app/protocols")
epicsEnvSet("WCR_PREF","guru WIENER-CRATE-MIB::")
cd /home/fwkk_scs/Epics/app
## Register all support components
dbLoadDatabase "dbd/crpc.dbd"
crpc_registerRecordDeviceDriver pdbbase
# Setup for HAMAMATSU power supply
HamamatsuC11204_02AsynPortDriverConfigure("HAM1","/dev/ttyUSB0",0)
asynSetTraceMask("HAM1",0,0x1f)
asynSetTraceIOMask("HAM1",0,0x1f)
dbLoadRecords "db/Hamamatsu_C11204.db"
dbLoadRecords ("db/iocAdminSoft.db", "IOC=raspi01")
dbLoadRecords ("db/iocAdminScanMon.db", "IOC=raspi01")
## Run this to trace the stages of iocInit
#traceIocInit
asynReport 5
HAM1 multiDevice:No canBlock:No autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 0 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:No
exceptionActive:No exceptionUsers 0 exceptionNotifys 0
traceMask:0x1f traceIOMask:0x1f traceInfoMask:0x1
interposeInterfaceList
asynOctet pinterface 0xb6ca6408 drvPvt 0x14409d8
interfaceList
asynCommon pinterface 0xb6ca65fc drvPvt 0x1448098
asynDrvUser pinterface 0xb6ca6608 drvPvt 0x1448098
asynOctet pinterface 0xb6ca6654 drvPvt 0x1448098
asynInt32 pinterface 0xb6ca6614 drvPvt 0x1448098
asynFloat64 pinterface 0xb6ca6644 drvPvt 0x1448098
Port: HAM1
Timestamp: <undefined>
Input EOS[0]:
Output EOS[0]:
Parameter list 0
Number of parameters is: 19
Parameter 0 type=asynFloat64, name=SECOND_SIDE_HIGH_TEMP_CORR_FACTOR, value is undefined
Parameter 1 type=asynFloat64, name=SECOND_SIDE_LOW_TEMP_CORR_FACTOR, value is undefined
Parameter 2 type=asynFloat64, name=PRIMARY_SIDE_HIGH_TEMP_CORR_FACTOR, value is undefined
Parameter 3 type=asynFloat64, name=PRIMARY_SIDE_LOW_TEMP_CORR_FACTOR, value is undefined
Parameter 4 type=asynFloat64, name=REFERENCE_VOLTAGE, value is undefined
Parameter 5 type=asynFloat64, name=REFERENCE_TEMPERATURE, value is undefined
Parameter 6 type=asynInt32, name=STATUS_READ, value is undefined
Parameter 7 type=asynFloat64, name=VOLTAGE_READ, value is undefined
Parameter 8 type=asynFloat64, name=CURRENT_READ, value is undefined
Parameter 9 type=asynFloat64, name=TEMPERATURE_READ, value is undefined
Parameter 10 type=string, name=DEVICE_NAME_READ, value is undefined
Parameter 11 type=string, name=DEVICE_VERSION_READ, value is undefined
Parameter 12 type=string, name=DEVICE_BUILD_DATE_READ, value is undefined
Parameter 13 type=asynInt32, name=HV_OUTPUT_ON, value is undefined
Parameter 14 type=asynInt32, name=HV_OUTPUT_OFF, value is undefined
Parameter 15 type=asynInt32, name=RESET, value is undefined
Parameter 16 type=asynInt32, name=SET_TEMP_COMP_MODE, value is undefined
Parameter 17 type=asynInt32, name=MODE_WRITE, value is undefined
Parameter 18 type=asynInt32, name=MODE_READ, value is undefined
cd /home/fwkk_scs/Epics/app/iocBoot/ioccrpc
iocInit
Starting iocInit
############################################################################
## EPICS R3.15.5
## EPICS Base built Mar 3 2017
############################################################################
2017/03/17 12:31:57.921 HAM1 asynManager::queueLockPort locking port
2017/03/17 12:31:57.926 asynPortDriver::getBounds,low=0, high=65535
2017/03/17 12:31:57.929 asynInt32SyncIO getBounds: status=0 low 0 high 65535
2017/03/17 12:31:57.932 HAM1 queueUnlockPort
2017/03/17 12:31:57.935 HAM1 asynManager::queueLockPort locking port
2017/03/17 12:31:57.936 asynPortDriver::getBounds,low=0, high=65535
2017/03/17 12:31:57.936 asynInt32SyncIO getBounds: status=0 low 0 high 65535
2017/03/17 12:31:57.937 HAM1 queueUnlockPort
2017/03/17 12:31:57.942 HAM1 asynManager::queueLockPort locking port
Segmentationfault
I know, its a bit of improvement, but...
gdb tells me:
Program received signal SIGSEGV, Segmentation fault.
readFloat64 (drvPvt=0x0, pasynUser=0x0, value=0x0) at ../../asyn/asynPortDriver/asynPortDriver.cpp:1984
1984 pPvt->unlock();
(gdb) bt
#0 readFloat64 (drvPvt=0x0, pasynUser=0x0, value=0x0) at ../../asyn/asynPortDriver/asynPortDriver.cpp:1984
#1 0xb6cc07c0 in readOp (pasynUser=0xdb0a0, pvalue=0xbefff300, timeout=<optimized out>)
at ../../asyn/interfaces/asynFloat64SyncIO.c:162
#2 0xb6cef308 in initAo (pao=0xba3f8) at ../../asyn/devEpics/devAsynFloat64.c:514
#3 0xb6b7d830 in init_record (prec=<optimized out>, pass=<optimized out>) at ../../../src/std/rec/aoRecord.c:139
#4 0xb6b491c0 in doInitRecord1 (user=0x0, precord=<optimized out>, pdbRecordType=0xa78a0)
at ../../../src/ioc/misc/iocInit.c:543
#5 iterateRecords (func=<optimized out>, user=0x0) at ../../../src/ioc/misc/iocInit.c:472
#6 initDatabase () at ../../../src/ioc/misc/iocInit.c:551
#7 iocBuild_2 () at ../../../src/ioc/misc/iocInit.c:148
#8 0xb6b49330 in iocBuild () at ../../../src/ioc/misc/iocInit.c:187
#9 0xb6b49504 in iocInit () at ../../../src/ioc/misc/iocInit.c:99
#10 0xb6a61d6c in iocshBody (pathname=<optimized out>, commandLine=0x47a68 "H\331\v",
macros=0x14 <error: Cannot access memory at address 0x14>) at ../../../src/libCom/iocsh/iocsh.cpp:815
#11 0x0001eba4 in main (argc=<optimized out>, argv=<optimized out>) at ../crpcMain.cpp:17
and thats exactly the same place as before.
Jörn
- Replies:
- Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- References:
- Asyn 4-30 Problem on Arm processor Jörn Dreyer
- Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- RE: Asyn 4-30 Problem on Arm processor Mark Rivers
- Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- Navigate by Date:
- Prev:
Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- Next:
Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- 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
2023
2024
- Navigate by Thread:
- Prev:
Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- Next:
Re: Asyn 4-30 Problem on Arm processor Jörn Dreyer
- 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
2023
2024