Program: 2741
Project: 2741
Buggy source:
@Test public void testRunDebugRhodesAppTask() throws Throwable {
  String appName="String_Node_Str";
  String projectLocation=OSHelper.concat(workspaceFolder,appName).getPath();
  String signature1=OSValidator.isWindows() ? "String_Node_Str" + unixSlashes(projectLocation) + "String_Node_Str" : "String_Node_Str" + projectLocation;
  String signature2=OSValidator.isWindows() ? "String_Node_Str" : "String_Node_Str";
  ProcessListViewer rhosimViewer=new ProcessListViewer(signature1);
  ProcessListViewer rakeViewer=new ProcessListViewer(signature2);
  try {
{
      RunTask task=new GenerateRhodesAppTask(workspaceFolder,appName);
      task.run();
      assertEquals(0,TaskResultConverter.getResultIntCode(task.getResult()));
    }
{
      String text[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      String appRb=OSHelper.concat(projectLocation,"String_Node_Str","String_Node_Str").getPath();
      writeTextFile(appRb,join("String_Node_Str",text));
    }
    DebugCallback debugCallback=new DebugCallback(m_eventQueue,m_semaphore);
    final DebugServer debugServer=new DebugServer(debugCallback);
    final Throwable[] exception=new Throwable[1];
    Thread debugServerThread=new Thread(new Runnable(){
      @Override public void run(){
        try {
          debugServer.run();
        }
 catch (        Throwable t) {
          exception[0]=t;
        }
      }
    }
);
    debugServerThread.start();
{
      Map<String,Object> params=new HashMap<String,Object>();
      ILaunch launch=new Launch(null,ILaunchManager.DEBUG_MODE,null);
      params.put(RunDebugRhodesAppTask.workDir,projectLocation);
      params.put(RunDebugRhodesAppTask.appName,appName);
      params.put(RunDebugRhodesAppTask.platformType,PlatformType.eAndroid);
      params.put(RunDebugRhodesAppTask.reloadCode,false);
      params.put(RunDebugRhodesAppTask.launchObj,launch);
      params.put(RunDebugRhodesAppTask.traceFlag,false);
      Map<String,?> results=RhoTaskHolder.getInstance().runTask(RunDebugRhodesAppTask.class,params);
      assertEquals(TaskResultConverter.okCode,TaskResultConverter.getResultIntCode(results));
    }
    suspend("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",5);
    debugServer.debugBreakpoint("String_Node_Str",6);
    debugServer.debugRemoveBreakpoint("String_Node_Str",5);
    pass("String_Node_Str","String_Node_Str","String_Node_Str" + unixSlashes(prependPrivate(OSHelper.concat(projectLocation,"String_Node_Str").getPath())) + "String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",7);
    debugServer.debugResume();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugStepOver();
    pass("String_Node_Str","String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",12);
    debugServer.debugResume();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",13);
    debugServer.debugRemoveAllBreakpoints();
    debugServer.debugStepReturn();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str" + prependPrivate(unixSlashes(OSHelper.concat(projectLocation,"String_Node_Str","String_Node_Str").getPath())) + "String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugTerminate();
    pass("String_Node_Str");
    debugServer.shutdown();
    resume();
    debugServerThread.join();
    if (exception[0] != null) {
      throw exception[0];
    }
  }
  finally {
    OSHelper.killProcesses(rhosimViewer.getNewProcesses());
    OSHelper.killProcesses(rakeViewer.getNewProcesses());
  }
}

Fixed version (ground truth):
@Test public void testRunDebugRhodesAppTask() throws Throwable {
  String appName="String_Node_Str";
  String projectLocation=OSHelper.concat(workspaceFolder,appName).getPath();
  String signature1=OSValidator.isWindows() ? "String_Node_Str" + unixSlashes(projectLocation) + "String_Node_Str" : "String_Node_Str" + projectLocation;
  String signature2=OSValidator.isWindows() ? "String_Node_Str" : "String_Node_Str";
  ProcessListViewer rhosimViewer=new ProcessListViewer(signature1);
  ProcessListViewer rakeViewer=new ProcessListViewer(signature2);
  try {
{
      RunTask task=new GenerateRhodesAppTask(workspaceFolder,appName);
      task.run();
      assertEquals(0,TaskResultConverter.getResultIntCode(task.getResult()));
    }
{
      String text[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      String appRb=OSHelper.concat(projectLocation,"String_Node_Str","String_Node_Str").getPath();
      writeTextFile(appRb,join("String_Node_Str",text));
    }
    DebugCallback debugCallback=new DebugCallback(m_eventQueue,m_semaphore);
    final DebugServer debugServer=new DebugServer(debugCallback);
    final Throwable[] exception=new Throwable[1];
    Thread debugServerThread=new Thread(new Runnable(){
      @Override public void run(){
        try {
          debugServer.run();
        }
 catch (        Throwable t) {
          exception[0]=t;
        }
      }
    }
);
    debugServerThread.start();
{
      Map<String,Object> params=new HashMap<String,Object>();
      ILaunch launch=new Launch(null,ILaunchManager.DEBUG_MODE,null);
      RunTask task=new RunDebugRhodesAppTask(projectLocation,appName,PlatformType.eAndroid,false,launch,false);
      task.run();
      assertEquals(TaskResultConverter.okCode,TaskResultConverter.getResultIntCode(task.getResult()));
    }
    suspend("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",5);
    debugServer.debugBreakpoint("String_Node_Str",6);
    debugServer.debugRemoveBreakpoint("String_Node_Str",5);
    pass("String_Node_Str","String_Node_Str","String_Node_Str" + unixSlashes(prependPrivate(OSHelper.concat(projectLocation,"String_Node_Str").getPath())) + "String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",7);
    debugServer.debugResume();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugStepOver();
    pass("String_Node_Str","String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",12);
    debugServer.debugResume();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugBreakpoint("String_Node_Str",13);
    debugServer.debugRemoveAllBreakpoints();
    debugServer.debugStepReturn();
    pass("String_Node_Str","String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str" + prependPrivate(unixSlashes(OSHelper.concat(projectLocation,"String_Node_Str","String_Node_Str").getPath())) + "String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugEvaluate("String_Node_Str");
    pass("String_Node_Str");
    debugServer.debugTerminate();
    pass("String_Node_Str");
    debugServer.shutdown();
    resume();
    debugServerThread.join();
    if (exception[0] != null) {
      throw exception[0];
    }
  }
  finally {
    OSHelper.killProcesses(rhosimViewer.getNewProcesses());
    OSHelper.killProcesses(rakeViewer.getNewProcesses());
  }
}