Index: trunk/Ohana/src/opihi/pantasks/CheckController.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/CheckController.c	(revision 23530)
+++ trunk/Ohana/src/opihi/pantasks/CheckController.c	(revision 36375)
@@ -29,10 +29,23 @@
   if (p != NULL) goto escape;
 
+  /** skip past any leading garbage? ***/
+
+  /** find "Njobs: **/
+  p = memstr (buffer.buffer, "BEGIN BLOCK Njobs:", MIN(buffer.Nbuffer, 256));
+  p += strlen("BEGIN BLOCK Njobs:");
+
   /** parse job list **/
-  status = sscanf (buffer.buffer, "%*s %d", &Njobs);
+  status = sscanf (p, "%d", &Njobs);
   if (status != 1) goto escape;
   if (VerboseMode()) gprint (GP_ERR, "parse %d jobs on stack %f\n", Njobs, TimerElapsed(&start, TRUE));
 
-  p = buffer.buffer;
+  /* output looks like:
+     BEGIN BLOCK Njobs: NN\n
+     ID name machine\n
+     ID name machine\n
+  */
+
+  // p is currently pointing at "BEGIN BLOCK Njobs"
+
   for (i = 0; i < Njobs; i++) {
     q = strchr (p, '\n');
@@ -67,10 +80,23 @@
   if (p != NULL) goto escape;
 
+  /** skip past any leading garbage? ***/
+
+  /** find "Njobs: **/
+  p = memstr (buffer.buffer, "BEGIN BLOCK Njobs:", MIN(buffer.Nbuffer, 256));
+  p += strlen("BEGIN BLOCK Njobs:");
+
   /** parse job list **/
-  status = sscanf (buffer.buffer, "%*s %d", &Njobs);
+  status = sscanf (p, "%d", &Njobs);
   if (status != 1) goto escape;
   if (VerboseMode()) gprint (GP_ERR, "check crash stack %f\n", TimerElapsed(&start, TRUE)); 
 
-  p = buffer.buffer;
+  /* output looks like:
+     BEGIN BLOCK Njobs: NN\n
+     ID name machine\n
+     ID name machine\n
+  */
+
+  // p is currently pointing at "BEGIN BLOCK Njobs"
+
   for (i = 0; i < Njobs; i++) {
     q = strchr (p, '\n');
