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]>
Cc: "'EPICS core-talk'" <[email protected]>
Date: Thu, 14 Dec 2006 13:39:07 -0700
> The strange thing though is that it's reporting an unknown C++
> exception, so there is probably still something there that's able to
> catch whatever it being thrown.

What you are seeing is a message from the last ditch exception handler in
the C++ epicsThread class thread entry point wrapper.

Since we first try, unsuccessfully, to catch std::exception and nearly all
exceptions thrown derive from std::exception I am guessing that this may not
be a true C++ exception, but instead some sort of worse problem like a bus
error that gets mapped into a C++ exception. Whether that occurs or not is
highly dependent on the implementation. The debugger might help with
determining exactly what type of exception is being thrown.

> If we could modify the CAC-UDP task to
> expect that exception we could at least suppress the warning message, or
> convert it to something a little more innocuous.

The problem is that this is coming from general purpose code, and we
actually like to see error messages when code fails so that bugs (even this
one) eventually get fixed. 

Jeff

> -----Original Message-----
> From: Andrew Johnson [mailto:[email protected]]
> Sent: Thursday, December 14, 2006 1:18 PM
> To: Jeff Hill
> Cc: 'EPICS core-talk'
> Subject: Re: C++ Exceptions from CAC-UDP on exit
> 
> Jeff Hill wrote:
> >
> > 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.
> 
> If that is the problem the I agree we don't have much chance of fixing
> it.  The strange thing though is that it's reporting an unknown C++
> exception, so there is probably still something there that's able to
> catch whatever it being thrown.  If we could modify the CAC-UDP task to
> expect that exception we could at least suppress the warning message, or
> convert it to something a little more innocuous.
> 
> > 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.
> 
> I've only seen it on linux-x86 so far - I tried it on Solaris but it
> didn't occur there, and I've not run the tests on vxWorks yet.
> 
> - 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 Andrew Johnson
References:
Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson

Navigate by Date:
Prev: Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson
Next: [solved:] no bug in build system (though questions remain) Benjamin Franksen
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 Andrew Johnson
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 ·