Hi Chris, key.interestOps() might throw CancelledKeyException in which case you may trade an AssertionError for a CancelledKeyException when building the assertion message.
Maybe some of the other methods you call on key need to be checked as well. best regards, -- daniel On 14/03/2018 14:05, Alan Bateman wrote:
Looks good. On 14/03/2018 13:16, Chris Hegarty wrote:An odd assertion has been observed in the com.sun.net HTTP Server code, that is currently unexplainable. I'd like to add some additional diagnostics information to the assertion so that it may be more helpful if seen again. --- a/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java +++ b/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java @@ -408,7 +408,9 @@ } handle (chan, conn); } else { - assert false;+ assert false : String.format("Unexpected non-readable key, where " + + " key's channel:%s, isValid:%b, interestOps:%d, readyOps:%d", + key.channel(), key.isValid(), key.interestOps(), key.readyOps());} } catch (CancelledKeyException e) { handleException(key, null); -Chris.
