Buggy code:
public class ServerSOContainer extends SOContainer implements ISharedObjectContainerGroupManager { protected IConnectPolicy joinpolicy ; public ServerSOContainer ( ISharedObjectContainerConfig config ) { } public boolean isGroupManager ( ) { } public ID getConnectedID ( ) { } protected void queueContainerMessage ( ContainerMessage message ) throws IOException { } protected void forwardToRemote ( ID from , ID to , ContainerMessage data ) throws IOException { } protected void forwardExcluding ( ID from , ID excluding , ContainerMessage data ) throws IOException { } protected void handleViewChangeMessage ( ContainerMessage mess ) throws IOException { } public void disconnect ( ) { } protected ContainerMessage acceptNewClient ( Socket socket , String target , Serializable data , ISynchAsynchConnection conn ) { debug ( ( ( ( ( ( ( ( ( "acceptNewClient(" + socket ) + "," ) + target ) + "," ) + data ) + "," ) + conn ) + ")" ) ) ; try { ContainerMessage mess = ( ( ContainerMessage ) ( data ) ) ; if ( mess == null ) throw new InvalidObjectException ( "container<seq2seq4repair_space>message<seq2seq4repair_space>is<seq2seq4repair_space>null" ) ; ID remoteID = mess . getFromContainerID ( ) ; if ( remoteID == null ) throw new InvalidObjectException ( "remote<seq2seq4repair_space>id<seq2seq4repair_space>is<seq2seq4repair_space>null" ) ; ContainerMessage . JoinGroupMessage jgm = ( ( ContainerMessage . JoinGroupMessage ) ( mess . getData ( ) ) ) ; if ( jgm == null ) throw new IOException ( "join<seq2seq4repair_space>group<seq2seq4repair_space>message<seq2seq4repair_space>is<seq2seq4repair_space>null" ) ; ID [ ] memberIDs = null ; synchronized ( getGroupMembershipLock ( ) ) { if ( isClosing ) { Exception e = new InvalidObjectException ( "container<seq2seq4repair_space>is<seq2seq4repair_space>closing" ) ; throw e ; } checkJoin ( socket . getRemoteSocketAddress ( ) , remoteID , target , jgm . getData ( ) ) ; ISynchConnection oldConn = getSynchConnectionForID ( remoteID ) ; if ( oldConn != null ) { memberLeave ( remoteID , oldConn ) ; } if ( addNewRemoteMember ( remoteID , conn ) ) { try { forwardExcluding ( getID ( ) , remoteID , ContainerMessage . createViewChangeMessage ( getID ( ) , remoteID , getNextSequenceNumber ( ) , new ID [ ] { remoteID } , true , null ) ) ; } catch ( IOException e ) { <START_BUG> dumpStack ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>acceptNewClient<seq2seq4repair_space>sending<seq2seq4repair_space>view<seq2seq4repair_space>change<seq2seq4repair_space>message" , e ) ; <END_BUG> } memberIDs = groupManager . getMemberIDs ( ) ; conn . start ( ) ; } else { ConnectException e = new ConnectException ( "server<seq2seq4repair_space>refused<seq2seq4repair_space>connection" ) ; throw e ; } } fireContainerEvent ( new org . eclipse . ecf . core . events . ContainerConnectedEvent ( this . getID ( ) , remoteID ) ) ; return ContainerMessage . createViewChangeMessage ( getID ( ) , remoteID , getNextSequenceNumber ( ) , memberIDs , true , null ) ; } catch ( Exception e ) { logException ( ( ( ( ( ( ( ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>acceptNewClient(" + socket ) + "," ) + target ) + "," ) + data ) + "," ) + conn ) , e ) ; return null ; } } protected Object checkJoin ( SocketAddress saddr , ID fromID , String target , Serializable data ) throws Exception { } protected void handleLeaveGroupMessage ( ContainerMessage mess ) { } public void ejectGroupMember ( ID memberID , Serializable reason ) { } public void ejectAllGroupMembers ( Serializable reason ) { } protected ID getIDForConnection ( IAsynchConnection conn ) { } protected IAsynchConnection getConnectionForID ( ID memberID ) { } protected ISynchConnection getSynchConnectionForID ( ID memberID ) { } private final void queueToAll ( ContainerMessage message ) { } public void dispose ( ) { } public void connect ( ID groupID , IConnectContext joinContext ) throws ContainerConnectException { } public void setConnectPolicy ( IConnectPolicy policy ) { } }

Fix:
traceStack ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>acceptNewClient<seq2seq4repair_space>sending<seq2seq4repair_space>view<seq2seq4repair_space>change<seq2seq4repair_space>message" , e ) ;