Program: 61949
Project: 61949
Buggy source:
public void convert(final String path,ExportMode exportMode,final boolean isStatic,final int scriptIndex,final int classIndex,final ABC abc,final Trait trait,final ConstantPool constants,final MethodInfo[] method_info,final Stack<GraphTargetItem> scopeStack,final boolean isStaticInitializer,final List<String> fullyQualifiedNames,final Traits initTraits,boolean firstLevel) throws InterruptedException {
  if (debugMode) {
    System.err.println("String_Node_Str" + path);
  }
  if (exportMode == ExportMode.SOURCE) {
    int timeout=Configuration.decompilationTimeoutSingleMethod.get();
    try {
      Callable<Void> callable=new Callable<Void>(){
        @Override public Void call() throws InterruptedException {
          MethodBody converted=convertMethodBody(path,isStatic,scriptIndex,classIndex,abc,trait,constants,method_info,scopeStack,isStaticInitializer,fullyQualifiedNames,initTraits);
          HashMap<Integer,String> localRegNames=getLocalRegNames(abc);
          convertedItems=converted.code.toGraphTargetItems(path,isStatic,scriptIndex,classIndex,abc,constants,method_info,converted,localRegNames,scopeStack,isStaticInitializer,fullyQualifiedNames,initTraits,Graph.SOP_USE_STATIC,new HashMap<Integer,Integer>(),converted.code.visitCode(converted));
          Graph.graphToString(convertedItems,new NulWriter(),LocalData.create(constants,localRegNames,fullyQualifiedNames));
          return null;
        }
      }
;
      if (firstLevel) {
        CancellableWorker.call(callable,timeout,TimeUnit.SECONDS);
      }
 else {
        callable.call();
      }
    }
 catch (    InterruptedException ex) {
      throw ex;
    }
catch (    Exception ex) {
      Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
      convertException=ex;
      if (ex instanceof ExecutionException && ex.getCause() instanceof Exception) {
        convertException=(Exception)ex.getCause();
      }
    }
  }
}

Fixed version (ground truth):
public void convert(final String path,ExportMode exportMode,final boolean isStatic,final int scriptIndex,final int classIndex,final ABC abc,final Trait trait,final ConstantPool constants,final MethodInfo[] method_info,final Stack<GraphTargetItem> scopeStack,final boolean isStaticInitializer,final GraphTextWriter writer,final List<String> fullyQualifiedNames,final Traits initTraits,boolean firstLevel) throws InterruptedException {
  if (debugMode) {
    System.err.println("String_Node_Str" + path);
  }
  if (exportMode != ExportMode.SOURCE) {
    code.toASMSource(constants,trait,method_info[this.method_info],this,exportMode,writer);
  }
 else {
    if (!Configuration.decompile.get()) {
      writer.appendNoHilight("String_Node_Str").newLine();
      return;
    }
    int timeout=Configuration.decompilationTimeoutSingleMethod.get();
    try {
      Callable<Void> callable=new Callable<Void>(){
        @Override public Void call() throws InterruptedException {
          MethodBody converted=convertMethodBody(path,isStatic,scriptIndex,classIndex,abc,trait,constants,method_info,scopeStack,isStaticInitializer,fullyQualifiedNames,initTraits);
          HashMap<Integer,String> localRegNames=getLocalRegNames(abc);
          convertedItems=converted.code.toGraphTargetItems(path,isStatic,scriptIndex,classIndex,abc,constants,method_info,converted,localRegNames,scopeStack,isStaticInitializer,fullyQualifiedNames,initTraits,Graph.SOP_USE_STATIC,new HashMap<Integer,Integer>(),converted.code.visitCode(converted));
          Graph.graphToString(convertedItems,writer,LocalData.create(constants,localRegNames,fullyQualifiedNames));
          return null;
        }
      }
;
      if (firstLevel) {
        CancellableWorker.call(callable,timeout,TimeUnit.SECONDS);
      }
 else {
        callable.call();
      }
    }
 catch (    InterruptedException ex) {
      throw ex;
    }
catch (    Exception ex) {
      Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
      convertException=ex;
      if (ex instanceof ExecutionException && ex.getCause() instanceof Exception) {
        convertException=(Exception)ex.getCause();
      }
    }
  }
}