Buggy code:
public class RpcConnectionImpl implements RpcConnection , RpcSessionEventCallback { private final Logger logger = LoggerFactory . getLogger ( RpcConnectionImpl . class . getName ( ) ) ; private RpcConnectionState state ; private Channel channel ; private RpcTrustLevel trustedLevel ; private Map < String , RpcServiceBinding > bindingMap ; private Map < Integer , RpcSession > sessionMap ; private Map < String , Object > props ; private AtomicInteger idCounter ; private AtomicInteger sessionCounter ; private RpcBlockingTableImpl blockingTable ; private RpcAsyncTableImpl asyncTable ; private String guid ; private Set < RpcConnectionEventListener > callbacks ; private final Lock controlLock = new ReentrantLock ( ) ; private Condition controlReady = controlLock . newCondition ( ) ; private volatile boolean isControlReady = false ; private final Lock peeringLock = new ReentrantLock ( ) ; private Condition peeringReady = peeringLock . newCondition ( ) ; private String peerGuid ; private String nonce ; private RpcTrustLevel trustLevel ; private X509Certificate peerCert ; private long lastSentTime ; public RpcConnectionImpl ( Channel channel , String guid ) { } @ Override public int getId ( ) { } @ Override public boolean isOpen ( ) { } @ Override public boolean isClient ( ) { } @ Override public RpcConnectionState getState ( ) { } @ Override public RpcTrustLevel getTrustedLevel ( ) { } @ Override public void setTrustedLevel ( RpcTrustLevel trustedLevel ) { } @ Override public String getPeerGuid ( ) { } @ Override public void setPeerGuid ( String peerGuid ) { } @ Override public X509Certificate getPeerCertificate ( ) { } @ Override public String getNonce ( ) { } @ Override public void setNonce ( String nonce ) { } @ Override public RpcTrustLevel getTrustLevel ( ) { } @ Override public void setTrustLevel ( RpcTrustLevel trustLevel ) { } @ Override public InetSocketAddress getRemoteAddress ( ) { } @ Override public Collection < RpcServiceBinding > getServiceBindings ( ) { } @ Override public void bind ( String name , RpcService service ) { } @ Override public void unbind ( String name ) { } @ Override public RpcServiceBinding findServiceBinding ( String serviceName ) { } @ Override public RpcSession createSession ( String serviceName ) throws InterruptedException , RpcException { } @ Override public RpcSession createSession ( String serviceName , Properties props ) throws InterruptedException , RpcException { } private Map < String , Object > toMap ( Properties props ) { } public RpcSession openSession ( int newSessionId , String serviceName ) { } @ Override public RpcSession findSession ( int sessionId ) { } @ Override public Collection < RpcSession > getSessions ( ) { } @ Override public RpcSession getSession ( int id ) { } @ Override public void send ( RpcMessage msg ) { } @ Override public void close ( ) { } @ Override public void close ( boolean nonblock ) { } @ Override public Object getProperty ( String key ) { } @ Override public void setProperty ( String key , Object value ) { } @ Override public Collection < String > getPropertyKeys ( ) { } @ Override public void sessionClosed ( RpcSession session ) { } @ Override public void requestPeering ( RpcPeeringCallback callback ) { } @ Override public void requestPeering ( RpcPeeringCallback callback , String password ) { } @ Override public void addListener ( RpcConnectionEventListener callback ) { } @ Override public void removeListener ( RpcConnectionEventListener callback ) { } @ Override public int nextMessageId ( ) { } @ Override public int nextSessionId ( ) { } @ Override public RpcBlockingTable getBlockingTable ( ) { } @ Override public RpcAsyncTable getAsyncTable ( ) { } @ Override public void waitControlReady ( ) { } @ Override public void waitPeering ( ) { } @ Override public void waitPeering ( long timeout ) { try { long begin = new Date ( ) . getTime ( ) ; peeringLock . lock ( ) ; while ( ( trustedLevel ) == null ) { if ( ( timeout > 0 ) && ( ( ( new Date ( ) . getTime ( ) ) - begin ) > timeout ) ) { <START_BUG> logger . error ( "araqne<seq2seq4repair_space>rpc:<seq2seq4repair_space>give<seq2seq4repair_space>up<seq2seq4repair_space>waiting<seq2seq4repair_space>peering<seq2seq4repair_space>[{}]<seq2seq4repair_space>response" , peerGuid ) ; <END_BUG> throw new RpcException ( ( "peering<seq2seq4repair_space>timeout:<seq2seq4repair_space>" + timeout ) ) ; } peeringReady . await ( 200 , TimeUnit . MILLISECONDS ) ; } } catch ( InterruptedException e ) { logger . trace ( "araqne<seq2seq4repair_space>rpc:<seq2seq4repair_space>interrupted<seq2seq4repair_space>waiting<seq2seq4repair_space>for<seq2seq4repair_space>peering<seq2seq4repair_space>[{}]" , peerGuid ) ; } finally { peeringLock . unlock ( ) ; } } @ Override public void setControlReady ( ) { } public void setPeerCert ( X509Certificate peerCert ) { } @ Override public long getLastSentTime ( ) { } @ Override public String toString ( ) { } private class NonPasswordPeering implements RpcAsyncCallback { private RpcSession session ; private RpcPeeringCallback callback ; private String password ; public NonPasswordPeering ( RpcSession session , RpcPeeringCallback callback , String password ) { } @ Override public void onComplete ( RpcAsyncResult r ) { } private void onFaliure ( Object [ ] tuple ) { } private void onSuccess ( Object [ ] tuple ) { } } private class PasswordPeering implements RpcAsyncCallback { private RpcSession session ; private RpcPeeringCallback callback ; public PasswordPeering ( RpcSession session , RpcPeeringCallback callback ) { } @ Override public void onComplete ( RpcAsyncResult r ) { } } No newline ; at end ; of file ; }

Fix:
logger . error ( "araqne<seq2seq4repair_space>rpc:<seq2seq4repair_space>channel<seq2seq4repair_space>[{}]<seq2seq4repair_space>give<seq2seq4repair_space>up<seq2seq4repair_space>waiting<seq2seq4repair_space>peering<seq2seq4repair_space>[{}]<seq2seq4repair_space>response" , channel , peerGuid ) ;