Program: 61186
Project: 61186
Buggy source:
@Override protected void setup(Context context) throws IOException, InterruptedException {
  Configuration conf=context.getConfiguration();
  int k=Integer.parseInt(conf.get(PROP_K));
  int p=Integer.parseInt(conf.get(PROP_P));
  kp=k + p;
  long omegaSeed=Long.parseLong(conf.get(PROP_OMEGA_SEED));
  omega=new Omega(omegaSeed,k + p);
  String sbPathStr=conf.get(PROP_SB_PATH);
  if (sbPathStr != null) {
    sb=SSVDHelper.loadAndSumUpVectors(new Path(sbPathStr),conf);
  }
  outputs=new MultipleOutputs(new JobConf(conf));
  closeables.addFirst(new Closeable(){
    @Override public void close() throws IOException {
      outputs.close();
    }
  }
);
  qHatKey=new SplitPartitionedWritable(context);
  rHatKey=new SplitPartitionedWritable(context);
  OutputCollector<Writable,DenseBlockWritable> qhatCollector=new OutputCollector<Writable,DenseBlockWritable>(){
    @Override @SuppressWarnings("String_Node_Str") public void collect(    Writable nil,    DenseBlockWritable dbw) throws IOException {
      outputs.getCollector(OUTPUT_QHAT,null).collect(qHatKey,dbw);
      qHatKey.incrementItemOrdinal();
    }
  }
;
  OutputCollector<Writable,VectorWritable> rhatCollector=new OutputCollector<Writable,VectorWritable>(){
    @Override @SuppressWarnings("String_Node_Str") public void collect(    Writable nil,    VectorWritable rhat) throws IOException {
      outputs.getCollector(OUTPUT_RHAT,null).collect(rHatKey,rhat);
      rHatKey.incrementItemOrdinal();
    }
  }
;
  qr=new QRFirstStep(conf,qhatCollector,rhatCollector);
  closeables.addFirst(qr);
  yRow=new DenseVector(kp);
}

Fixed version (ground truth):
@Override protected void setup(Context context) throws IOException, InterruptedException {
  Configuration conf=context.getConfiguration();
  int k=Integer.parseInt(conf.get(PROP_K));
  int p=Integer.parseInt(conf.get(PROP_P));
  kp=k + p;
  long omegaSeed=Long.parseLong(conf.get(PROP_OMEGA_SEED));
  omega=new Omega(omegaSeed,k + p);
  String sbPathStr=conf.get(PROP_SB_PATH);
  if (sbPathStr != null) {
    sb=SSVDHelper.loadAndSumUpVectors(new Path(sbPathStr),conf);
    if (sb == null)     throw new IOException(String.format("String_Node_Str",sbPathStr));
  }
  outputs=new MultipleOutputs(new JobConf(conf));
  closeables.addFirst(new Closeable(){
    @Override public void close() throws IOException {
      outputs.close();
    }
  }
);
  qHatKey=new SplitPartitionedWritable(context);
  rHatKey=new SplitPartitionedWritable(context);
  OutputCollector<Writable,DenseBlockWritable> qhatCollector=new OutputCollector<Writable,DenseBlockWritable>(){
    @Override @SuppressWarnings("String_Node_Str") public void collect(    Writable nil,    DenseBlockWritable dbw) throws IOException {
      outputs.getCollector(OUTPUT_QHAT,null).collect(qHatKey,dbw);
      qHatKey.incrementItemOrdinal();
    }
  }
;
  OutputCollector<Writable,VectorWritable> rhatCollector=new OutputCollector<Writable,VectorWritable>(){
    @Override @SuppressWarnings("String_Node_Str") public void collect(    Writable nil,    VectorWritable rhat) throws IOException {
      outputs.getCollector(OUTPUT_RHAT,null).collect(rHatKey,rhat);
      rHatKey.incrementItemOrdinal();
    }
  }
;
  qr=new QRFirstStep(conf,qhatCollector,rhatCollector);
  closeables.addFirst(qr);
  yRow=new DenseVector(kp);
}