Program: 12504
Project: 12504
Buggy source:
/** 
 * 启动推送服务 8080端口
 */
public static void start(Properties prop){
  String actSize=prop.getProperty("String_Node_Str","String_Node_Str");
  String workerSize=prop.getProperty("String_Node_Str","String_Node_Str");
  port=Integer.parseInt(prop.getProperty("String_Node_Str","String_Node_Str"));
  EventLoopGroup parentGroup=new NioEventLoopGroup(Integer.parseInt(actSize));
  EventLoopGroup childGroup=new NioEventLoopGroup(Integer.parseInt(workerSize));
  try {
    ServerBootstrap serverBootstrap=new ServerBootstrap();
    serverBootstrap.group(parentGroup,childGroup).channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer<SocketChannel>(){
      @Override public void initChannel(      SocketChannel ch) throws Exception {
        ch.pipeline().addLast(new PublisherConnHandler());
      }
    }
);
    serverBootstrap.option(ChannelOption.SO_KEEPALIVE,true);
    serverBootstrap.option(ChannelOption.TCP_NODELAY,true);
    serverBootstrap.option(ChannelOption.SO_REUSEADDR,true);
    DisruptorContext.instance.start();
    System.out.println("String_Node_Str" + port + "String_Node_Str");
    ChannelFuture f=serverBootstrap.bind(port).sync();
    f.channel().closeFuture().sync();
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
 finally {
    childGroup.shutdownGracefully();
    parentGroup.shutdownGracefully();
    DisruptorContext.instance.stop();
  }
}

Fixed version (ground truth):
/** 
 * 启动推送服务 8080端口
 */
public static void start(Properties prop){
  String actSize=prop.getProperty("String_Node_Str","String_Node_Str");
  String workerSize=prop.getProperty("String_Node_Str","String_Node_Str");
  port=Integer.parseInt(prop.getProperty("String_Node_Str","String_Node_Str"));
  EventLoopGroup parentGroup=new NioEventLoopGroup(Integer.parseInt(actSize));
  EventLoopGroup childGroup=new NioEventLoopGroup(Integer.parseInt(workerSize));
  try {
    ServerBootstrap serverBootstrap=new ServerBootstrap();
    serverBootstrap.group(parentGroup,childGroup).channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer<SocketChannel>(){
      @Override public void initChannel(      SocketChannel ch) throws Exception {
        ChannelPipeline pipeline=ch.pipeline();
        pipeline.addLast("String_Node_Str",new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE,0,4,0,4));
        pipeline.addLast("String_Node_Str",new ByteArrayDecoder());
        pipeline.addLast("String_Node_Str",new LengthFieldPrepender(4,false));
        pipeline.addLast("String_Node_Str",new ByteArrayEncoder());
        pipeline.addLast("String_Node_Str",new PublisherConnHandler());
      }
    }
);
    serverBootstrap.option(ChannelOption.SO_KEEPALIVE,true);
    serverBootstrap.option(ChannelOption.TCP_NODELAY,true);
    serverBootstrap.option(ChannelOption.SO_REUSEADDR,true);
    DisruptorContext.instance.start();
    System.out.println("String_Node_Str" + port + "String_Node_Str");
    ChannelFuture f=serverBootstrap.bind(port).sync();
    f.channel().closeFuture().sync();
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
 finally {
    childGroup.shutdownGracefully();
    parentGroup.shutdownGracefully();
    DisruptorContext.instance.stop();
  }
}