EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: C++ Exceptions from CAC-UDP on exit
From: "Jeff Hill" <[email protected]>
To: "'Andrew Johnson'" <[email protected]>, "'EPICS core-talk'" <[email protected]>
Date: Thu, 14 Dec 2006 10:05:59 -0700
Andrew,

The root problem here I suspect is that DB CA link code does not have a
shutdown procedure and therefore it is not destroying its CA context before
the process exits. So when the process rundown starts and the resources that
the UDP thread uses start to cease to exist then the UDP thread crashes.

As I recall, the crux of this issue is that a shutdown procedure for the db
ca link code would need to destroy all of its channels first, before
destroying the ca context, and that would require that the individual
records have shutdown procedures in place also - a big change.

What OS do you see this on? We might be able to attach with a debugger to
get more detail, but I suspect that we will only see that the above
suspicions are accurate.

Jeff

> -----Original Message-----
> From: Andrew Johnson [mailto:[email protected]]
> Sent: Wednesday, December 13, 2006 4:24 PM
> To: EPICS core-talk
> Subject: Re: C++ Exceptions from CAC-UDP on exit
> 
> Update: I'm seeing this in other applications where access security is
> not involved but where two IOCs are linked together.  For example, in
> the iocconvert tests I started the client IOC after and stopped it
> before the master IOC, with this result:
> 
> > uranus% ../../bin/linux-x86/convert client.main
> > dbLoadDatabase("../../dbd/convert.dbd",0,0)
> > convert_registerRecordDeviceDriver(pdbbase)
> > dbLoadRecords("../../convertApp/Db/convertClient.db",0)
> > dbLoadRecords("../../convertApp/Db/convertClientENUM.db",0)
> > iocInit()
> > Starting iocInit
> >
> ##########################################################################
> ##
> > ## EPICS R3.14.9-CVS $$Name:  $$ $$Date: 2006/12/11 22:32:14 $$
> > ## EPICS Base built Dec 11 2006
> >
> ##########################################################################
> ##
> > iocInit: All initialization complete
> > cas warning: Configured TCP port was unavailable.
> > cas warning: Using dynamically assigned TCP port 37984,
> > cas warning: but now two or more servers share the same UDP port.
> > cas warning: Depending on your IP kernel this server may not be
> > cas warning: reachable with UDP unicast (a host's IP in
> EPICS_CA_ADDR_LIST)
> > epics> epicsThread: Unknown C++ exception in thread "CAC-UDP" at Wed Dec
> 13 2006 17:18:55.22003000
> > terminate called after throwing an instance of ''
> > FATAL: exception not rethrown
> > Abort
> 
> - Andrew
> --
> There is considerable overlap between the intelligence of the smartest
> bears and the dumbest tourists -- Yosemite National Park Ranger


Replies:
RE: C++ Exceptions from CAC-UDP on exit Jeff Hill
Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson
References:
Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson

Navigate by Date:
Prev: Re: [Fwd: EPICS Base @ HP-UX: Volunteers wanted] Andrew Johnson
Next: RE: C++ Exceptions from CAC-UDP on exit Jeff Hill
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson
Next: RE: C++ Exceptions from CAC-UDP on exit Jeff Hill
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·