Program: 113580
Project: 113580
Buggy source:
@Override public void startRequest(DIRRequest rq){
  final xtreemfs_service_get_by_nameRequest request=(xtreemfs_service_get_by_nameRequest)rq.getRequestMessage();
  database.prefixLookup(DIRRequestDispatcher.INDEX_ID_SERVREG,new byte[0],rq).registerListener(new BabuDBRequestListener<Iterator<Entry<byte[],byte[]>>>(){
    @Override public void finished(    Iterator<Entry<byte[],byte[]>> iter,    Object context){
      try {
        ServiceSet services=new ServiceSet();
        long now=System.currentTimeMillis() / 1000l;
        while (iter.hasNext()) {
          Entry<byte[],byte[]> e=iter.next();
          ServiceRecord servEntry=new ServiceRecord(ReusableBuffer.wrap(e.getValue()));
          if (servEntry.getName().equals(request.getName()))           services.add(servEntry.getService());
          long secondsSinceLastUpdate=now - servEntry.getLast_updated_s();
          servEntry.getData().put("String_Node_Str",Long.toString(secondsSinceLastUpdate));
        }
        ((DIRRequest)context).sendSuccess(request.createDefaultResponse());
      }
 catch (      IOException e) {
        Logging.logError(Logging.LEVEL_ERROR,this,e);
        ((DIRRequest)context).sendInternalServerError(e);
      }
    }
    @Override public void failed(    BabuDBException e,    Object context){
      Logging.logError(Logging.LEVEL_ERROR,this,e);
      if (e.getErrorCode() == ErrorCode.NO_ACCESS && dbsReplicationManager != null)       ((DIRRequest)context).sendRedirectException(dbsReplicationManager.getMaster());
 else       ((DIRRequest)context).sendInternalServerError(e);
    }
  }
);
}

Fixed version (ground truth):
@Override public void startRequest(DIRRequest rq){
  final xtreemfs_service_get_by_nameRequest request=(xtreemfs_service_get_by_nameRequest)rq.getRequestMessage();
  database.prefixLookup(DIRRequestDispatcher.INDEX_ID_SERVREG,new byte[0],rq).registerListener(new BabuDBRequestListener<Iterator<Entry<byte[],byte[]>>>(){
    @Override public void finished(    Iterator<Entry<byte[],byte[]>> iter,    Object context){
      try {
        ServiceSet services=new ServiceSet();
        long now=System.currentTimeMillis() / 1000l;
        while (iter.hasNext()) {
          Entry<byte[],byte[]> e=iter.next();
          ServiceRecord servEntry=new ServiceRecord(ReusableBuffer.wrap(e.getValue()));
          if (servEntry.getName().equals(request.getName()))           services.add(servEntry.getService());
          long secondsSinceLastUpdate=now - servEntry.getLast_updated_s();
          servEntry.getData().put("String_Node_Str",Long.toString(secondsSinceLastUpdate));
        }
        xtreemfs_service_get_by_nameResponse response=new xtreemfs_service_get_by_nameResponse(services);
        ((DIRRequest)context).sendSuccess(response);
      }
 catch (      IOException e) {
        Logging.logError(Logging.LEVEL_ERROR,this,e);
        ((DIRRequest)context).sendInternalServerError(e);
      }
    }
    @Override public void failed(    BabuDBException e,    Object context){
      Logging.logError(Logging.LEVEL_ERROR,this,e);
      if (e.getErrorCode() == ErrorCode.NO_ACCESS && dbsReplicationManager != null)       ((DIRRequest)context).sendRedirectException(dbsReplicationManager.getMaster());
 else       ((DIRRequest)context).sendInternalServerError(e);
    }
  }
);
}