Le 5/14/13 2:58 PM, Whitener, Winona T. a écrit :
> I finally just dropped a new exception and stack trace on the 
> sessionClosed(IoSession session) method.  The results:
>
> java.lang.Exception: testing against close
>       at 
> communication.socket.MinaClientHandler.sesionClosed(MinaClientHandler.java:57)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionClosed(DefaultIoFilterChain.java:642)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterchain.callNextSessionClosed(DefaultIoFilterChain.java:382)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$900(DefaultIoFilterChain.java:47)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:750)
>       at 
> org.apache.mina.filter.codec.ProtocolCodecfilter.sessionClosed(ProtocolCedecFilter.java:369)
>       at 
> org.apache.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:382)
>       at 
> org.apache.core.filterchain.DefaultIoFitlerChain.access$900(DefaultIoFilterIoChain.java:47)
>       at 
> org.apache.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:750)
>       at 
> org.apache.mina.filter.logging.LoggingFilter.sessionClosed(LoggingFilter.java:238)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:382)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$900(DefaultIoFilterChain.java:47)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:750)
>       at 
> org.apache.mina.core.filterchain.IoFilterAdapter.sessionClosed(ioFilterAdapter.java:88)
>       at 
> org.apache.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:382)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireSessionClosed(DefaultIoFilterChain.java:375)
>       at 
> org.apache.mina.core.service.IoServiceListenerSupport.fireSessionDestroyed(IoServiceListenerSupport.java:244)
>       at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:600)
>       at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(AbstractPollingIoProcessor.java:560)
>       at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$800(AbstractPollingIoProcessor.java:67)
>       at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1132)
>       at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>       at 
> java.util.concurrent.ThreadPoolExecutor.$Worker.run(ThreadPoolExecutor.java:603)
>       at java.lang.Thread.run(Thread.java:722)
>
>
> This is when I do a session.write(message) when message is passed in as an 
> argument.  Ironically, commenting out this line will allow it to run fine.  
> Giving it an explicit string (i.e. session.write("Mymessage") ) may or may 
> not work--it's a toss up.  I've tried doing all lower case (mixed results), a 
> numeric string ("123456"), a plain string ("quick brown fox").

The removeSessions() method is only called when some session has been
specifically called for removal. his can occur in three cases :
- the remove( session ) metho dhas been called
- an exception occured while reading or writing data in the socket
- ther eis some fragmentation which is not corretly handled.

This stack traces just shows that some session closing is being done, it
gives no information about the why.

Here, I'm stuck, unless you provides some code that I can run and debug...


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com 

Reply via email to