Program: 5762
Project: 5762
Buggy source:
public void setupCommands(ComponentRegistry registry,CommandHandler ch){
  final MSP430 cpu=(MSP430)registry.getComponent(MSP430.class);
  if (cpu != null) {
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        int baddr=context.getArgumentAsAddress(0);
        cpu.setBreakPoint(baddr,new CPUMonitor(){
          public void cpuAction(          int type,          int adr,          int data){
            context.out.println("String_Node_Str" + adr);
          }
        }
);
        context.out.println("String_Node_Str" + baddr);
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        int baddr=context.getArgumentAsAddress(0);
        cpu.setBreakPoint(baddr,new CPUMonitor(){
          public void cpuAction(          int type,          int adr,          int data){
            context.out.println("String_Node_Str" + adr + "String_Node_Str"+ data);
          }
        }
);
        context.out.println("String_Node_Str" + baddr);
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
  }
}

Fixed version (ground truth):
public void setupCommands(ComponentRegistry registry,CommandHandler ch){
  final MSP430 cpu=(MSP430)registry.getComponent(MSP430.class);
  final ELF elf=(ELF)registry.getComponent(ELF.class);
  if (cpu != null) {
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        int baddr=context.getArgumentAsAddress(0);
        cpu.setBreakPoint(baddr,new CPUMonitor(){
          public void cpuAction(          int type,          int adr,          int data){
            context.out.println("String_Node_Str" + adr);
          }
        }
);
        context.out.println("String_Node_Str" + baddr);
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        int baddr=context.getArgumentAsAddress(0);
        if (baddr == -1) {
          context.out.println("String_Node_Str" + context.getArgument(0));
          return -1;
        }
        cpu.setBreakPoint(baddr,new CPUMonitor(){
          public void cpuAction(          int type,          int adr,          int data){
            int pc=cpu.readRegister(0);
            String adrStr=getSymOrAddr(context,adr);
            String pcStr=getSymOrAddrELF(elf,pc);
            context.out.println("String_Node_Str" + pcStr + "String_Node_Str"+ adrStr+ "String_Node_Str"+ data);
          }
        }
);
        context.out.println("String_Node_Str" + baddr);
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        int baddr=context.getArgumentAsAddress(0);
        cpu.setBreakPoint(baddr,null);
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
    ch.registerCommand("String_Node_Str",new Command(){
      public int executeCommand(      final CommandContext context){
        String regExp=context.getArgument(0);
        MapEntry[] entries=context.getMapTable().getEntries(regExp);
        for (int i=0; i < entries.length; i++) {
          MapEntry mapEntry=entries[i];
          context.out.println("String_Node_Str" + mapEntry.getName() + "String_Node_Str"+ Utils.hex16(mapEntry.getAddress()));
        }
        return 0;
      }
      public String getArgumentHelp(      CommandContext context){
        return "String_Node_Str";
      }
      public String getCommandHelp(      CommandContext context){
        return "String_Node_Str";
      }
    }
);
  }
}