Program: 116126
Project: 116126
Buggy source:
@Override public void terminateAllMembers(final String instanceId,final String networkPartitionId){
  Thread memberTerminator=new Thread(new Runnable(){
    public void run(){
      ClusterInstanceContext instanceContext=getAllNetworkPartitionCtxts().get(networkPartitionId).getClusterInstanceContext(instanceId);
      for (      ClusterLevelPartitionContext partitionContext : instanceContext.getPartitionCtxts()) {
        log.info("String_Node_Str" + getClusterId() + "String_Node_Str"+ instanceContext.getNetworkPartitionId()+ "String_Node_Str"+ partitionContext.getPartitionId()+ "String_Node_Str");
        Iterator<MemberContext> iterator=partitionContext.getActiveMembers().listIterator();
        while (iterator.hasNext()) {
          MemberContext activeMemberCtxt=iterator.next();
          String memberId=activeMemberCtxt.getMemberId();
          log.info("String_Node_Str" + memberId);
          partitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
          InstanceNotificationPublisher.getInstance().sendInstanceCleanupEventForMember(memberId);
        }
        Iterator<MemberContext> pendingIterator=partitionContext.getPendingMembers().listIterator();
        while (pendingIterator.hasNext()) {
          MemberContext pendingMemberCtxt=pendingIterator.next();
          String memeberId=pendingMemberCtxt.getMemberId();
          log.info("String_Node_Str" + memeberId + "String_Node_Str");
          partitionContext.movePendingMemberToObsoleteMembers(memeberId);
        }
      }
    }
  }
,"String_Node_Str" + getClusterId());
  memberTerminator.start();
}

Fixed version (ground truth):
@Override public void terminateAllMembers(final String instanceId,final String networkPartitionId){
  Thread memberTerminator=new Thread(new Runnable(){
    public void run(){
      ClusterInstanceContext instanceContext=getAllNetworkPartitionCtxts().get(networkPartitionId).getClusterInstanceContext(instanceId);
      for (      ClusterLevelPartitionContext partitionContext : instanceContext.getPartitionCtxts()) {
        log.info("String_Node_Str" + getClusterId() + "String_Node_Str"+ instanceContext.getNetworkPartitionId()+ "String_Node_Str"+ partitionContext.getPartitionId()+ "String_Node_Str");
        List<String> activeMembers=new ArrayList<String>();
        Iterator<MemberContext> iterator=partitionContext.getActiveMembers().listIterator();
        while (iterator.hasNext()) {
          MemberContext activeMemberCtxt=iterator.next();
          activeMembers.add(activeMemberCtxt.getMemberId());
        }
        for (        String memberId : activeMembers) {
          log.info("String_Node_Str" + memberId);
          partitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
          InstanceNotificationPublisher.getInstance().sendInstanceCleanupEventForMember(memberId);
        }
        Iterator<MemberContext> pendingIterator=partitionContext.getPendingMembers().listIterator();
        List<String> pendingMembers=new ArrayList<String>();
        while (pendingIterator.hasNext()) {
          MemberContext activeMemberCtxt=pendingIterator.next();
          pendingMembers.add(activeMemberCtxt.getMemberId());
        }
        for (        String memberId : pendingMembers) {
          MemberContext pendingMemberCtxt=pendingIterator.next();
          String memeberId=pendingMemberCtxt.getMemberId();
          log.info("String_Node_Str" + memeberId + "String_Node_Str");
          partitionContext.movePendingMemberToObsoleteMembers(memeberId);
        }
      }
    }
  }
,"String_Node_Str" + getClusterId());
  memberTerminator.start();
}