Program: 150102
Project: 150102
Buggy source:
/** 
 * Dump state of virtual machine.
 */
public static void dumpVirtualMachine() throws InterruptiblePragma {
  VM_Processor processor;
  VM.sysWrite("String_Node_Str");
  for (int i=1; i <= numProcessors; ++i) {
    processor=processors[i];
    processor.dumpProcessorState();
  }
  VM.sysWrite("String_Node_Str");
  wakeupQueue.dump();
  VM.sysWrite("String_Node_Str");
  wakeupQueue.dump();
  VM.sysWrite("String_Node_Str");
  debuggerQueue.dump();
  VM.sysWrite("String_Node_Str");
  deadVPQueue.dump();
  VM.sysWrite("String_Node_Str");
  collectorQueue.dump();
  VM.sysWrite("String_Node_Str");
  finalizerQueue.dump();
  VM.sysWrite("String_Node_Str");
  for (int i=1; i < threads.length; ++i) {
    if (threads[i] != null) {
      threads[i].dump();
      VM.sysWrite("String_Node_Str");
    }
  }
  VM.sysWrite("String_Node_Str");
  VM.sysWrite("String_Node_Str");
  for (int i=PRIMORDIAL_PROCESSOR_ID; i <= numProcessors; ++i) {
    processor=processors[i];
    int unallocated=processor.lastLockIndex - processor.nextLockIndex + 1;
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(i);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.locksAllocated);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.locksFreed);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.freeLocks);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(unallocated);
    VM.sysWrite("String_Node_Str");
  }
  VM.sysWrite("String_Node_Str");
  VM.sysWrite("String_Node_Str");
  for (int i=0; i < locks.length; ++i)   if (locks[i] != null)   locks[i].dump();
  VM.sysWrite("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Dump state of virtual machine.
 */
public static void dumpVirtualMachine() throws InterruptiblePragma {
  VM_Processor processor;
  VM.sysWrite("String_Node_Str");
  for (int i=1; i <= numProcessors; ++i) {
    processor=processors[i];
    processor.dumpProcessorState();
  }
  VM.sysWrite("String_Node_Str");
  VM.sysWrite("String_Node_Str");
  wakeupQueue.dump();
  VM.sysWrite("String_Node_Str");
  debuggerQueue.dump();
  VM.sysWrite("String_Node_Str");
  deadVPQueue.dump();
  VM.sysWrite("String_Node_Str");
  collectorQueue.dump();
  VM.sysWrite("String_Node_Str");
  finalizerQueue.dump();
  VM.sysWrite("String_Node_Str");
  for (int i=1; i < threads.length; ++i) {
    if (threads[i] != null) {
      threads[i].dump();
      VM.sysWrite("String_Node_Str");
    }
  }
  VM.sysWrite("String_Node_Str");
  VM.sysWrite("String_Node_Str");
  for (int i=PRIMORDIAL_PROCESSOR_ID; i <= numProcessors; ++i) {
    processor=processors[i];
    int unallocated=processor.lastLockIndex - processor.nextLockIndex + 1;
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(i);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.locksAllocated);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.locksFreed);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(processor.freeLocks);
    VM.sysWrite("String_Node_Str");
    VM.sysWriteInt(unallocated);
    VM.sysWrite("String_Node_Str");
  }
  VM.sysWrite("String_Node_Str");
  VM.sysWrite("String_Node_Str");
  for (int i=0; i < locks.length; ++i)   if (locks[i] != null)   locks[i].dump();
  VM.sysWrite("String_Node_Str");
}