Uploaded image for project: 'MINA'
  1. MINA
  2. DIRMINA-813

Starvation occures sometimes in SerialSession#close()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.0.2
    • None
    • Transport
    • None
    • OS: Win32 XP-Pro
      rxtx Version :2.1.7.4_v20071016

    Description

      It seems that an starvation occures sometimes when we call close(true) on a SerialSession, the method 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)

      Attachments

        Activity

          People

            Unassigned Unassigned
            christian_schwarz Christian Schwarz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: