Mtce: mtcAgent sometimes coredumps on process exit

The mtcAgent process has been seen to segfault and coredump on process 
exit.

The exit code is iterating over a c++ list that can change due to http
interrupt response handling.

The dump code is commented out with a note indicating why and when it 
could be re-enabled.

Change-Id: Ie4ef684a65ded533c347ae07fdfa47f332412f7d
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
Story: 2002994
Task: 23008
This commit is contained in:
Eric MacDonald 2018-06-25 15:19:17 -04:00 committed by David Sullivan
parent c38acc947c
commit 67dec7c6cf
1 changed files with 12 additions and 11 deletions

View File

@ -1453,21 +1453,22 @@ void daemon_dump_info ( void )
mtcTimer_mem_log ();
mtcInv.print_node_info ();
daemon_dump_membuf (); /* write mem_logs to log file and clear log list */
//mtcInv.doneQueue_dump_all ();
mtcInv.mtcCmd_doneQ_dump_all ();
daemon_dump_membuf (); /* write mem_logs to log file and clear log list */
//mtcInv.workQueue_dump_all ();
mtcInv.mtcCmd_workQ_dump_all ();
daemon_dump_membuf (); /* write mem_logs to log file and clear log list */
//
// These calls can lead to a segfault if the lists they are
// iterating over change as a result of a http reception interrupt.
//
// If these calls are to be re-enabled then there needs to be MUTEX.
//
// mtcInv.doneQueue_dump_all ();
// mtcInv.mtcCmd_doneQ_dump_all ();
// daemon_dump_membuf ();
// mtcInv.workQueue_dump_all ();
// mtcInv.mtcCmd_workQ_dump_all ();
// daemon_dump_membuf ();
mtcInv.memDumpAllState ();
daemon_dump_membuf (); /* write mem_logs to log file and clear log list */
}