Experimental Physics and Industrial Control System
|
On Apr 20, 2010, at 5:21 AM, Korhonen Timo wrote:
Hi Dirk,
Now that Ben pointed this out, it rang a bell.
This probably does not help in any way, but almost exactly ten years
ago there was a discussion thread about aao record in tech-talk,
starting from:
http://www.aps.anl.gov/epics/tech-talk/2000/msg00310.php
I thought however that these issues (memory allocation, etc) would
have been solved already
a long time ago....
If I remember correctly, at that time I assumed Eric (Bjorklund)
would do the changes,
he probably expected that I do and we never cross-checked. :-(
best regards,
Timo
Wow. Now that was a blast from the past. The last post in that chain
was on May 4, 2000. On May 5, the Cerro Grande fire went out of
control and Los Alamos was evacuated shortly thereafter. We didn't
really get back to productive work here until early June -- by which
time I obviously had completely forgotten about the aai/aao issue (but
at least I have a good excuse ;-}
We have a grand total of 9 aao records in our system (two device
support modules), so I don't think we would be terribly inconvenienced
by having to modify device support. This is not a particularly good
time for me to be taking on any new projects, however, so I won't be
the one to "step up". Could be a good codeathon project though....
-Eric Bj.
Benjamin Franksen wrote:
On Tuesday 20 April 2010, Dirk Zimoch wrote:
Tim Mooney wrote:
Dirk, I was seeing something similar (though in 3.14.11),
and "dbpr <recordname>,5" showed "DTYP: <nil>",
until I added the line
device(aao,CONSTANT,devAaoSoft,"Soft Channel")
to the .dbd file.
Hi Tim.
That is not the problem:
DTYP: Soft Channel
The ioc also crashes when the aao record is not processed! Thus DTYP
cannot be the problem.
I believe the aao record support is at fault.
The problem is that it does not allocate bptr itself but leaves
this to device support. However, when device support's init_record
method is called, it is too late. Because by then links have
already been initialized, thus cvt_db_addr has been called, which
sets the field address to bptr, i.e. NULL.
This explains why regular puts work but puts via db links lead to a
crash. If you dbpf from the ioc shell or do caput, the cvt_db_addr
gets called and since this is after device support init, bptr will
contain a valid pointer to the array.
You could verify my theory by issuing a 'caput aao1.OUT aao2'.
After this, the IOC should not crash when processing aao1. It
shoudl still crash when processing ao1, until you re-initialize
thits OUT link, too.
Solution: Fix aao (and probably aai) record support to either
allocate bptr itself or else call device support's init_record
during the first pass of record support initialization.
Cheers
Ben
--
Timo Korhonen PSI (Paul Scherrer Institut, http://
www.psi.ch) CH-5232 Villigen PSI tel +
41- 56 3103262 fax + 41 - 56 310 5090 e-mail: [email protected]
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Eric Björklund
Los Alamos Neutron Science Center (LANSCE)
phone:
505-667-6031
email: [email protected]
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
"The universe is full of magical things,
patiently waiting for our wits to grow sharper"
-- Eden
Phillpotts
Correspondence
- References:
- writing to aao crashes ioc Dirk Zimoch
- Re: writing to aao crashes ioc Tim Mooney
- Re: writing to aao crashes ioc Dirk Zimoch
- Re: writing to aao crashes ioc Benjamin Franksen
- Re: writing to aao crashes ioc Korhonen Timo
- Navigate by Date:
- Prev:
Re: writing to aao crashes ioc Andrew Johnson
- Next:
Re: How to compile the sysVmeMapShow() function to the MVME5500 BSP? Andrew Johnson
- 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: writing to aao crashes ioc Korhonen Timo
- Next:
Re: writing to aao crashes ioc Dirk Zimoch
- 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
|
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|