EPICS Controls 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  2018  2019  2020  <20212022  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  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: using autosave, iocInit hangs
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: Heinz Junkes <junkes at fhi-berlin.mpg.de>
Cc: Tech talk <tech-talk at aps.anl.gov>
Date: Sat, 29 May 2021 17:43:53 -0500
On 5/25/21 12:33 PM, Heinz Junkes via Tech-talk wrote:
> I also have the reccaster running on the system.
> 
> It looks like the casterInit function leads to blocking.
> I have the function sockpair_compat under suspicion. 
> However, I need to investigate this further.
> Heinz 

If you can reproduce this hang, please reply with a stack trace of all threads.


>> On 23. May 2021, at 22:24, junkes via Tech-talk <tech-talk at aps.anl.gov> wrote:
>>
>> I was using EPICS 7 with RTEMS 5 and have now also enabled autosave.
>> Unfortunately in Main iocInit does not come back but hangs at the last
>> InitHookAnnounce in iocRun
>> ...
>>    if (iocState == iocBuilt)
>>        initHookAnnounce(initHookAtEnd);
>>
>>    errlogPrintf("iocRun: %s\n", iocState == iocBuilt ?
>>        "All initialization complete" :
>>        "IOC restarted");
>>    iocState = iocRunning;
>>    initHookAnnounce(initHookAfterIocRunning);
>>    return 0;
>> }
>>
>>
>>
>>
>>
>>
>> and no new iocsh(NULL) is started.
>>
>> int main(int argc,char *argv[])
>> {
>>    if(argc>=2) {
>>        iocsh(argv[1]);   <----- here it gets stuck
>>        epicsThreadSleep(.2);
>>    }
>>    iocsh(NULL);
>>
>>
>>
>> ...
>> ########
>> # autosave setup
>> dbLoadRecords("db/save_restoreStatus.db", "P=iocvmeIOC3:")
>> ## autoSaveRestore setup
>> save_restoreSet_Debug(0)
>> # status-PV prefix, so save_restore can find its status PV's.
>> save_restoreSet_status_prefix("iocvmeIOC3:")
>> # ok to restore a save set that had missing values (no CA connection to PV)?
>> # ok to save a file if some CA connections are bad?
>> save_restoreSet_IncompleteSetsOk(1)
>> #In the restore operation, a copy of the save file will be written.  The
>> # file name can look like "auto_settings.sav.bu", and be overwritten every
>> # reboot, or it can look like "auto_settings.sav_020306-083522" (this is what
>> # is meant by a dated backup file) and every reboot will write a new copy.
>> save_restoreSet_DatedBackupFiles(1)
>> # specify where save files should go
>> set_savefile_path("/Volumes/Epics/LogDir/log/as","/save")
>> # specify where request files can be found
>> set_requestfile_path("/Volumes/Epics/LogDir/log/as","/req")
>> # Specify what save files should be restored when.
>> # Up to eight files can be specified for each pass.
>> set_pass0_restoreFile("iocvmeIOC3_0.sav")
>> set_pass1_restoreFile("iocvmeIOC3_1.sav")
>> # Number of sequenced backup files (e.g., 'auto_settings.sav0') to write
>> save_restoreSet_NumSeqFiles(3)
>> save_restoreSet_SeqPeriodInSeconds(600)
>> # Time between failed .sav-file write and the retry.
>> save_restoreSet_RetrySeconds(60)
>> makeAutosaveFileFromDbInfo("/Volumes/Epics/LogDir/log/as/req/iocvmeIOC3_0.req", "autosaveFields_pass0")
>> makeAutosaveFileFromDbInfo("/Volumes/Epics/LogDir/log/as/req/iocvmeIOC3_1.req", "autosaveFields_pass1")
>> iocInit
>> iocInit: Reached initHookAtIocBuild
>> Starting iocInit
>> iocInit: Reached initHookAtBeginning
>> ############################################################################
>> ## EPICS R7.0.4.2-DEV
>> ## Rev. R7.0.4.1-274-g31ade32004709a9d47e8-dirty
>> ############################################################################
>> iocInit: Reached initHookAfterCallbackInit
>> iocInit: Reached initHookAfterCaLinkInit
>> iocInit: Reached initHookAfterInitDrvSup
>> iocInit: Reached initHookAfterInitRecSup
>> reboot_restore: entry for file 'iocvmeIOC3_0.sav'
>> reboot_restore: Found filename 'iocvmeIOC3_0.sav' in restoreFileList.
>> *** restoring from '/Volumes/Epics/LogDir/log/as/save/iocvmeIOC3_0.sav' at initHookState 6 (before record/device init) ***
>> reboot_restore: done with file 'iocvmeIOC3_0.sav'
>>
>> iocInit: Reached initHookAfterInitDevSup
>> 2021/05/23 20:07:03.501 sis0: Param Timestamp Clear can not be read
>> reboot_restore: entry for file 'iocvmeIOC3_1.sav'
>> reboot_restore: Found filename 'iocvmeIOC3_1.sav' in restoreFileList.
>> *** restoring from '/Volumes/Epics/LogDir/log/as/save/iocvmeIOC3_1.sav' at initHookState 7 (after record/device init) ***
>> reboot_restore: done with file 'iocvmeIOC3_1.sav'
>>
>> iocInit: Reached initHookAfterInitDatabase
>> iocInit: Reached initHookAfterFinishDevSup
>> iocInit: Reached initHookAfterScanInit
>> iocInit: Reached initHookAfterInitialProcess
>> iocInit: Reached initHookAfterCaServerInit
>> iocInit: Reached initHookAfterIocBuilt
>> iocInit: Reached initHookAtIocRun
>> iocInit: Reached initHookAfterDatabaseRunning
>> iocInit: Reached Not an initHookState
>> iocInit: Reached initHookAfterCaServerRunning
>> iocInit: Reached Not an initHookState
>> iocRun: All initialization complete
>> ...
>> no return ...
>>
>> Danke, Heinz
> 


Replies:
Re: using autosave, iocInit hangs Heinz Junkes via Tech-talk
References:
using autosave, iocInit hangs junkes via Tech-talk
Re: using autosave, iocInit hangs Heinz Junkes via Tech-talk

Navigate by Date:
Prev: Re: Issue with FPGA based encoder box when running with EPICS 7.0.5 Michael Davidsaver via Tech-talk
Next: Re: caRepeater w/ systemd? Michael Davidsaver via Tech-talk
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  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: using autosave, iocInit hangs Heinz Junkes via Tech-talk
Next: Re: using autosave, iocInit hangs Heinz Junkes via Tech-talk
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  <20212022  2023  2024 
ANJ, 05 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·