It was 1.1.7 before.
Using jstack helped me monitoring the behaviour. Thread is called
NioDatagramAcceptor-3. This thread consumes 100% cpu. Code is exactly the same.
When I switch back to 1.1.7, it functions without any problem. It seems to me
that threading shows strange behaviour at some point and can not get killed.
"NioDatagramAcceptor-3" prio=10 tid=0x00007f5ae4989000 nid=0x5420 runnable
[0x00007f5ae9b31000]
java.lang.Thread.State: RUNNABLE
at sun.nio.cs.UTF_8.updatePositions(UTF_8.java:58)
at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:392)
at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:447)
at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:240)
at java.lang.StringCoding.encode(StringCoding.java:272)
at java.lang.StringCoding.encode(StringCoding.java:284)
at java.lang.String.getBytes(String.java:986)
at
com.blo.handler.network.mu.codecs.gprs.inbound.PacketDecoder.decodable(PacketDecoder.java:59)
at
org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder.doDecode(DemuxingProtocolDecoder.java:141)
at
org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:126)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
- locked <0x0000000780673480> (a
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
at
org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
at
org.apache.mina.core.polling.AbstractPollingConnectionlessIoAcceptor.readHandle(AbstractPollingConnectionlessIoAcceptor.java:701)
at
org.apache.mina.core.polling.AbstractPollingConnectionlessIoAcceptor.processReadySessions(AbstractPollingConnectionlessIoAcceptor.java:670)
at
org.apache.mina.core.polling.AbstractPollingConnectionlessIoAcceptor.access$800(AbstractPollingConnectionlessIoAcceptor.java:61)
at
org.apache.mina.core.polling.AbstractPollingConnectionlessIoAcceptor$Acceptor.run(AbstractPollingConnectionlessIoAcceptor.java:607)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Emre
-----Original Message-----
From: Emmanuel Lécharny [mailto:[email protected]]
Sent: Friday, February 14, 2014 3:53 PM
To: [email protected]
Subject: Re: Mina 2.0.7 UDP Issue
Le 2/14/14 2:27 PM, Emre Baykal a écrit :
> Hi everyone,
>
> I have recently migrated my application to Mina 2.0.7 and since then I am
> having trouble with UDP connections. It seems like NioDatagramAcceptor is not
> functioning well and sometimes it ends up with deadlock. Besides, this
> deadlock causes high CPU consumption. Does anyone know anything about this
> issue, or has it been fixed before?
Can you be a bit more explicit ? Sentences like "NioDatagramAcceptor is not
functioning well" are not exactly helping us helping you...
Have you some stack trace when your application deadlocks ?Also what version of
MINA where you using before ?
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com