covoar SIGKILL Investigation

Chris Johns chrisj at rtems.org
Wed Aug 15 09:13:38 UTC 2018


On 15/8/18 2:47 am, Joel Sherrill wrote:
> 
> Ideas appreciated on how to debug this enough to find
> the cause.
> 

Does the attached patch help?

Chris
-------------- next part --------------
diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc
index 0a629b7..d93860b 100644
--- a/tester/covoar/ExecutableInfo.cc
+++ b/tester/covoar/ExecutableInfo.cc
@@ -37,27 +37,36 @@ namespace Coverage {
     executable.open();
     executable.begin();
     executable.load_symbols(symbols);
+
     debug.begin(executable.elf());
     debug.load_debug();
     debug.load_functions();
 
-    for (auto& cu : debug.get_cus()) {
-      for (auto& func : cu.get_functions()) {
-        if (func.has_machine_code() && (!func.is_inlined() || func.is_external())) {
-          createCoverageMap (cu.name(), func.name(),
-                             func.pc_low(), func.pc_high());
+    try {
+      for (auto& cu : debug.get_cus()) {
+        for (auto& func : cu.get_functions()) {
+          if (func.has_machine_code() && (!func.is_inlined() || func.is_external())) {
+            createCoverageMap (cu.name(), func.name(),
+                               func.pc_low(), func.pc_high());
+          }
         }
       }
+    } catch (...) {
+      debug.end();
+      executable.end();
+      executable.close();
+      throw;
     }
-  }
 
-  ExecutableInfo::~ExecutableInfo()
-  {
     debug.end();
     executable.end();
     executable.close();
   }
 
+  ExecutableInfo::~ExecutableInfo()
+  {
+  }
+
   void ExecutableInfo::dumpCoverageMaps( void ) {
     ExecutableInfo::CoverageMaps::iterator  itr;
 


More information about the devel mailing list