Program: 7088
Project: 7088
Buggy source:
/** 
 * Creates a jar that contains everything that are needed for running the MapReduce program by Hadoop.
 * @return a new {@link Location} containing the job jar
 */
private Location buildJobJar(BasicMapReduceContext context) throws IOException {
  ApplicationBundler appBundler=new ApplicationBundler(ImmutableList.of("String_Node_Str","String_Node_Str"),ImmutableList.of("String_Node_Str","String_Node_Str"));
  Id.Program programId=context.getProgram().getId();
  Location jobJar=locationFactory.create(String.format("String_Node_Str",ProgramType.MAPREDUCE.name().toLowerCase(),programId.getNamespaceId(),programId.getApplicationId(),programId.getId(),context.getRunId().getId()));
  LOG.debug("String_Node_Str",jobJar.toURI());
  Set<Class<?>> classes=Sets.newHashSet();
  classes.add(MapReduce.class);
  classes.add(MapperWrapper.class);
  classes.add(ReducerWrapper.class);
  Job jobConf=context.getHadoopJob();
  if (cConf.getBoolean(Constants.AppFabric.MAPREDUCE_INCLUDE_CUSTOM_CLASSES)) {
    try {
      Class<? extends InputFormat<?,?>> inputFormatClass=jobConf.getInputFormatClass();
      LOG.info("String_Node_Str",inputFormatClass,inputFormatClass.getClassLoader());
      classes.add(inputFormatClass);
      if (StreamInputFormat.class.isAssignableFrom(inputFormatClass)) {
        Class<? extends StreamEventDecoder> decoderType=StreamInputFormat.getDecoderClass(jobConf.getConfiguration());
        if (decoderType != null) {
          classes.add(decoderType);
        }
      }
    }
 catch (    Throwable t) {
      LOG.info("String_Node_Str",t.getMessage(),t);
    }
    try {
      Class<? extends OutputFormat<?,?>> outputFormatClass=jobConf.getOutputFormatClass();
      LOG.info("String_Node_Str",outputFormatClass,outputFormatClass.getClassLoader());
      classes.add(outputFormatClass);
    }
 catch (    Throwable t) {
      LOG.info("String_Node_Str",t.getMessage(),t);
    }
  }
  try {
    Class<?> hbaseTableUtilClass=HBaseTableUtilFactory.getHBaseTableUtilClass();
    classes.add(hbaseTableUtilClass);
  }
 catch (  ProvisionException e) {
    LOG.warn("String_Node_Str");
  }
  ClassLoader oldCLassLoader=Thread.currentThread().getContextClassLoader();
  Thread.currentThread().setContextClassLoader(jobConf.getConfiguration().getClassLoader());
  appBundler.createBundle(jobJar,classes);
  Thread.currentThread().setContextClassLoader(oldCLassLoader);
  LOG.info("String_Node_Str",jobJar.toURI());
  return jobJar;
}

Fixed version (ground truth):
/** 
 * Creates a jar that contains everything that are needed for running the MapReduce program by Hadoop.
 * @return a new {@link Location} containing the job jar
 */
private Location buildJobJar(BasicMapReduceContext context) throws IOException {
  ApplicationBundler appBundler=new ApplicationBundler(ImmutableList.of("String_Node_Str","String_Node_Str"),ImmutableList.of("String_Node_Str","String_Node_Str"));
  Id.Program programId=context.getProgram().getId();
  Location jobJar=locationFactory.create(String.format("String_Node_Str",ProgramType.MAPREDUCE.name().toLowerCase(),programId.getNamespaceId(),programId.getApplicationId(),programId.getId(),context.getRunId().getId()));
  LOG.debug("String_Node_Str",jobJar.toURI());
  Set<Class<?>> classes=Sets.newHashSet();
  classes.add(MapReduce.class);
  classes.add(MapperWrapper.class);
  classes.add(ReducerWrapper.class);
  Job jobConf=context.getHadoopJob();
  if (cConf.getBoolean(Constants.AppFabric.MAPREDUCE_INCLUDE_CUSTOM_CLASSES)) {
    try {
      Class<? extends InputFormat<?,?>> inputFormatClass=jobConf.getInputFormatClass();
      LOG.info("String_Node_Str",inputFormatClass,inputFormatClass.getClassLoader());
      classes.add(inputFormatClass);
      if (StreamInputFormat.class.isAssignableFrom(inputFormatClass)) {
        Class<? extends StreamEventDecoder> decoderType=StreamInputFormat.getDecoderClass(jobConf.getConfiguration());
        if (decoderType != null) {
          classes.add(decoderType);
        }
      }
    }
 catch (    Throwable t) {
      LOG.info("String_Node_Str",t.getMessage(),t);
    }
    try {
      Class<? extends OutputFormat<?,?>> outputFormatClass=jobConf.getOutputFormatClass();
      LOG.info("String_Node_Str",outputFormatClass,outputFormatClass.getClassLoader());
      classes.add(outputFormatClass);
    }
 catch (    Throwable t) {
      LOG.info("String_Node_Str",t.getMessage(),t);
    }
  }
  try {
    Class<?> hbaseTableUtilClass=HBaseTableUtilFactory.getHBaseTableUtilClass();
    classes.add(hbaseTableUtilClass);
  }
 catch (  ProvisionException e) {
    LOG.warn("String_Node_Str");
  }
  ClassLoader oldCLassLoader=ClassLoaders.setContextClassLoader(jobConf.getConfiguration().getClassLoader());
  appBundler.createBundle(jobJar,classes);
  ClassLoaders.setContextClassLoader(oldCLassLoader);
  LOG.info("String_Node_Str",jobJar.toURI());
  return jobJar;
}