stats: crash when adding/deleting interfaces
[vpp.git] / src / vlib / error.c
index 1b3f378..7d502d7 100644 (file)
@@ -131,11 +131,12 @@ vlib_register_errors (vlib_main_t * vm,
   if (n->n_errors > 0)
     heap_dealloc (em->counters_heap, n->error_heap_handle);
 
+  n->n_errors = n_errors;
+  n->error_counters = counters;
+
   if (n_errors == 0)
     return;
 
-  n->n_errors = n_errors;
-
   /*  Legacy node */
   if (!counters)
     {
@@ -149,8 +150,6 @@ vlib_register_errors (vlib_main_t * vm,
        }
     }
 
-  n->error_counters = counters;
-
   n->error_heap_index =
     heap_alloc (em->counters_heap, n_errors, n->error_heap_handle);
   l = vec_len (em->counters_heap);
@@ -247,10 +246,10 @@ show_errors (vlib_main_t * vm,
   vec_validate (sums, vec_len (em->counters));
 
   if (verbose)
-    vlib_cli_output (vm, "%=10s%=30s%=20s%=10s%=6s", "Count", "Node",
+    vlib_cli_output (vm, "%=10s%=35s%=35s%=10s%=6s", "Count", "Node",
                     "Reason", "Severity", "Index");
   else
-    vlib_cli_output (vm, "%=10s%=30s%=20s%=10s", "Count", "Node", "Reason",
+    vlib_cli_output (vm, "%=10s%=35s%=35s%=10s", "Count", "Node", "Reason",
                     "Severity");
 
 
@@ -277,11 +276,11 @@ show_errors (vlib_main_t * vm,
              continue;
 
             if (verbose)
-              vlib_cli_output (vm, "%10lu%=30v%=20s%=10s%=6d", c, n->name,
+              vlib_cli_output (vm, "%10lu%=35v%=35s%=10s%=6d", c, n->name,
                                em->counters_heap[i].name,
                                sev2str(em->counters_heap[i].severity), i);
             else
-              vlib_cli_output (vm, "%10lu%=30v%=20s%=10s", c, n->name,
+              vlib_cli_output (vm, "%10lu%=35v%=35s%=10s", c, n->name,
                                em->counters_heap[i].name,
                                sev2str(em->counters_heap[i].severity));
          }