Program: 167755
Project: 167755
Buggy source:
@Override public void start(StartContext context) throws StartException {
  final SuspendResumeHandler suspendResumeHandler=new SuspendResumeHandler();
  final ControlPoint controlPoint=requestControllerInjectedValue.getValue().getEntryPoint("String_Node_Str","String_Node_Str");
  HttpHandler shutdown=new HttpHandler(){
    @Override public void handleRequest(    HttpServerExchange exchange) throws Exception {
      if (exchange.isInIoThread()) {
        exchange.dispatch(this);
        return;
      }
      final int count=COUNT.incrementAndGet();
      if (exchange.getQueryParameters().containsKey(SKIP_GRACEFUL)) {
        System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
        suspendResumeHandler.handleRequest(exchange);
        return;
      }
      System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
      RunResult result=controlPoint.beginRequest();
      if (result == RunResult.REJECTED) {
        System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
        exchange.setResponseCode(503);
        return;
      }
      exchange.addExchangeCompleteListener(new ExchangeCompletionListener(){
        @Override public void exchangeEvent(        HttpServerExchange exchange,        NextListener nextListener){
          System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
          controlPoint.requestComplete();
          nextListener.proceed();
        }
      }
);
      suspendResumeHandler.handleRequest(exchange);
    }
  }
;
  undertow=Undertow.builder().addHttpListener(8080 + socketBindingManagerInjectedValue.getValue().getPortOffset(),"String_Node_Str").setHandler(shutdown).build();
  undertow.start();
}

Fixed version (ground truth):
@Override public void start(StartContext context) throws StartException {
  final SuspendResumeHandler suspendResumeHandler=new SuspendResumeHandler();
  final ControlPoint controlPoint=requestControllerInjectedValue.getValue().getControlPoint("String_Node_Str","String_Node_Str");
  HttpHandler shutdown=new HttpHandler(){
    @Override public void handleRequest(    HttpServerExchange exchange) throws Exception {
      if (exchange.isInIoThread()) {
        exchange.dispatch(this);
        return;
      }
      final int count=COUNT.incrementAndGet();
      if (exchange.getQueryParameters().containsKey(SKIP_GRACEFUL)) {
        System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
        suspendResumeHandler.handleRequest(exchange);
        return;
      }
      System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
      RunResult result=controlPoint.beginRequest();
      if (result == RunResult.REJECTED) {
        System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
        exchange.setResponseCode(503);
        return;
      }
      exchange.addExchangeCompleteListener(new ExchangeCompletionListener(){
        @Override public void exchangeEvent(        HttpServerExchange exchange,        NextListener nextListener){
          System.out.println("String_Node_Str" + count + "String_Node_Str"+ exchange);
          controlPoint.requestComplete();
          nextListener.proceed();
        }
      }
);
      suspendResumeHandler.handleRequest(exchange);
    }
  }
;
  undertow=Undertow.builder().addHttpListener(8080 + socketBindingManagerInjectedValue.getValue().getPortOffset(),"String_Node_Str").setHandler(shutdown).build();
  undertow.start();
}