My suspicion is that one of these will show corruption as something has
been incorrectly/incompletely delete'd. If not, it should tell us which
of the two sub-classes of ipAddrToAsciiCallBack is involved.
I can think of two possibilities, either there is a logic error in
~ipAddrToAsciiTransactionPrivate allowing the dtor to complete w/o
removing itself from a tsDLList, or that the dtor isn't being called at all.
I think the fact that epicsExitCallAt ExitsPvt is running is actually
coincidental. The order of atexit hooks for 'caget' is
> atExit errlogExitHandl er((nil) ) (nil)) exit_handler( (nil)) Shutdown( (nil))
> atExit cacExitHandler(
> atExit ca_client_
> atExit ClockTime_
Since the errlog thread is still waiting on its event I think
errlogExitHandler() hasn't returned.
Before the changes for lp:1527636, with 'caget' the name lookup daemon destroy( ) before main() returned.
thread was stopped during ca_context_
The crash is coming from ipAddrToAsciiAs ynchronous. cpp:273
> this->pCurrent- >pCB->transacti onComplete ( this->nameTmp );
My suspicion is that one of these will show corruption as something has incompletely delete'd. If not, it should tell us which llBack is involved.
been incorrectly/
of the two sub-classes of ipAddrToAsciiCa
I can think of two possibilities, either there is a logic error in ransactionPriva te allowing the dtor to complete w/o
~ipAddrToAsciiT
removing itself from a tsDLList, or that the dtor isn't being called at all.