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

Subject: Asyn 4-30 Problem on Arm processor
From: Jörn Dreyer <j.dreyer@hzdr.de>
To: Epics <tech-talk@aps.anl.gov>
Date: Thu, 16 Mar 2017 07:12:29 +0100

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 Mark Rivers

Navigate by Date:
Prev: RE: Streamdevice: wild card in InTerminator? Mark Rivers
Next: RE: Asyn 4-30 Problem on Arm processor Mark Rivers
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
Navigate by Thread:
Prev: Re: Streamdevice: wild card in InTerminator? Takashi OBINA
Next: RE: Asyn 4-30 Problem on Arm processor Mark Rivers
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
ANJ, 16 Mar 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·