mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schwarz (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DIRMINA-813) Starvation occures sometimes on SerialSession#close()
Date Thu, 02 Dec 2010 09:39:11 GMT

     [ https://issues.apache.org/jira/browse/DIRMINA-813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Christian Schwarz updated DIRMINA-813:
--------------------------------------

    Description: 
It seems that an Starvation occures sometimes when we call close(true) on a SerialSession,
the Methode never returns. 
We observed this case with JConsole, they are no Deadlocks detectable, so we assume that we
have a starvation here.

Here are the Stack traces of 2 involved Threads :
---------------------------------------------------------------------------------------------------
Name: Thread-17
State: RUNNABLE
Total blocked: 0  Total waited: 0

Stack trace: 
gnu.io.RXTXPort.eventLoop(Native Method)
gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
---------------------------------------------------------------------------------------------------

Name: Worker-6
State: TIMED_WAITING
Total blocked: 32.336  Total waited: 2.860

Stack trace: 
java.lang.Thread.sleep(Native Method)
gnu.io.RXTXPort.close(RXTXPort.java:1025)
   - locked gnu.io.RXTXPort@16ba7f9
org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:302)
org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:1)
org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.filterClose(DefaultIoFilterChain.java:634)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterClose(DefaultIoFilterChain.java:740)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterClose(DefaultIoFilterChain.java:518)
org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:272)
org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:254)


  was:
It seems that an Starvation occures sometimes when we call close(true) on a SerialSession,
the Methode never returns. 
We observed this case with JConsole, they are no Deadlocks are detectable, so we assume that
we have a starvation here.

Here are the Stack traces of 2 involved Threads :
---------------------------------------------------------------------------------------------------
Name: Thread-17
State: RUNNABLE
Total blocked: 0  Total waited: 0

Stack trace: 
gnu.io.RXTXPort.eventLoop(Native Method)
gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
---------------------------------------------------------------------------------------------------

Name: Worker-6
State: TIMED_WAITING
Total blocked: 32.336  Total waited: 2.860

Stack trace: 
java.lang.Thread.sleep(Native Method)
gnu.io.RXTXPort.close(RXTXPort.java:1025)
   - locked gnu.io.RXTXPort@16ba7f9
org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:302)
org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:1)
org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.filterClose(DefaultIoFilterChain.java:634)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterClose(DefaultIoFilterChain.java:740)
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterClose(DefaultIoFilterChain.java:518)
org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:272)
org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:254)



> Starvation occures sometimes on SerialSession#close() 
> ------------------------------------------------------
>
>                 Key: DIRMINA-813
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-813
>             Project: MINA
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 2.0.0
>         Environment: OS: Win32 XP-Pro 
> rxtx Version :2.1.7.4_v20071016  
>            Reporter: Christian Schwarz
>
> It seems that an Starvation occures sometimes when we call close(true) on a SerialSession,
the Methode never returns. 
> We observed this case with JConsole, they are no Deadlocks detectable, so we assume that
we have a starvation here.
> Here are the Stack traces of 2 involved Threads :
> ---------------------------------------------------------------------------------------------------
> Name: Thread-17
> State: RUNNABLE
> Total blocked: 0  Total waited: 0
> Stack trace: 
> gnu.io.RXTXPort.eventLoop(Native Method)
> gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
> ---------------------------------------------------------------------------------------------------
> Name: Worker-6
> State: TIMED_WAITING
> Total blocked: 32.336  Total waited: 2.860
> Stack trace: 
> java.lang.Thread.sleep(Native Method)
> gnu.io.RXTXPort.close(RXTXPort.java:1025)
>    - locked gnu.io.RXTXPort@16ba7f9
> org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:302)
> org.apache.mina.transport.serial.SerialSessionImpl$SerialIoProcessor.remove(SerialSessionImpl.java:1)
> org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.filterClose(DefaultIoFilterChain.java:634)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
> org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
> org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:143)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:46)
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:813)
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterClose(DefaultIoFilterChain.java:740)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:525)
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterClose(DefaultIoFilterChain.java:518)
> org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:272)
> org.apache.mina.core.session.AbstractIoSession.close(AbstractIoSession.java:254)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message