From 67dec7c6cf36a3cb740eb21b58093dca3b97baf5 Mon Sep 17 00:00:00 2001 From: Eric MacDonald Date: Mon, 25 Jun 2018 15:19:17 -0400 Subject: [PATCH] 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 Story: 2002994 Task: 23008 --- .../maintenance/mtcNodeCtrl.cpp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/mtce-common/cgts-mtce-common-1.0/maintenance/mtcNodeCtrl.cpp b/mtce-common/cgts-mtce-common-1.0/maintenance/mtcNodeCtrl.cpp index 7e67f50f..92f423e1 100755 --- a/mtce-common/cgts-mtce-common-1.0/maintenance/mtcNodeCtrl.cpp +++ b/mtce-common/cgts-mtce-common-1.0/maintenance/mtcNodeCtrl.cpp @@ -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 */ }