Dhinakaran created DIRMINA-1084: ----------------------------------- Summary: 100% CPU when using IoBuffer.shrink() method in some cases Key: DIRMINA-1084 URL: https://issues.apache.org/jira/browse/DIRMINA-1084 Project: MINA Issue Type: Bug Components: SSL Affects Versions: 2.0.7 Environment: Any Reporter: Dhinakaran
{code:java} "socket_c2s_ssl-thread-6" daemon prio=10 tid=0x82f5a000 nid=0x1355 runnable [0x7d618000] java.lang.Thread.State: RUNNABLE at org.apache.mina.core.buffer.AbstractIoBuffer.shrink(AbstractIoBuffer.java:317) at org.apache.mina.filter.ssl.SslHandler.fetchOutNetBuffer(SslHandler.java:406) at org.apache.mina.filter.ssl.SslHandler.writeNetBuffer(SslHandler.java:642) at org.apache.mina.filter.ssl.SslFilter.initiateClosure(SslFilter.java:665) at org.apache.mina.filter.ssl.SslFilter.filterClose(SslFilter.java:627) - locked <0x9f31fb80> (a org.apache.mina.filter.ssl.SslHandler) {code} When one tries to shrink a buffer which minimal capacity is set to 0, and set the size to 0, it enter into an infinite loop. Bug https://issues.apache.org/jira/browse/DIRMINA-988 has created in 2.0.8 it was a similar bug, but the code is slightly different in 2.0.7. But the problem is same. We should acknowledge this issue is present in 2.0.7. This is due to this loop : {code:java} while (newCapacity >>> 1 >= minCapacity) { newCapacity >>>= 1; } {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)