Program: 151773
Project: 151773
Buggy source:
private Channel createRtpChannel(final SocketAddress local,final RaopRtpChannelType channelType) throws InterruptedException {
  ConnectionlessBootstrap bootstrap=new ConnectionlessBootstrap(new NioDatagramChannelFactory(Executors.newCachedThreadPool()));
  bootstrap.setOption("String_Node_Str",new FixedReceiveBufferSizePredictorFactory(65535));
  bootstrap.setOption("String_Node_Str",65535);
  bootstrap.setPipelineFactory(new ChannelPipelineFactory(){
    @Override public ChannelPipeline getPipeline() throws Exception {
      ChannelPipeline pipeline=Channels.pipeline();
      pipeline.addLast("String_Node_Str",AirReceiver.ChannelExecutionHandler);
      pipeline.addLast("String_Node_Str",m_exceptionLoggingHandler);
      pipeline.addLast("String_Node_Str",m_decodeHandler);
      pipeline.addLast("String_Node_Str",m_encodeHandler);
      pipeline.addLast("String_Node_Str",m_packetLoggingHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_audioToControlRouterUpstreamHandler);
      if (channelType.equals(RaopRtpChannelType.Control))       pipeline.addLast("String_Node_Str",m_controlToAudioRouterDownstreamHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_resendRequestHandler);
      if (channelType.equals(RaopRtpChannelType.Audio) && (m_decryptionHandler != null))       pipeline.addLast("String_Node_Str",m_decryptionHandler);
      if (channelType.equals(RaopRtpChannelType.Audio) && (m_audioDecodeHandler != null))       pipeline.addLast("String_Node_Str",m_audioDecodeHandler);
      if (channelType.equals(RaopRtpChannelType.Control))       pipeline.addLast("String_Node_Str",m_syncHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_audioEnqueueHandler);
      return pipeline;
    }
  }
);
  Channel channel=bootstrap.bind(local);
  return channel;
}

Fixed version (ground truth):
private Channel createRtpChannel(final SocketAddress local,final SocketAddress remote,final RaopRtpChannelType channelType){
  ConnectionlessBootstrap bootstrap=new ConnectionlessBootstrap(new NioDatagramChannelFactory(Executors.newCachedThreadPool()));
  bootstrap.setOption("String_Node_Str",new FixedReceiveBufferSizePredictorFactory(65535));
  bootstrap.setOption("String_Node_Str",65535);
  bootstrap.setPipelineFactory(new ChannelPipelineFactory(){
    @Override public ChannelPipeline getPipeline() throws Exception {
      ChannelPipeline pipeline=Channels.pipeline();
      pipeline.addLast("String_Node_Str",AirReceiver.ChannelExecutionHandler);
      pipeline.addLast("String_Node_Str",m_exceptionLoggingHandler);
      pipeline.addLast("String_Node_Str",m_decodeHandler);
      pipeline.addLast("String_Node_Str",m_encodeHandler);
      pipeline.addLast("String_Node_Str",m_packetLoggingHandler);
      if (channelType.equals(RaopRtpChannelType.Timing))       pipeline.addLast("String_Node_Str",m_timeSourceHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_audioToControlRouterUpstreamHandler);
      if (channelType.equals(RaopRtpChannelType.Control))       pipeline.addLast("String_Node_Str",m_controlToAudioRouterDownstreamHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_resendRequestHandler);
      if (channelType.equals(RaopRtpChannelType.Audio) && (m_decryptionHandler != null))       pipeline.addLast("String_Node_Str",m_decryptionHandler);
      if (channelType.equals(RaopRtpChannelType.Audio) && (m_audioDecodeHandler != null))       pipeline.addLast("String_Node_Str",m_audioDecodeHandler);
      if (channelType.equals(RaopRtpChannelType.Control))       pipeline.addLast("String_Node_Str",m_syncHandler);
      if (channelType.equals(RaopRtpChannelType.Audio))       pipeline.addLast("String_Node_Str",m_audioEnqueueHandler);
      return pipeline;
    }
  }
);
  Channel channel=bootstrap.bind(local);
  if (remote != null)   channel.connect(remote);
  return channel;
}