EPICS Home

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  <20202021  2022  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: AW: autosave 5-10-1 on RTEMS-4.10.2, mount failed
From: "Sintschuk, Michael via Tech-talk" <tech-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 22 Sep 2020 12:53:01 +0000

Hi Andrew,

 

Yes, I can use the nfsMount command to mount my autosave partition, thanks for that hint! I changed my start script and use the nfsMount() command instead of save_restoreSet_NFSHost() and that actually works:

 

.

.

.

***** Initializing NFS *****

Mount 192.168.99.1:/soft on /soft

RTEMS-RPCIOD $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

RTEMS-NFS $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

Warning: No timezone information, times will be displayed in UTC.

***** Starting EPICS application *****

## Example RTEMS startup script

## You may have to change iocRtems to something else

## everywhere it appears in this file

nfsMount("192.168.99.1","/autosave","/autosave")

Mount 192.168.99.1:/autosave on /autosave

< envPaths

epicsEnvSet("IOC","iocRtems")

epicsEnvSet("TOP","/soft/epics/IOC/iocRtems")

epicsEnvSet("MODULES","/soft/epics/inst-3.15.7")

epicsEnvSet("ASYN","/soft/epics/inst-3.15.7/asyn/4-40-1")

epicsEnvSet("MOTOR","/soft/epics/inst-3.15.7/motor/7-2-1")

epicsEnvSet("PSEUDOMOTAPPS","/soft/epics/inst-3.15.7/pseudoMotors/1-1")

epicsEnvSet("SEQLONG","/soft/epics/inst-3.15.7/seqlong-1-0")

epicsEnvSet("SSCAN","/soft/epics/inst-3.15.7/sscan/2-11-3")

epicsEnvSet("CALC","/soft/epics/inst-3.15.7/calc/3-7-4")

epicsEnvSet("AUTOSAVE","/soft/epics/inst-3.15.7/autosave/5-10-1")

epicsEnvSet("IK342","/soft/epics/inst-3.15.7/IK342")

epicsEnvSet("EPICS_BASE","/soft/epics/base")

cd "/soft/epics/IOC/iocRtems"

## Register all support components

dbLoadDatabase("dbd/iocRtems.dbd")

iocRtems_registerRecordDeviceDriver(pdbbase)

## Load record instances

#dbLoadTemplate("db/iocRtems.substitutions")

dbLoadRecords("db/iocRtems.db", "user=bl")

#var drvOms58debug 10

oms58Setup(11, 0x1000,180,5,2)

IK342Setup(1,0xC000)

set_savefile_path("/autosave/iocRtems")

set_requestfile_path("/autosave/iocRtems")

#save_restoreSet_NFSHost("bam01","192.168.99.1")

set_pass0_restoreFile("auto_positions.sav")

set_pass0_restoreFile("auto_settings.sav")

#set_pass0_restoreFile("pseudoMotor.sav")

set_pass1_restoreFile("auto_settings.sav")

#set_pass1_restoreFile("detectors.sav")

save_restoreSet_status_prefix("iocRtems:")

save_restoreSet_DatedBackupFiles(1)

save_restoreSet_NumSeqFiles(1)

# Time interval between sequenced backups

save_restoreSet_SeqPeriodInSeconds(600)

iocInit

Starting iocInit

############################################################################

## EPICS R3.15.7

## EPICS Base built Sep  1 2020

############################################################################

*** IK342:  Running IK342 Initialization IK342_drv_init ***

 1 nIK342Cards, 0xc000. baseAddr

libbspExt - Warning: it seems that MCP support is not available on your CPU

                     or not implemented by your board. Address probing must

                     be performed in polling mode with interrupts disabled

../drvIK342.c: card 0 present at addr 9FFFC000

version  FF00

reboot_restore: entry for file 'auto_positions.sav'

reboot_restore: Found filename 'auto_positions.sav' in restoreFileList.

*** restoring from '/autosave/iocRtems/auto_positions.sav' at initHookState 6 (before record/device init) ***

reboot_restore: done with file 'auto_positions.sav'

 

reboot_restore: entry for file 'auto_settings.sav'

reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.

*** restoring from '/autosave/iocRtems/auto_settings.sav' at initHookState 6 (before record/device init) ***

reboot_restore: done with file 'auto_settings.sav'

 

init_record: card = 0   channel = 0

init_record: card = 0   channel = 1

init_record: card = 0   channel = 2

init_record: card = 0   channel = 3

reboot_restore: entry for file 'auto_settings.sav'

reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.

*** restoring from '/autosave/iocRtems/auto_settings.sav' at initHookState 7 (after record/device init) ***

reboot_restore: done with file 'auto_settings.sav'

 

iocRun: All initialization complete

epicsThreadSleep(10.)

create_monitor_set("auto_positions.req", 5, "NULL")

create_monitor_set("auto_settings.req", 5, "NULL")

save_restore: Can't connect to all status PV(s)

auto_positions.sav: 176 of 176 PV's connected

save_restore: Can't connect to status PV(s) for list 'auto_positions.sav'

#create_monitor_set("pseudoMotor.req",5, "NULL")

#create_monitor_set("detectors.req",5, "NULL")

#fdbrestore("DMMarm.sav")

## Start any sequence programs

#seq(sncxxx, "user=bl")

192.168.99.250> auto_settings.sav: 2464 of 2464 PV's connected

192.168.99.250>192.168.99.250>

 

However, if I use nfsMount() and save_restoreSet_NFSHost(), the startup crashes with the following (bam01 my server on 192.168.99.1):

 

 

***** Initializing NFS *****

Mount 192.168.99.1:/soft on /soft

RTEMS-RPCIOD $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

RTEMS-NFS $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

Warning: No timezone information, times will be displayed in UTC.

***** Starting EPICS application *****

## Example RTEMS startup script

## You may have to change iocRtems to something else

## everywhere it appears in this file

nfsMount("192.168.99.1","/autosave","/autosave")

Mount 192.168.99.1:/autosave on /autosave

< envPaths

epicsEnvSet("IOC","iocRtems")

epicsEnvSet("TOP","/soft/epics/IOC/iocRtems")

epicsEnvSet("MODULES","/soft/epics/inst-3.15.7")

epicsEnvSet("ASYN","/soft/epics/inst-3.15.7/asyn/4-40-1")

epicsEnvSet("MOTOR","/soft/epics/inst-3.15.7/motor/7-2-1")

epicsEnvSet("PSEUDOMOTAPPS","/soft/epics/inst-3.15.7/pseudoMotors/1-1")

epicsEnvSet("SEQLONG","/soft/epics/inst-3.15.7/seqlong-1-0")

epicsEnvSet("SSCAN","/soft/epics/inst-3.15.7/sscan/2-11-3")

epicsEnvSet("CALC","/soft/epics/inst-3.15.7/calc/3-7-4")

epicsEnvSet("AUTOSAVE","/soft/epics/inst-3.15.7/autosave/5-10-1")

epicsEnvSet("IK342","/soft/epics/inst-3.15.7/IK342")

epicsEnvSet("EPICS_BASE","/soft/epics/base")

cd "/soft/epics/IOC/iocRtems"

## Register all support components

dbLoadDatabase("dbd/iocRtems.dbd")

iocRtems_registerRecordDeviceDriver(pdbbase)

## Load record instances

#dbLoadTemplate("db/iocRtems.substitutions")

dbLoadRecords("db/iocRtems.db", "user=bl")

#var drvOms58debug 10

oms58Setup(11, 0x1000,180,5,2)

IK342Setup(1,0xC000)

set_savefile_path("/autosave/iocRtems")

set_requestfile_path("/autosave/iocRtems")

save_restoreSet_NFSHost("bam01","192.168.assertion "node->args.name" failed: file "../../../../../../../../rtems-4.10.2/c/src/../../cpukit/libfs/src/nfsclient/src/nfs.c", line 1575, function: nfs_do_evalpath

rtems-4.10.2(PowerPC/Generic (classic FPU)/mvme2100) PANIC ERROR 0

Exception handler called for exception 12 (0xC)

         Next PC or Address of fault = 001FF5A0

         Saved MSR = 0000B032

         Context: Task ID 0x0A010001

         R0  = 001FF59C R1  = 002C2468 R2  = 00000000 R3  = 00000000

         R4  = 002C23F8 R5  = 00000000 R6  = 00000627 R7  = 00000010

         R8  = 002C23BA R9  = FFE10000 R10 = 00000000 R11 = 00000020

         R12 = 48244022 R13 = 0028AEE8 R14 = 002C2510 R15 = 00378B01

         R16 = 0036FA58 R17 = 002896A6 R18 = 003667F8 R19 = 00378E10

         R20 = 00000000 R21 = 00378B01 R22 = 00378B02 R23 = 002839E0

         R24 = 002C2538 R25 = 002C253C R26 = 0036FA08 R27 = 00378E10

         R28 = 0028CD84 R29 = 002C25A8 R30 = 0036FA80 R31 = 00000000

         CR  = 48244022

         CTR = 0020BEC8

         XER = 00000000

         LR  = 001FF59C

         DAR = 00000000

Stack Trace:

  IP: 0x001FF5A0, LR: 0x001FF59C

--^ 0x001A8218--^ 0x001A6C20--^ 0x00186F50--^ 0x001C6F80--^ 0x001C6FCC

--^ 0x001AD4D4--^ 0x00188A6C--^ 0x0018897C--^ 0x00189B60--^ 0x00180DA0

--^ 0x00077B4C--^ 0x0006DBF0--^ 0x0015F3D0--^ 0x000043AC--^ 0x00181478

--^ 0x001C4968--^ 0x001C488C

Suspending faulting task (0x0A010001)

99.1")

Mount bam01:/autosave/iocRtems on /autosave/iocRtems

 

 

Regards

Michael

 

Von: Johnson, Andrew N. <anj at anl.gov>
Gesendet: Montag, 21. September 2020 19:54
An: Sintschuk, Michael <michael.sintschuk at bam.de>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Betreff: Re: autosave 5-10-1 on RTEMS-4.10.2, mount failed

 

Hi Michael,

 

On Sep 21, 2020, at 4:31 AM, Sintschuk, Michael via Tech-talk <tech-talk at aps.anl.gov> wrote:

 

I’m setting up an IOC, BASE-3.15.7 and autosave 5-10-1, on an Motorola board MVME-2100 using RTEMS-4.10.2.

The comand save_restoreSet_NFSHost fails on it with mount failed: Invalid argument . But my IOC is using nfs to mount it’s “st.cmd” file, so I don’t know why it is not seeing the autosave folder, that is also exported via NFS.

 

I remember seeing something like this problem when we switched from RTEMS 4.9.2 to 4.10.2. You are successfully mounting the /soft partition:



***** RTEMS Version: rtems-4.10.2(PowerPC/Generic (classic FPU)/mvme2100) *****

Startup.

...

***** Initializing NFS *****

Mount 192.168.99.1:/soft on /soft

RTEMS-RPCIOD $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

RTEMS-NFS $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.

Warning: No timezone information, times will be displayed in UTC.

 

I think our fix might have been that we needed to build an appropriate rtems_config.c file into the IOC (copy the version from base/src/libCom/RTEMS and edit it as necessary), but I don’t really know what the settings are in that file or if/how they might affect your application.

 

The base-3.15/src/libCom/RTEMS/rtems_init.c file registers the nfsMount command with iocsh, and that expects 3 arguments:

 

rtems_init.c:static const iocshArg nfsMountArg0 = { "[uid.gid@]host",iocshArgString};

rtems_init.c:static const iocshArg nfsMountArg1 = { "server path",iocshArgString};

rtems_init.c:static const iocshArg nfsMountArg2 = { "mount point",iocshArgString};

 

As Mark asked, can you use that command by hand to mount the /autosave partition?

 

- Andrew

 

 

-- 

Complexity comes for free, simplicity you have to work for.

 


References:
autosave 5-10-1 on RTEMS-4.10.2, mount failed Sintschuk, Michael via Tech-talk
Re: autosave 5-10-1 on RTEMS-4.10.2, mount failed Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: Does edm static widget support chinese input? Silver via Tech-talk
Next: AW: autosave 5-10-1 on RTEMS-4.10.2, mount failed Sintschuk, Michael 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: autosave 5-10-1 on RTEMS-4.10.2, mount failed Johnson, Andrew N. via Tech-talk
Next: Re: autosave 5-10-1 on RTEMS-4.10.2, mount failed Hu, Yong 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  <20202021  2022  2023  2024