diff -r 278ccc25bf26 src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java --- a/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java Wed Sep 01 15:18:31 2010 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java Mon Sep 13 11:56:15 2010 +0900 @@ -59,6 +59,8 @@ import java.net.SocketAddress ; import java.nio.channels.SocketChannel ; +import java.nio.channels.UnresolvedAddressException; +import java.nio.channels.UnsupportedAddressTypeException; import javax.rmi.CORBA.ValueHandler; import javax.rmi.CORBA.ValueHandlerMultiFormat; @@ -109,6 +111,24 @@ try { sc.connect( sa ) ; return sc ; + } catch (UnresolvedAddressException uaexc) { + try { + sc.close(); + } finally { + throw uaexc; + } + } catch (UnsupportedAddressTypeException uatexc) { + try { + sc.close(); + } finally { + throw uatexc; + } + } catch (SecurityException sexc) { + try { + sc.close(); + } finally { + throw sexc; + } } catch (IOException exc ) { try { sc.close() ;