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

Deadlock when using SSL and proxy

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 2.1.3
    • 2.2.2
    • Core, Filter
    • None
    • Mina Sprint 2.2.0

    Description

      The issue seems to be the same as DIRMINA-995 (at least they have exactly the same symptoms and conditions). 

       

      2019-09-09 12:04:38
      Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.151-b12 mixed mode):

      Found one Java-level deadlock:
      =============================
      "NioProcessor-138":
      waiting to lock monitor 0x00000001040b88f8 (object 0xffffffff2ef07520, a org.apache.mina.filter.ssl.SslHandler),
      which is held by "OutputEventRoutingHandler"
      "OutputEventRoutingHandler":
      waiting to lock monitor 0x000000010386a108 (object 0xffffffff2eff53b0, a org.apache.mina.proxy.handlers.socks.Socks5LogicHandler),
      which is held by "NioProcessor-138" 

       

      Java stack information for the threads listed above:
      ===================================================
      "NioProcessor-138":
      at org.apache.mina.filter.ssl.SslFilter.getSslSessionHandler(SslFilter.java:823)

      • waiting to lock <0xffffffff2ef07520> (a org.apache.mina.filter.ssl.SslHandler)
        at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:499)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
        at org.apache.mina.proxy.filter.ProxyFilter.messageReceived(ProxyFilter.java:153)
      • locked <0xffffffff2eff53b0> (a org.apache.mina.proxy.handlers.socks.Socks5LogicHandler)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
        at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:643)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:539)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1222)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1211)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        "OutputEventRoutingHandler":
        at org.apache.mina.proxy.filter.ProxyFilter.writeData(ProxyFilter.java:214)
      • waiting to lock <0xffffffff2eff53b0> (a org.apache.mina.proxy.handlers.socks.Socks5LogicHandler)
        at org.apache.mina.proxy.filter.ProxyFilter.filterWrite(ProxyFilter.java:198)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146)
        at org.apache.mina.filter.ssl.SslHandler.flushFilterWrite(SslHandler.java:310)
        at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:668)
      • locked <0xffffffff2ef07520> (a org.apache.mina.filter.ssl.SslHandler)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146)
        at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:340)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146)
        at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746)
        at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:570)
        at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:515)
        at quickfix.mina.IoSessionResponder.send(IoSessionResponder.java:63)
        at quickfix.Session.send(Session.java:2661)
        at quickfix.Session.sendRaw(Session.java:2590)
        at quickfix.Session.send(Session.java:2648)
        at quickfix.Session.sendToTarget(Session.java:681)
        .....
        at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:129)
        at java.lang.Thread.run(Thread.java:748)

      Found 1 deadlock.

      Attachments

        Issue Links

          Activity

            People

              johnnyv Jonathan Valliere
              serge_hid Sergey Staritsin
              Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated: