--- old/src/java.corba/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java Fri Jan 29 00:42:36 2016 +++ new/src/java.corba/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java Fri Jan 29 00:42:36 2016 @@ -367,7 +367,10 @@ } } // REVISIT - make sure reader thread is killed. - orb.getTransportManager().getSelector(0).unregisterForEvent(this); + Selector selector = orb.getTransportManager().getSelector(0); + if (selector != null) { + selector.unregisterForEvent(this); + } // Notify anyone waiting. purgeCalls(wrapper.connectionAbort(ex), true, false); // REVISIT @@ -801,7 +804,9 @@ } try { Selector selector = orb.getTransportManager().getSelector(0); - selector.unregisterForEvent(this); + if (selector != null) { + selector.unregisterForEvent(this); + } if (socketChannel != null) { socketChannel.close(); } @@ -824,7 +829,9 @@ dprint(".closeConnectionResources->: " + this); } Selector selector = orb.getTransportManager().getSelector(0); - selector.unregisterForEvent(this); + if (selector != null) { + selector.unregisterForEvent(this); + } try { if (socketChannel != null) socketChannel.close() ;