Program: 31021
Project: 31021
Buggy source:
@Override @Before public void setUp() throws Exception {
  pledgingWallet=new PledgingWallet(params){
    @Nullable @Override public LHProtos.Pledge getPledgeFor(    Project project){
      if (injectedPledge != null) {
        return injectedPledge;
      }
 else {
        return super.getPledgeFor(project);
      }
    }
    @Override public Set<LHProtos.Pledge> getPledges(){
      if (injectedPledge != null)       return ImmutableSet.<LHProtos.Pledge>builder().addAll(super.getPledges()).add(injectedPledge).build();
 else       return super.getPledges();
    }
  }
;
  wallet=pledgingWallet;
  super.setUp();
  peerGroup.start();
  BriefLogFormatter.init();
  tmpDir=Files.createTempDirectory("String_Node_Str");
  AppDirectory.overrideAppDir(tmpDir);
  AppDirectory.initAppDir("String_Node_Str");
  Thread.setDefaultUncaughtExceptionHandler((t,e) -> {
    e.printStackTrace();
    fail("String_Node_Str");
  }
);
  gate=new AffinityExecutor.Gate();
  executor=new AffinityExecutor.ServiceAffinityExecutor("String_Node_Str");
  diskManager=new DiskManager(executor);
  backend=new LighthouseBackend(CLIENT,peerGroup,blockChain,pledgingWallet,diskManager,executor);
  backend.setMinPeersForUTXOQuery(1);
  backend.setMaxJitterSeconds(0);
  backend.executor.fetchFrom(() -> null);
  projectModel=new ProjectModel(pledgingWallet);
  to=new ECKey().toAddress(params);
  projectModel.address.set(to.toString());
  projectModel.title.set("String_Node_Str");
  projectModel.memo.set("String_Node_Str");
  projectModel.goalAmount.set(Coin.COIN.value);
  project=projectModel.getProject();
  supportingVer=new VersionMessage(params,1);
  supportingVer.localServices=VersionMessage.NODE_NETWORK | VersionMessage.NODE_GETUTXOS;
  supportingVer.clientVersion=GetUTXOsMessage.MIN_PROTOCOL_VERSION;
  httpReqs=new LinkedBlockingQueue<>();
  localServer=HttpServer.create(new InetSocketAddress("String_Node_Str",HTTP_LOCAL_TEST_PORT),100);
  localServer.createContext(HTTP_PATH_PREFIX,exchange -> {
    gate.checkOnThread();
    Uninterruptibles.putUninterruptibly(httpReqs,exchange);
  }
);
  localServer.setExecutor(gate);
  localServer.start();
  TransactionBroadcast.random=new Random(1);
}

Fixed version (ground truth):
@Override @Before public void setUp() throws Exception {
  pledgingWallet=new PledgingWallet(params){
    @Nullable @Override public LHProtos.Pledge getPledgeFor(    Project project){
      if (injectedPledge != null) {
        return injectedPledge;
      }
 else {
        return super.getPledgeFor(project);
      }
    }
    @Override public Set<LHProtos.Pledge> getPledges(){
      if (injectedPledge != null)       return ImmutableSet.<LHProtos.Pledge>builder().addAll(super.getPledges()).add(injectedPledge).build();
 else       return super.getPledges();
    }
  }
;
  wallet=pledgingWallet;
  super.setUp();
  peerGroup.start();
  BriefLogFormatter.init();
  tmpDir=Files.createTempDirectory("String_Node_Str");
  AppDirectory.overrideAppDir(tmpDir);
  AppDirectory.initAppDir("String_Node_Str");
  Thread.setDefaultUncaughtExceptionHandler((t,e) -> {
    e.printStackTrace();
    fail("String_Node_Str");
  }
);
  initCoreState();
  projectModel=new ProjectModel(pledgingWallet);
  to=new ECKey().toAddress(params);
  projectModel.address.set(to.toString());
  projectModel.title.set("String_Node_Str");
  projectModel.memo.set("String_Node_Str");
  projectModel.goalAmount.set(Coin.COIN.value);
  project=projectModel.getProject();
  supportingVer=new VersionMessage(params,1);
  supportingVer.localServices=VersionMessage.NODE_NETWORK | VersionMessage.NODE_GETUTXOS;
  supportingVer.clientVersion=GetUTXOsMessage.MIN_PROTOCOL_VERSION;
  httpReqs=new LinkedBlockingQueue<>();
  localServer=HttpServer.create(new InetSocketAddress("String_Node_Str",HTTP_LOCAL_TEST_PORT),100);
  localServer.createContext(HTTP_PATH_PREFIX,exchange -> {
    gate.checkOnThread();
    Uninterruptibles.putUninterruptibly(httpReqs,exchange);
  }
);
  localServer.setExecutor(gate);
  localServer.start();
  TransactionBroadcast.random=new Random(1);
}