Program: 2757
Project: 2757
Buggy source:
@SuppressWarnings("String_Node_Str") public synchronized void launch(ILaunchConfiguration configuration,String mode,ILaunch launch,final IProgressMonitor monitor) throws CoreException {
  try {
    RhogenDebugTarget target=null;
    setProcessFinished(false);
    rhodesLogHelper.stopLog();
    ConsoleHelper.cleanBuildConsole();
    ConsoleHelper.showBuildConsole();
    setupConfigAttributes(configuration);
    PlatformType currPlType=PlatformType.fromString(m_platformType);
    if (OSHelper.isWindows() && currPlType == PlatformType.eBb) {
      RunExeHelper.killBbSimulator();
    }
    if (m_projectName == null || m_projectName.length() == 0 || m_runType == null || m_runType.length() == 0) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    final IProject project=ResourcesPlugin.getWorkspace().getRoot().getProject(m_projectName);
    if (!project.isOpen()) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    if (mode.equals(ILaunchManager.DEBUG_MODE)) {
      ShowPerspectiveJob job=new ShowPerspectiveJob("String_Node_Str",DebugConstants.debugPerspectiveId);
      job.run(monitor);
      try {
        OSHelper.killProcess("String_Node_Str");
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      target=new RhogenDebugTarget(launch,null,RhogenDebugTarget.EDebugPlatfrom.eRhodes);
    }
    try {
      cleanSelectedPlatform(project,m_isClean);
      startBuildThread(project,mode,launch);
      while (true) {
        try {
          if (monitor.isCanceled()) {
            OSHelper.killProcess("String_Node_Str");
            return;
          }
          if (getProcessFinished()) {
            break;
          }
          Thread.sleep(100);
        }
 catch (        InterruptedException e) {
          e.printStackTrace();
        }
      }
    }
 catch (    IllegalArgumentException e) {
      ConsoleHelper.consolePrint(e.getMessage());
    }
catch (    Exception e) {
      e.printStackTrace();
    }
    monitor.done();
    if (mode.equals(ILaunchManager.DEBUG_MODE)) {
      target.setProcess(m_debugProcess);
      launch.addDebugTarget(target);
    }
  }
 catch (  IllegalArgumentException e) {
    ShowMessageJob msgJob=new ShowMessageJob("String_Node_Str","String_Node_Str","String_Node_Str");
    msgJob.run(monitor);
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public synchronized void launch(ILaunchConfiguration configuration,String mode,ILaunch launch,final IProgressMonitor monitor) throws CoreException {
  try {
    RhogenDebugTarget target=null;
    setProcessFinished(false);
    rhodesLogHelper.stopLog();
    ConsoleHelper.cleanBuildConsole();
    ConsoleHelper.showBuildConsole();
    setupConfigAttributes(configuration);
    PlatformType currPlType=PlatformType.fromString(m_platformType);
    if (OSHelper.isWindows() && currPlType == PlatformType.eBb) {
      RunExeHelper.killBbSimulator();
    }
    if (m_projectName == null || m_projectName.length() == 0 || m_runType == null || m_runType.length() == 0) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    final IProject project=ResourcesPlugin.getWorkspace().getRoot().getProject(m_projectName);
    if (!project.isOpen()) {
      throw new IllegalArgumentException("String_Node_Str" + project.getName() + "String_Node_Str");
    }
    if (mode.equals(ILaunchManager.DEBUG_MODE)) {
      ShowPerspectiveJob job=new ShowPerspectiveJob("String_Node_Str",DebugConstants.debugPerspectiveId);
      job.run(monitor);
      try {
        OSHelper.killProcess("String_Node_Str");
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      target=new RhogenDebugTarget(launch,null,RhogenDebugTarget.EDebugPlatfrom.eRhodes);
    }
    try {
      cleanSelectedPlatform(project,m_isClean);
      startBuildThread(project,mode,launch);
      while (true) {
        try {
          if (monitor.isCanceled()) {
            OSHelper.killProcess("String_Node_Str");
            return;
          }
          if (getProcessFinished()) {
            break;
          }
          Thread.sleep(100);
        }
 catch (        InterruptedException e) {
          e.printStackTrace();
        }
      }
    }
 catch (    IllegalArgumentException e) {
      ConsoleHelper.consolePrint(e.getMessage());
    }
catch (    Exception e) {
      e.printStackTrace();
    }
    monitor.done();
    if (mode.equals(ILaunchManager.DEBUG_MODE)) {
      target.setProcess(m_debugProcess);
      launch.addDebugTarget(target);
    }
  }
 catch (  IllegalArgumentException e) {
    ShowMessageJob msgJob=new ShowMessageJob("String_Node_Str","String_Node_Str",e.getMessage());
    msgJob.run(monitor);
  }
}