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

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 1.1.0.Final, 1.2.0.Beta6
    • None
    • SSL
    • None
    • 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.

      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.

        1. FirefoxScreenSnapz147.png
          424 kB
          Andrei Tchijov
        2. threads dump - 0x150d - 1.txt
          68 kB
          Andrei Tchijov
        3. threads dump - 0x150d - 2.txt
          79 kB
          Andrei Tchijov
        4. threads dump - 0x150d - 3.txt
          88 kB
          Andrei Tchijov
        5. threads dump - 0x2611 - 1.txt
          81 kB
          Andrei Tchijov
        6. threads dump - 0x2611 - 2.txt
          51 kB
          Andrei Tchijov
        7. threads dump - 0x2611 - 3.txt
          51 kB
          Andrei Tchijov

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              atchijov-vgw Andrei Tchijov (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: