Program: 47511
Project: 47511
Buggy source:
BasicOperationService(NodeEngineImpl nodeEngine){
  this.nodeEngine=nodeEngine;
  this.node=nodeEngine.getNode();
  this.logger=node.getLogger(OperationService.class);
  this.invocationLogger=nodeEngine.getLogger(BasicInvocation.class);
  this.defaultCallTimeoutMillis=node.getGroupProperties().OPERATION_CALL_TIMEOUT_MILLIS.getLong();
  this.backupOperationTimeoutMillis=node.getGroupProperties().OPERATION_BACKUP_TIMEOUT_MILLIS.getLong();
  this.backPressureService=new BasicBackPressureService(node.getGroupProperties(),logger);
  int coreSize=Runtime.getRuntime().availableProcessors();
  boolean reallyMultiCore=coreSize >= CORE_SIZE_CHECK;
  int concurrencyLevel=reallyMultiCore ? coreSize * CORE_SIZE_FACTOR : CONCURRENCY_LEVEL;
  this.invocations=new ConcurrentHashMap<Long,BasicInvocation>(INITIAL_CAPACITY,LOAD_FACTOR,concurrencyLevel);
  this.operationBackupHandler=new OperationBackupHandler();
  this.operationExecutor=new ClassicOperationExecutor(node.getGroupProperties(),node.loggingService,node.getThisAddress(),new BasicOperationRunnerFactory(),new BasicResponsePacketHandler(),node.getHazelcastThreadGroup(),node.getNodeExtension());
  ExecutionService executionService=nodeEngine.getExecutionService();
  this.asyncExecutor=executionService.register(ExecutionService.ASYNC_EXECUTOR,coreSize,ASYNC_QUEUE_CAPACITY,ExecutorType.CONCRETE);
  this.slowOperationDetector=new SlowOperationDetector(operationExecutor.getGenericOperationRunners(),operationExecutor.getPartitionOperationRunners(),node.groupProperties,node.getHazelcastThreadGroup());
  startCleanupThread();
}

Fixed version (ground truth):
BasicOperationService(NodeEngineImpl nodeEngine){
  this.nodeEngine=nodeEngine;
  this.node=nodeEngine.getNode();
  this.logger=node.getLogger(OperationService.class);
  this.invocationLogger=nodeEngine.getLogger(BasicInvocation.class);
  this.defaultCallTimeoutMillis=node.getGroupProperties().OPERATION_CALL_TIMEOUT_MILLIS.getLong();
  this.backupOperationTimeoutMillis=node.getGroupProperties().OPERATION_BACKUP_TIMEOUT_MILLIS.getLong();
  this.backPressureService=new BasicBackPressureService(node.getGroupProperties(),logger);
  int coreSize=Runtime.getRuntime().availableProcessors();
  boolean reallyMultiCore=coreSize >= CORE_SIZE_CHECK;
  int concurrencyLevel=reallyMultiCore ? coreSize * CORE_SIZE_FACTOR : CONCURRENCY_LEVEL;
  this.invocations=new ConcurrentHashMap<Long,BasicInvocation>(INITIAL_CAPACITY,LOAD_FACTOR,concurrencyLevel);
  this.operationBackupHandler=new OperationBackupHandler();
  this.operationExecutor=new ClassicOperationExecutor(node.getGroupProperties(),node.loggingService,node.getThisAddress(),new BasicOperationRunnerFactory(),new BasicResponsePacketHandler(),node.getHazelcastThreadGroup(),node.getNodeExtension());
  ExecutionService executionService=nodeEngine.getExecutionService();
  this.asyncExecutor=executionService.register(ExecutionService.ASYNC_EXECUTOR,coreSize,ASYNC_QUEUE_CAPACITY,ExecutorType.CONCRETE);
  this.slowOperationDetector=new SlowOperationDetector(operationExecutor.getGenericOperationRunners(),operationExecutor.getPartitionOperationRunners(),node.groupProperties,node.getHazelcastThreadGroup());
  this.cleanupThread=new CleanupThread();
  this.cleanupThread.start();
}