Program: 87084
Project: 87084
Buggy source:
@Override public void messageReceived(final ChannelHandlerContext ctx,final MessageEvent e){
  final HttpRequest request=(HttpRequest)e.getMessage();
  final RemoteAddress address=RemoteAddress.parseRequest(request);
  log.info("String_Node_Str",e.getChannel().getId(),address + request.getUri());
  log.debug(request.toString());
  HttpHeaders.setKeepAlive(request,true);
  final ChannelPipelineFactory factory=new HttpPipelineFactory();
  final ChannelFuture outboundFuture=OutboundChannelPool.getInstance().getIdleOrNewChannelFuture(address,factory);
  log.info("String_Node_Str",e.getChannel().getId(),outboundFuture.getChannel().getId());
  final HttpPluginHandler outboundHandler=outboundFuture.getChannel().getPipeline().get(HttpPluginHandler.class);
  outboundHandler.setResponsePlugins(PluginProvider.getInstance().getResponsePlugins(request));
  outboundHandler.setResponseListener(new HttpResponseListener(){
    @Override public void responseReceived(    final HttpResponse response){
      log.info("String_Node_Str",e.getChannel().getId(),response.getStatus());
      if (e.getChannel().isConnected())       e.getChannel().write(response);
 else       log.info("String_Node_Str",e.getChannel().getId());
    }
  }
);
  outboundFuture.addListener(new ChannelFutureListener(){
    @Override public void operationComplete(    final ChannelFuture future){
      log.info("String_Node_Str",future.getChannel().getId(),address + request.getUri());
      future.getChannel().write(request);
    }
  }
);
}

Fixed version (ground truth):
@Override public void messageReceived(final ChannelHandlerContext ctx,final MessageEvent e){
  final HttpRequest request=(HttpRequest)e.getMessage();
  final RemoteAddress address=RemoteAddress.parseRequest(request);
  log.info("String_Node_Str",e.getChannel().getId(),address + request.getUri());
  log.debug(request.toString());
  HttpHeaders.setKeepAlive(request,true);
  final ChannelPipelineFactory factory=new HttpPipelineFactory();
  final ChannelFuture outboundFuture=OutboundChannelPool.getInstance().getIdleOrNewChannelFuture(address,factory);
  log.info("String_Node_Str",e.getChannel().getId(),outboundFuture.getChannel().getId());
  final HttpPluginHandler outboundHandler=outboundFuture.getChannel().getPipeline().get(HttpPluginHandler.class);
  outboundHandler.setResponsePlugins(PluginProvider.getInstance().getResponsePlugins(request));
  outboundHandler.setResponseListener(new HttpResponseListener(){
    @Override public void responseReceived(    final HttpResponse response){
      log.info("String_Node_Str",e.getChannel().getId(),response.getStatus());
      if (e.getChannel().isConnected()) {
        if (request.getHeader("String_Node_Str") != null)         response.setHeader("String_Node_Str",request.getHeader("String_Node_Str"));
        e.getChannel().write(response);
      }
 else       log.info("String_Node_Str",e.getChannel().getId());
    }
  }
);
  outboundFuture.addListener(new ChannelFutureListener(){
    @Override public void operationComplete(    final ChannelFuture future){
      log.info("String_Node_Str",future.getChannel().getId(),address + request.getUri());
      future.getChannel().write(request);
    }
  }
);
}