EPICS Home

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  <20172018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Asyn 4-30 Problem on Arm processor
From: Mark Rivers <[email protected]>
To: Jörn Dreyer <[email protected]>, Epics <[email protected]>
Date: Thu, 16 Mar 2017 10:48:17 +0000
Hi Jörn,

Please add this line to your startup script just before the call to iocInit

asynReport 1

Also send the complete output when the IOC boots.

Mark

________________________________
From: [email protected] [[email protected]] on behalf of Jörn Dreyer [[email protected]]
Sent: Thursday, March 16, 2017 1:12 AM
To: Epics
Subject: Asyn 4-30 Problem on Arm processor


Hi,



I have an IOC that uses asyn4-30 to communicate with an Hamamatsu C11204-02 chip. This is used for Silicon photomultipliers as power source.

My problem is that the code works perfectly under Linux on an x86_64 system but crashes with the following backtrace on an RaspberryPi .



Program received signal SIGSEGV, Segmentation fault.
readFloat64 (drvPvt=0x0, pasynUser=0x0, value=0x0) at ../../asyn/asynPortDriver/asynPortDriver.cpp:1885
1885        pPvt->unlock();
(gdb) bt
#0  readFloat64 (drvPvt=0x0, pasynUser=0x0, value=0x0) at ../../asyn/asynPortDriver/asynPortDriver.cpp:1885
#1  0xb6cc22a0 in readOp (pasynUser=0xc2260, pvalue=0xbefff400, timeout=<optimized out>)
   at ../../asyn/interfaces/asynFloat64SyncIO.c:162
#2  0xb6cef100 in initAo (pao=0xba468) at ../../asyn/devEpics/devAsynFloat64.c:514
#3  0xb6b7f830 in init_record (prec=<optimized out>, pass=<optimized out>) at ../../../src/std/rec/aoRecord.c:139
#4  0xb6b4b1c0 in doInitRecord1 (user=0x0, precord=<optimized out>, pdbRecordType=0x53e38)
   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  0xb6b4b330 in iocBuild () at ../../../src/ioc/misc/iocInit.c:187
#9  0xb6b4b504 in iocInit () at ../../../src/ioc/misc/iocInit.c:99
#10 0xb6a63d6c in iocshBody (pathname=<optimized out>, commandLine=0x47858 "H.\v",
   macros=0x14 <error: Cannot access memory at address 0x14>) at ../../../src/libCom/iocsh/iocsh.cpp:815
#11 0x0001ea64 in main (argc=<optimized out>, argv=<optimized out>) at ../iocMain.cpp:20


I'm wondering why all the parameters paswsed to readFloat64 are NULL. The crash happens already during iocInit, when the first Parameter that has PINI set to YES is processed.

Any idea what could cause this crash?



Regards



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

Navigate by Date:
Prev: Asyn 4-30 Problem on Arm processor Jörn Dreyer
Next: Re: Streamdevice: wild card in InTerminator? Pearson, Matthew R.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: 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  <20172018  2019  2020  2021  2022  2023  2024