Buggy code:
public class EncDecActorMessageProcessor { private static final Logger LOG = LoggerFactory . getLogger ( EncDecActorMessageProcessor . class ) ; private final CacheService cacheService ; private final MessageEncoderDecoder crypt ; private final Map < Integer , PlatformEncDec > platformEncDecMap ; private final Boolean supportUnencryptedConnection ; private final ActorRef opsActor ; private final MeterClient sessionInitMeter ; private final MeterClient sessionRequestMeter ; private final MeterClient sessionResponseMeter ; private final MeterClient redirectMeter ; private final MeterClient errorMeter ; protected EncDecActorMessageProcessor ( ActorRef epsActor , AkkaContext context , Set < String > platformProtocols ) { } void decodeAndForward ( ActorContext context , SessionInitMessage message ) { } void decodeAndForward ( ActorContext context , SessionAwareMessage message ) { } void encodeAndReply ( SessionResponse message ) { try { sessionResponseMeter . mark ( ) ; if ( ( message . getError ( ) ) == null ) { processSessionResponse ( message ) ; } else { <START_BUG> processErrors ( message . getChannelContext ( ) , message . getErrorConverter ( ) , message . getError ( ) ) ; <END_BUG> } } catch ( Exception e ) { processErrors ( message . getChannelContext ( ) , message . getErrorBuilder ( ) , e ) ; } } public void forward ( ActorContext context , SessionAware message ) { } void redirect ( RedirectionRule redirection , SessionInitMessage message ) { } void redirect ( RedirectionRule redirection , SessionAwareMessage message ) { } private ServerSync buildRedirectionResponse ( RedirectionRule redirection , ClientSync request ) { } private void processSignedRequest ( ActorContext context , SessionInitMessage message ) throws GeneralSecurityException , PlatformEncDecException , InvalidApplicationTokenException { } private void processSessionRequest ( ActorContext context , SessionAwareMessage message ) throws GeneralSecurityException , PlatformEncDecException , InvalidApplicationTokenException { } private void forwardToOpsActor ( ActorContext context , SessionInfo session , ClientSync request , Message requestMessage ) { } private void processSessionResponse ( SessionResponse message ) throws GeneralSecurityException , PlatformEncDecException { } private ClientSync decodeRequest ( SessionInitMessage message ) throws GeneralSecurityException , PlatformEncDecException { } private ClientSync decodeEncryptedRequest ( SessionInitMessage message ) throws GeneralSecurityException , PlatformEncDecException { } private ClientSync decodeUnencryptedRequest ( SessionInitMessage message ) throws GeneralSecurityException , PlatformEncDecException { } private ClientSync decodeEncryptedRequest ( SessionAwareMessage message ) throws GeneralSecurityException , PlatformEncDecException { } private ClientSync decodeUnencryptedRequest ( SessionAwareMessage message ) throws PlatformEncDecException { } private byte [ ] encodePlatformLevelData ( int platformID , SessionResponse message ) throws PlatformEncDecException { } private ClientSync decodePlatformLevelData ( Integer platformID , byte [ ] requestRaw ) throws PlatformEncDecException { } private ClientSync decodeRequest ( SessionAwareMessage message ) throws GeneralSecurityException , PlatformEncDecException { } private PublicKey getPublicKey ( ClientSync request ) throws GeneralSecurityException { } private void processErrors ( ChannelContext ctx , ErrorBuilder converter , Exception e ) { } private String getAppToken ( ClientSync request ) { } private boolean isApplicationTokenValid ( String applicationToken ) { } protected EndpointObjectHash getEndpointObjectHash ( ClientSync request ) { } }

Fix:
processErrors ( message . getChannelContext ( ) , message . getErrorBuilder ( ) , message . getError ( ) ) ;