--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java Wed Apr 09 09:19:52 2014 -0700
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java Wed Apr 09 17:19:02 2014 -0700
@@ -253,6 +253,13 @@
// registered with the selector. Otherwise if the bytes
// are read on the connection it will attempt a time stamp
// but the cache will be null, resulting in NPE.
+
+ // A connection needs to be timestamped before putting to the cache.
+ // Otherwise the newly created connection (with 0 timestamp) could be
+ // incorrectly reclaimed by concurrent reclaim() call OR if there
+ // will be no events on this connection then it could be reclaimed
+ // by upcoming reclaim() call.
+ getConnectionCache().stampTime(connection);
getConnectionCache().put(this, connection);
if (connection.shouldRegisterServerReadEvent()) {