Program: 9182
Project: 9182
Buggy source:
/** 
 * Utility to run the project main class from the project properties in a new VM. Errors are logged to the ErrorHandler.
 * @return LangUtil.ProcessController running with process, or null ifunable to start
 */
public LangUtil.ProcessController runInNewVM(){
  final RunProperties props=new RunProperties(compilerConfig,runtimeProperties,uiBuildMsgHandler,rootFrame);
  if (!props.valid) {
    return null;
  }
  final StringBuffer command=new StringBuffer();
  LangUtil.ProcessController controller=new LangUtil.ProcessController(){
    public void doCompleting(    Throwable thrown,    int result){
      LangUtil.ProcessController.Thrown any=getThrown();
      if (!any.thrown && (null == thrown) && (0 == result)) {
        return;
      }
      String context=props.mainClass + "String_Node_Str" + command+ "String_Node_Str";
      if (null != thrown) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
 else       if (0 != result) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
      if (null != any.fromInPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
      if (null != any.fromOutPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
      if (null != any.fromErrPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
    }
  }
;
  controller=LangUtil.makeProcess(controller,props.classpath,props.mainClass,props.args);
  command.append(Arrays.asList(controller.getCommand()).toString());
  controller.start();
  return controller;
}

Fixed version (ground truth):
/** 
 * Utility to run the project main class from the project properties in a new VM. Errors are logged to the ErrorHandler.
 * @return LangUtil.ProcessController running with process, or null ifunable to start
 */
public LangUtil.ProcessController runInNewVM(){
  final RunProperties props=new RunProperties(compilerConfig,runtimeProperties,uiBuildMsgHandler,rootFrame);
  if (!props.valid) {
    return null;
  }
  final StringBuffer command=new StringBuffer();
  LangUtil.ProcessController controller=new LangUtil.ProcessController(){
    public void doCompleting(    Throwable thrown,    int result){
      LangUtil.ProcessController.Thrown any=getThrown();
      if (!any.thrown && (null == thrown) && (0 == result)) {
        return;
      }
      String context=props.mainClass + "String_Node_Str" + command+ "String_Node_Str";
      if (null != thrown) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
 else       if (0 != result) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,null,null));
      }
      if (null != any.fromInPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
      if (null != any.fromOutPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
      if (null != any.fromErrPipe) {
        String m="String_Node_Str" + context;
        uiBuildMsgHandler.handleMessage(new Message(m,IMessage.ERROR,thrown,null));
      }
    }
  }
;
  controller=LangUtil.makeProcess(controller,props.classpath,props.mainClass,props.args);
  command.append(Arrays.asList(controller.getCommand()).toString());
  controller.start();
  return controller;
}