What I did was add a more explicit check for the ulimit detector in NioSocketAcceptor. It might prevent the Acceptor from spinning in your situation. I use the word “might” because I haven’t analyzed the rest of the issue. Just wanted to reduce the chance of a false-positive in the ulimit detector. Please grab the 2.0 branch and try again.
On Thu, Mar 1, 2018 at 8:20 AM, dgriff <[email protected]> wrote: > I've tried with the latest version of mina (2.0.16). I can reproduce the > loop > although I saw an IOException rather than NetworkRecycledException. I think > we're going to have to advise customer to stop and restart their server as > it looks too complicated to automatically recover. > > 145576 [NioSocketAcceptor-1] WARN > org.apache.mina.util.DefaultExceptionMonitor - Unexpected exception. > java.io.IOException: EDC5122I Input/output error. > at > sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java: > 306) > at > org.apache.mina.transport.socket.nio.NioSocketAcceptor. > accept(NioSocketAcceptor.java:194) > at > org.apache.mina.transport.socket.nio.NioSocketAcceptor. > accept(NioSocketAcceptor.java:51) > at > org.apache.mina.core.polling.AbstractPollingIoAcceptor$ > Acceptor.processHandles(AbstractPollingIoAcceptor.java:544) > at > org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run( > AbstractPollingIoAcceptor.java:484) > at > org.apache.mina.util.NamePreservingRunnable.run( > NamePreservingRunnable.java:64) > at > java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1164) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:634) > at java.lang.Thread.run(Thread.java:798) > > and then later: > > 146591 [NioSocketAcceptor-1] WARN > org.apache.mina.util.DefaultExceptionMonitor - Unexpected exception. > java.io.IOException: EDC5122I Input/output error. > at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:148) > at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:91) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:100) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:111) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:115) > at > org.apache.mina.transport.socket.nio.NioSocketAcceptor. > select(NioSocketAcceptor.java:281) > at > org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run( > AbstractPollingIoAcceptor.java:460) > at > org.apache.mina.util.NamePreservingRunnable.run( > NamePreservingRunnable.java:64) > at > java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1164) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:634) > at java.lang.Thread.run(Thread.java:798) > > > > -- > Sent from: http://apache-mina.10907.n7.nabble.com/Apache-MINA- > Developer-Forum-f6809.html >
