Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-282

randomly org.xnio.conduits.AbstractStreamSourceConduit.read() goes into infinite loop

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.1.0.Final, 1.2.0.Beta6
    • Component/s: SSL
    • Labels:
      None
    • Environment:

      Wildfly 8.1.0, Ubuntu

    • Steps to Reproduce:
      Hide

      this is happening at random, usually after few hours of normal running.

      Show
      this is happening at random, usually after few hours of normal running.

      Description

      At random, one of threads gets into infinite loop. Typical thread looks like this:

      "default task-30" prio=10 tid=0x00007fdc28122800 nid=0x150d runnable [0x00007fdc2c393000]
         java.lang.Thread.State: RUNNABLE
      	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
      	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
      	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:225)
      	at sun.nio.ch.IOUtil.read(IOUtil.java:193)
      	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:375)
      	- locked <0x00000000e320c6c8> (a java.lang.Object)
      	at org.xnio.nio.NioSocketConduit.read(NioSocketConduit.java:280)
      	at org.xnio.conduits.AbstractStreamSourceConduit.read(AbstractStreamSourceConduit.java:51)
      	at org.xnio.ssl.JsseSslStreamSourceConduit.read(JsseSslStreamSourceConduit.java:84)
      	- locked <0x00000000e3212bf8> (a org.xnio.ByteBufferSlicePool$PooledByteBuffer)
      	at org.xnio.conduits.AbstractStreamSourceConduit.read(AbstractStreamSourceConduit.java:51)
      	at io.undertow.conduits.ReadDataStreamSourceConduit.read(ReadDataStreamSourceConduit.java:49)
      

      NOTE: some examples of full thread dumps attached below.

      NOTE: the thread in troubles was identified using ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

      jboss     5215  5173  5389 01:23:41 30.9 /usr/lib/jvm/java-1.7.0/bin/java -D[Standalone] -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/op
      

      NOTE: 5389 == 0x150d

      Once thread got into this state it never recover.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                swd847 Stuart Douglas
                Reporter:
                atchijov-vgw Andrei Tchijov
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: