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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2
From: "Jeff Hill" <[email protected]>
To: '王林' <[email protected]>
Cc: [email protected]
Date: Wed, 4 Jan 2012 16:30:36 -0700

 

> 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")
> #}

> #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")
> #}

 

This sounds like (some guesses)

o some type of memory corruption caused by the implementation of mbbiDirect

o some type of race condition bug in the implementation of EPICS thread private variables on vxWorks

 

For memory corruption the output from the vxWorks target shell memShow and checkStack commands

sometimes can be used to verify that a memory corruption issue is present.

 

Jeff
______________________________________________________
Jeffrey O. Hill           Email       
[email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

 

Message content: TSPA

 

From: 王林 [mailto:[email protected]]
Sent: Wednesday, January 04, 2012 3:41 PM
To: Jeff Hill; [email protected]; [email protected]
Subject: Re: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2

 

But the file osdThread.c of the EPICS-3.14.11 and EPICS-3.14.12.1 that I use have applied this 11101 revision.

----- Original Message -----

From: Jeff Hill

Sent: Thursday, January 05, 2012 12:26 AM

Subject: RE: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2

 

I appears that epicsThreadPrivateGet isn’t working properly – possibly due to a

vxWorks 6.8 kernel configuration issue.

 

I also found this recent (2008) revision on that code.

 

http://bazaar.launchpad.net/~epics-core/epics-base/3.14/revision/11101

 

Jeff
______________________________________________________
Jeffrey O. Hill           Email        
[email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

 

Message content: TSPA

 

From: [email protected] [mailto:[email protected]] On Behalf Of ??
Sent: Wednesday, January 04, 2012 2:42 AM
To: [email protected]; [email protected]
Subject: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2

 

Hello All,

Happy New Year.

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?

 

 

Thanks,

Lin Wang
 


 


References:
assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 王林
RE: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 Jeff Hill
Re: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 王林

Navigate by Date:
Prev: Re: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 Andrew Johnson
Next: RE: Building base-3.14.12.2 on windows-x64 Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 王林
Next: Re: assert(!epicsThreadPrivateGet(caClientContextId)) failed when loading mrfioc2 Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·