When I load mrfioc2 to EPICS IOC, an error information will be displayed like this,
-> </home/wanglin/mrfioc2-2.0.0/iocBoot/iocevrmrm/st.cmd
## mrfioc2 vxWorks startup file
cd "/home/wanglin/mrfioc2-2.0.0"
value = 0 = 0x0
ld < bin/vxWorks-ppc604_long/evgMrm.munch
value = 52510128 = 0x3213db0
ld < bin/vxWorks-ppc604_long/evrtest.munch
value = 41164064 = 0x2741d20 = ' '
ld < bin/vxWorks-ppc604_long/mrf.munch
value = 41141760 = 0x273c600
## Register all support components
dbLoadDatabase("dbd/mrf.dbd")
value = 0 = 0x0
mrf_registerRecordDeviceDriver(pdbbase)
value = 0 = 0x0
epicsEnvSet("ENGINEER","Lin Wang")
value = 0 = 0x0
epicsEnvSet("LOCATION","6# 104")
value = 0 = 0x0
epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES","1000000")
value = 0 = 0x0
bspExtVerbosity=0
New symbol "bspExtVerbosity" added to kernel symbol table.
bspExtVerbosity = 0x25c6fc0: value = 0 = 0x0
mrmEvgSetupVME("EVG1",3,0x180000,3,0x26)
##### Setting up MRF EVG in VME Slot 3 #####
Found Vendor: 00000eb2
Board: 454700e6
Revision: 00000000
FPGA verion: 22000003
IRQ Level: 3
IRQ Vector: 38
csrCpuAddr : 0xf9180000
regCpuAddr : 0xfa180000
value = 0 = 0x0
dbLoadRecords("db/vme-evg230.db", "SYS=TST, D=evg:1, EVG=EVG1")
value = 0 = 0x0
#mrmEvrSetupVME("EVR1",5,0x08280000,4,0x28)
#dbLoadRecords("db/evr-vmerf-230.db","SYS=TST, D=evr:1, EVR=EVR1")
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.1 $Date: Tue 2011-04-26 15:36:19 -0500$
## EPICS Base built Dec 18 2011
############################################################################
iocRun: All initialization complete
value = 0 = 0x0
->
A call to 'assert(! epicsThreadPrivateGet ( caClientContextId ))'
by thread 'CAC-TCP-recv' failed in ../ca_client_context.cpp line 442.
EPICS Release EPICS R3.14.12.1 $Date: Tue 2011-04-26 15:36:19 -0500$.
Local time is 2012-01-04 09:14:05.514715952 UTC
Please E-mail this message to the author or to [email protected]
Calling epicsThreadSuspendSelf()
My development environment is VxWorks6.8/EPICS3.14.11 or EPICS3.14.12.1/MVME5100/RHEL4.8, vme-evg230.db is a .db file with 6478 lines that is generated from vme-evg230.substitutions. When I test it with only the first 376 lines which I have attached, error still occurs. But if I comment the two mbbiDirect records as follows, no error information will be displayed.
#record(mbbiDirect, "$(SYS){$(D)-Dbus:0}Src-MbbiDir_") {
# field( DESC, "EVG Trig Evt Trig")
# field( INP, "$(SYS){$(D)-Dbus:0}Src-Sel.RVAL CP")
#}
#record(mbbiDirect, "$(SYS){$(D)-Dbus:1}Src-MbbiDir_") {
# field( DESC, "EVG Trig Evt Trig")
# field( INP, "$(SYS){$(D)-Dbus:1}Src-Sel.RVAL CP")
#}
So, what probably has caused my problem?