Program: 35289
Project: 35289
Buggy source:
public void start(){
  if (channel == null) {
    Bootstrap bootstrap=new Bootstrap();
    bootstrap.group(new OioEventLoopGroup());
    bootstrap.channel(RxtxChannel.class);
    bootstrap.handler(new ChannelInitializer<RxtxChannel>(){
      @Override protected void initChannel(      RxtxChannel channel) throws Exception {
        NettyZWaveController.this.channel=channel;
        channel.config().setBaudrate(115200);
        channel.config().setDatabits(RxtxChannelConfig.Databits.DATABITS_8);
        channel.config().setParitybit(RxtxChannelConfig.Paritybit.NONE);
        channel.config().setStopbits(RxtxChannelConfig.Stopbits.STOPBITS_1);
        channel.pipeline().addLast("String_Node_Str",new ZWaveFrameDecoder());
        channel.pipeline().addLast("String_Node_Str",new ACKInboundHandler());
        channel.pipeline().addLast("String_Node_Str",new ZWaveFrameEncoder());
        channel.pipeline().addLast("String_Node_Str",new FrameQueueHandler());
        channel.pipeline().addLast("String_Node_Str",new TransactionInboundHandler());
        channel.pipeline().addLast("String_Node_Str",inboundHandler);
      }
    }
);
    bootstrap.connect(new RxtxDeviceAddress(serialPort)).addListener(new ChannelFutureListener(){
      @Override public void operationComplete(      ChannelFuture future) throws Exception {
        if (future.isSuccess()) {
          sendDataFrame(new Version());
          sendDataFrame(new MemoryGetId());
          sendDataFrame(new InitData());
        }
 else {
          onZWaveConnectionFailure(future.cause());
        }
      }
    }
);
  }
}

Fixed version (ground truth):
@Override public void start(){
  if (channel == null) {
    Bootstrap bootstrap=new Bootstrap();
    eventLoopGroup=new OioEventLoopGroup();
    bootstrap.group(eventLoopGroup);
    bootstrap.channel(RxtxChannel.class);
    bootstrap.handler(new ChannelInitializer<RxtxChannel>(){
      @Override protected void initChannel(      RxtxChannel channel) throws Exception {
        NettyZWaveController.this.channel=channel;
        channel.config().setBaudrate(115200);
        channel.config().setDatabits(RxtxChannelConfig.Databits.DATABITS_8);
        channel.config().setParitybit(RxtxChannelConfig.Paritybit.NONE);
        channel.config().setStopbits(RxtxChannelConfig.Stopbits.STOPBITS_1);
        channel.pipeline().addLast("String_Node_Str",new ZWaveFrameDecoder());
        channel.pipeline().addLast("String_Node_Str",new ACKInboundHandler());
        channel.pipeline().addLast("String_Node_Str",new ZWaveFrameEncoder());
        channel.pipeline().addLast("String_Node_Str",new FrameQueueHandler());
        channel.pipeline().addLast("String_Node_Str",new TransactionInboundHandler());
        channel.pipeline().addLast("String_Node_Str",inboundHandler);
      }
    }
);
    bootstrap.connect(new RxtxDeviceAddress(serialPort)).addListener(new ChannelFutureListener(){
      @Override public void operationComplete(      ChannelFuture future) throws Exception {
        if (future.isSuccess()) {
          sendDataFrame(new Version());
          sendDataFrame(new MemoryGetId());
          sendDataFrame(new InitData());
        }
 else {
          onZWaveConnectionFailure(future.cause());
        }
      }
    }
);
  }
}