Program: 131780
Project: 131780
Buggy source:
@Override public void solve(File lpFile){
  if (!lpFile.getPath().endsWith("String_Node_Str")) {
    throw new IllegalStateException("String_Node_Str" + lpFile.getPath());
  }
  result=new HashMap<String,Double>();
  try {
    IloCplex cplex=new IloCplex();
    cplex.importModel(lpFile.getAbsolutePath());
    File ordFile=new File(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    if (ordFile.exists()) {
      log.debug("String_Node_Str" + ordFile.getPath());
      cplex.readOrder(ordFile.getAbsolutePath());
    }
    File mstFile=new File(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    if (mstFile.exists()) {
      log.debug("String_Node_Str" + mstFile.getPath());
      cplex.readMIPStart(mstFile.getAbsolutePath());
    }
    cplex.setParam(DoubleParam.WorkMem,workMemMegs);
    cplex.setParam(StringParam.WorkDir,tempDir.getAbsolutePath());
    cplex.setParam(DoubleParam.TreLim,32000.0);
    cplex.setParam(IntParam.Threads,numThreads);
    cplex.setParam(IntParam.ParallelMode,1);
    OutputStream out=new BufferedOutputStream(new FileOutputStream(new File(tempDir,"String_Node_Str")));
    cplex.setOut(out);
    cplex.setWarning(out);
    if (cplex.solve()) {
      cplex.output().println("String_Node_Str" + cplex.getStatus());
      cplex.output().println("String_Node_Str" + cplex.getObjValue());
      IloLPMatrix lp=(IloLPMatrix)cplex.LPMatrixIterator().next();
      IloNumVar[] vars=lp.getNumVars();
      double[] vals=cplex.getValues(lp);
      assert(vars.length == vals.length);
      for (int i=0; i < vars.length; i++) {
        result.put(vars[i].getName(),vals[i]);
      }
      cplex.writeSolution(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    }
    cplex.end();
    out.close();
  }
 catch (  IloException e) {
    throw new RuntimeException(e);
  }
catch (  IOException e) {
    throw new RuntimeException(e);
  }
}

Fixed version (ground truth):
@Override public void solve(File lpFile){
  if (!lpFile.getPath().endsWith("String_Node_Str")) {
    throw new IllegalStateException("String_Node_Str" + lpFile.getPath());
  }
  result=new HashMap<String,Double>();
  try {
    IloCplex cplex=new IloCplex();
    cplex.importModel(lpFile.getAbsolutePath());
    File ordFile=new File(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    if (ordFile.exists()) {
      log.debug("String_Node_Str" + ordFile.getPath());
      cplex.readOrder(ordFile.getAbsolutePath());
    }
    File mstFile=new File(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    if (mstFile.exists()) {
      log.debug("String_Node_Str" + mstFile.getPath());
      cplex.readMIPStart(mstFile.getAbsolutePath());
    }
    cplex.setParam(DoubleParam.WorkMem,workMemMegs);
    cplex.setParam(StringParam.WorkDir,tempDir.getAbsolutePath());
    cplex.setParam(DoubleParam.TreLim,32000.0);
    cplex.setParam(IntParam.Threads,numThreads);
    cplex.setParam(IntParam.ParallelMode,1);
    cplex.setParam(IntParam.MIPOrdType,1);
    OutputStream out=new BufferedOutputStream(new FileOutputStream(new File(tempDir,"String_Node_Str")));
    cplex.setOut(out);
    cplex.setWarning(out);
    if (cplex.solve()) {
      cplex.output().println("String_Node_Str" + cplex.getStatus());
      cplex.output().println("String_Node_Str" + cplex.getObjValue());
      IloLPMatrix lp=(IloLPMatrix)cplex.LPMatrixIterator().next();
      IloNumVar[] vars=lp.getNumVars();
      double[] vals=cplex.getValues(lp);
      assert(vars.length == vals.length);
      for (int i=0; i < vars.length; i++) {
        result.put(vars[i].getName(),vals[i]);
      }
      cplex.writeSolution(lpFile.getAbsolutePath().replace("String_Node_Str","String_Node_Str"));
    }
    cplex.end();
    out.close();
  }
 catch (  IloException e) {
    throw new RuntimeException(e);
  }
catch (  IOException e) {
    throw new RuntimeException(e);
  }
}