Hi ,
My problem comes from the use save/restore routines. Before exposing my
pb, I will explain what I've done:
I'm using the Save/Restore routines with EPICS R3.12.2. Thus I 've added
the 'save_restore.c' and 'dbrestore.c' in my base, I've modified the
Makefile.Vx, and the 'initHooks.c', then I've recompiled all the base.
After I've created a .req file that contains the field to save or to
restore.
In the startup script I've add the loading of 'initHooks.o'. The first
time I've rebooted the vme, I've used the create_manual_set routine to
generate .save file. At this time, all was OK.
Then I use the 'reboot_restore()' fonction in the 'initHooks.c' to
restore values in some records after the init of the database, here is a
peace of the code (the part I've added):
.....
case INITHOOKafterInitDatabase :
/*
* restore fields that init_record() would have overwritten with
* info from the dol (desired output location).
*/
printf("*** restoring from 'B1MDefaults.sav' (pass 1) ***\n");
reboot_restore("B1MDefaults.sav", 0);
break;
........
Then, I've added the create_triggered_set(...) routines to save values
to the defined records. When I execute the startup script I have an
acces fault message and the vme crash. Here is the message :
Access Fault
Program Counter: 0x00029720
Status Register: 0x3000
Access Address : 0x636af44c
Special Status : 0x0485
aa80 _vxTaskEntry +10 : _shell (1, 0, 0, 0, 0, 0, 0, 0, 0, 0)
32a74 _shell +138: 32a92 ([1, 0, 0, 32898, 0])
32c14 _shell +2d8: _execute (1fb17d2)
32d38 _execute +ac : _yyparse ([0, 1, 0, 1fb17d2, 0])
36aa4 _yyparse +16 : _malloc (960)
297ce _malloc +e : _memPartAlloc ([6c688, 960, 1fb1794, 36aa6,
960])
29462 _memPartAlloc +4a : _memPartAlignedAlloc ([6c688, 960, 4,
1fb1748, 297d2])
293ca _memPartAlignedAlloc+fe : 296be (6c688, 1f8fd94, 4b4, 8, 4)
Thus I replace create_triggered_set(....) by create_monitor_set(...). So
the vme boot correctly as the startup script is executed. But later
(maybe when create_monitor_set(...) is called) I have another acces
fault and the vme crash again. Here is the message :
Access Fault
Program Counter: 0x00029720
Status Register: 0x3000
Access Address : 0x636af44c
Special Status : 0x0485
Task : "save_restore.c"
Here the problem seems to come from the save_restore task. I've no
precise idea to solve this pb because I don't know the process executed
by save_restore.c.
Is there anybody who have already met this kind of pb and/or can give me
an idea of what can be the cause.
Thanks in advance,
Regards,
Fred
--
_________________________________________________
Frederic MICHAUD
CERN : CH-1211 Geneve 23 - Switzerland
Division: ECP-CO
Phone : Office (+41) 22 767 33 59
: Home (+33) 04 50 40 71 19
FAX : Office (+41) 22 767 74 10
E-mail : [email protected]
_________________________________________________
- Navigate by Date:
- Prev:
Re: Bug in longinRecord Marty Kraimer
- Next:
Re: Subarray records with a minummum profile Tim Mooney
- 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: Bug in longinRecord Marty Kraimer
- Next:
edd 2.3 files to edd 1.22 files Manuel Gonzalez Berges
- 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
|