Dear all,
I'm using a
asynPortDriver (4.33) with EPICS base (3.16).
The way I create my
asynPortDriver is:
EWBAsynPortDrvr(const char *portName,int max_nprm)
: asynPortDriver(portName,
1,
(asynInt32Mask | asynFloat64Mask | asynOctetMask |
asynDrvUserMask), /* Interface mask */
(asynInt32Mask | asynFloat64Mask | asynOctetMask), /*
Interrupt mask */
0, /* asynFlags. This driver does not block and it is not
multi-device, so flag is 0 */
1, /* Autoconnect */
0, /* Default priority */
0), /* Default stack size*/
and I have one example PV defined as:
record(ao, "$(user):BoardIDSet")
{
field(DTYP ,"asynInt32")
field(OUT ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))board_ID")
field(DESC ,"Board Identification")
field(VAL , "3")
field(LOPR, "0")
field(HOPR, "5")
field(PINI ,"YES")
}
record(ai, "$(user):BoardIDRdbk")
{
field(DTYP ,"asynInt32")
field(INP ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))board_ID")
field(SCAN ,"I/O Intr")
field(DESC ,"Board Identification")
}
If I set BoardIDSet to a certain value (for example: 3)
BoardIDRdbk does not see the change and it doesnt get updated. But
if I try to write again BoardIDSet following error ocurrs:
Error in
`/home/sevensols/bpm/bpm_epics/bin/linux-x86_64/AsynBPM7S': double
free or corruption (fasttop): 0x00000000023e1b70 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81489)[0x7f145ae31489]
/home/epicsmgr/EPICS/support/asyn/lib/linux-x86_64/libasyn.so(_ZN8paramValD1Ev+0x11)[0x7f145d2d7611]
/home/xxx/bpm/bpm_epics/lib/linux-x86_64/libewbasyn.so(_ZN15EWBAsynGenPVPrmD0Ev+0x9)[0x7f145c09bec9]
/home/xxx/bpm/bpm_epics/lib/linux-x86_64/libewbasyn.so(_ZN15EWBAsynPortDrvr10writeToDevEii+0x4e)[0x7f145c09ad1e]
/home/epicsmgr/EPICS/support/asyn/lib/linux-x86_64/libasyn.so(+0x37ae2)[0x7f145d2d8ae2]
/home/epicsmgr/EPICS/support/asyn/lib/linux-x86_64/libasyn.so(+0x44be5)[0x7f145d2e5be5]
/home/epicsmgr/EPICS/support/asyn/lib/linux-x86_64/libasyn.so(+0x16658)[0x7f145d2b7658]
/home/epicsmgr/EPICS/support/asyn/lib/linux-x86_64/libasyn.so(+0x45af9)[0x7f145d2e6af9]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbRecStd.so.3.16.1(+0xe998)[0x7f145ce3d998]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(dbProcess+0x1d8)[0x7f145cbc4508]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(dbPutField+0x3ce)[0x7f145cbc617e]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(dbChannel_put+0x9e)[0x7f145cbe07fe]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(+0x648a4)[0x7f145cc068a4]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(camessage+0x9d)[0x7f145cc0515d]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libdbCore.so.3.16.1(camsgtask+0x13c)[0x7f145cc0203c]
/home/epicsmgr/EPICS/base/lib/linux-x86_64/libCom.so.3.16.1(+0x40b6c)[0x7f145c706b6c]
Can somebody tell me whay the I/O Scan is not working? And also
why this error ocurrs
Thank you very much in advance!
--
Pilar Gil Jaldo
Embedded SW Engineer
This e-mail and any materials
attached hereto, including, without
limitation, all content hereof and thereof
are confidential and proprietary to Seven
Solutions,S.L and/or its affiliates, and
are *confidential*. Without the prior written consent
of Seven Solutions, this content may not (i)
be disclosed to any third party, (ii) be
reproduced, modified or otherwise used by
anyone other than current employees of Seven
Solutions or its affiliates. If you are not
the intended recipient or if this message
has been received in error, please
immediately notify us via e-mail and delete
it.
This e-mail and any materials attached hereto, including, without limitation, all content hereof and thereof are confidential and proprietary to Seven Solutions,S.L and/or its affiliates, and are *confidential*. Without the prior written consent of Seven Solutions, this content may not (i) be disclosed to any third party, (ii) be reproduced, modified or otherwise used by anyone other than current employees of Seven Solutions or its affiliates. If you are not the intended recipient or if this message has been received in error, please notify us immediately via e-mail and delete it. |