Index: trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c	(revision 20047)
+++ trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c	(revision 20059)
@@ -57,4 +57,5 @@
   buffer = &host[0].comms_buffer;
   job = (Job *) host[0].job;
+  ASSERT (host == (Host *) job[0].host, "invalid host");
 
   /** host is up, need to parse message **/
@@ -87,5 +88,5 @@
     return (TRUE);
   }
-
+  ASSERT (outstate != PCONTROL_JOB_DONE, "impossible outstate for job");
 
   /* parse the exit status and sizes of output buffers */
@@ -97,4 +98,7 @@
   sscanf (p, "%*s %d", &job[0].stderr.size);
 
+  ASSERT (job[0].stdout.size > 0, "job has no output?");
+  ASSERT (job[0].stderr.size > 0, "job has no output?");
+
   // XXX runaway job if output too large?
   if (job[0].stdout.size > 0x1000000) abort();
@@ -105,4 +109,5 @@
   // don't unlink job and host yet
   PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
+  ASSERT (job[0].host, "host not set for job");
   PutJobSetState (job, PCONTROL_JOB_DONE, STACK_BOTTOM, outstate);
   gettimeofday (&job[0].stop, NULL);
