Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-454

Deadlock in RouterStub

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.5
    • 2.4.1 SP1
    • None

    Description

      GossipRouter started at Mon Apr 02 09:02:33 CEST 2007
      Listening on port 3811 bound on address /127.0.0.1

      -------------------------------------------------------
      GMS: address is 192.168.5.2:3813
      -------------------------------------------------------
      – sent 0
      – sent 2000
      – received 2000
      – sent 4000
      – received 4000
      0 [ERROR] [SocketThread 2] Util$1.uncaughtException(): uncaught exception in Thread[SocketThread 2,5,JGroups] (thread group=org.jgroups.util.Util$1[name=JGroups,maxpri=10] )
      java.lang.OutOfMemoryError: Java heap space
      – sent 6000
      – received 6000
      – sent 8000
      – received 8000
      5422 [ERROR] [SocketThread 4] Util$1.uncaughtException(): uncaught exception in Thread[SocketThread 4,5,JGroups] (thread group=org.jgroups.util.Util$1[name=JGroups,maxpri=10] )
      java.lang.OutOfMemoryError: Java heap space
      – sent 10000
      – received 10000
      10766 [ERROR] [SocketThread 5] Util$1.uncaughtException(): uncaught exception in Thread[SocketThread 5,5,JGroups] (thread group=org.jgroups.util.Util$1[name=JGroups,maxpri=10] )
      java.lang.OutOfMemoryError: Java heap space
      – sent 12000
      – received 12000
      – sent 14000
      – received 14000
      – sent 16000
      – received 16000
      – sent 18000
      – received 18000
      – received 20000
      Full thread dump Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed mode):

      "Reconnector" daemon prio=6 tid=0x0ad579d0 nid=0x1254 runnable [0x0b0cf000..0x0b0cfa68]
      at java.net.PlainSocketImpl.socketClose0(Native Method)
      at java.net.PlainSocketImpl.socketPreClose(PlainSocketImpl.java:642)
      at java.net.PlainSocketImpl.close(PlainSocketImpl.java:502)

      • locked <0x03022cd8> (a java.lang.Object)
        at java.net.SocksSocketImpl.close(SocksSocketImpl.java:1030)
        at java.net.Socket.close(Socket.java:1314)
      • locked <0x03022cb8> (a java.lang.Object)
      • locked <0x03022c28> (a java.net.Socket)
        at java.net.SocketOutputStream.close(SocketOutputStream.java:150)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:143)
        at org.jgroups.util.Util.close(Util.java:124)
        at org.jgroups.stack.RouterStub.disconnect(RouterStub.java:197)
      • locked <0x03010c30> (a org.jgroups.stack.RouterStub)
        at org.jgroups.stack.RouterStub.disconnect(RouterStub.java:167)
      • locked <0x03010c30> (a org.jgroups.stack.RouterStub)
        at org.jgroups.stack.RouterStub.reconnect(RouterStub.java:353)
        at org.jgroups.stack.RouterStub.reconnect(RouterStub.java:373)
        at org.jgroups.protocols.TUNNEL$Reconnector.run(TUNNEL.java:429)
        at java.lang.Thread.run(Thread.java:595)

      "Timer,agroup,192.168.5.2:3813" prio=6 tid=0x0ae231e0 nid=0x1198 waiting on condition [0x0b10f000..0x0b10f9e8]
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1803)
      at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
      at java.lang.Thread.run(Thread.java:595)

      "Timer,agroup,192.168.5.2:3813" prio=6 tid=0x0ad4adf0 nid=0xef4 waiting on condition [0x0b04f000..0x0b04fc68]
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1803)
      at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
      at java.lang.Thread.run(Thread.java:595)

      "TUNNEL receiver thread" daemon prio=6 tid=0x0ad738a8 nid=0x1184 runnable [0x0b18f000..0x0b18fbe8]
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(SocketInputStream.java:129)
      at java.net.SocketInputStream.read(SocketInputStream.java:182)
      at java.io.DataInputStream.readBoolean(DataInputStream.java:220)
      at org.jgroups.util.Util.readAddress(Util.java:490)
      at org.jgroups.stack.RouterStub.receive(RouterStub.java:323)
      at org.jgroups.protocols.TUNNEL.run(TUNNEL.java:263)
      at java.lang.Thread.run(Thread.java:595)

      "Timer,agroup,192.168.5.2:3813" prio=6 tid=0x0ad72e10 nid=0x13f8 waiting on condition [0x0b14f000..0x0b14fce8]
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:146)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1803)
      at java.util.concurrent.DelayQueue.take(DelayQueue.java:135)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
      at java.lang.Thread.run(Thread.java:595)

      "Timer-0" daemon prio=6 tid=0x0ad26910 nid=0x4f0 in Object.wait() [0x0b00f000..0x0b00fae8]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x02ff1d88> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:509)
      • locked <0x02ff1d88> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

      "GossipRouter" prio=6 tid=0x0acdade8 nid=0x139c runnable [0x0afcf000..0x0afcfb68]
      at java.net.PlainSocketImpl.socketAccept(Native Method)
      at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)

      • locked <0x03004a70> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.jgroups.stack.GossipRouter.mainLoop(GossipRouter.java:351)
        at org.jgroups.stack.GossipRouter.access$000(GossipRouter.java:40)
        at org.jgroups.stack.GossipRouter$1.run(GossipRouter.java:241)
        at java.lang.Thread.run(Thread.java:595)

      "Monitor Ctrl-Break" daemon prio=6 tid=0x0acc7048 nid=0x1728 runnable [0x0af8f000..0x0af8fbe8]
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(SocketInputStream.java:129)
      at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
      at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)

      • locked <0x02af0ce8> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
      • locked <0x02af0ce8> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:56)
        at java.lang.Thread.run(Thread.java:595)

      "Low Memory Detector" daemon prio=6 tid=0x00a957c0 nid=0x848 runnable [0x00000000..0x00000000]

      "CompilerThread0" daemon prio=10 tid=0x00a943c0 nid=0x1060 waiting on condition [0x00000000..0x0abcf6c8]

      "Signal Dispatcher" daemon prio=10 tid=0x00a93890 nid=0x974 waiting on condition [0x00000000..0x00000000]

      "Finalizer" daemon prio=8 tid=0x00a8a928 nid=0xf4c in Object.wait() [0x0ab4f000..0x0ab4fa68]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x02fcd130> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
      • locked <0x02fcd130> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

      "Reference Handler" daemon prio=10 tid=0x00a894b8 nid=0x530 in Object.wait() [0x0ab0f000..0x0ab0fae8]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x02fcd1b0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
      • locked <0x02fcd1b0> (a java.lang.ref.Reference$Lock)

      "main" prio=6 tid=0x000372d0 nid=0xa88 waiting for monitor entry [0x0007e000..0x0007fc3c]
      at org.jgroups.stack.RouterStub.disconnect(RouterStub.java:167)

      • waiting to lock <0x03010c30> (a org.jgroups.stack.RouterStub)
        at org.jgroups.protocols.TUNNEL.handleDownEvent(TUNNEL.java:369)
        at org.jgroups.protocols.TUNNEL.down(TUNNEL.java:189)
        at org.jgroups.protocols.Discovery.down(Discovery.java:322)
        at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:409)
        at org.jgroups.protocols.pbcast.NAKACK.down(NAKACK.java:494)
        at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:312)
        at org.jgroups.protocols.pbcast.GMS.down(GMS.java:766)
        at org.jgroups.protocols.SFC.down(SFC.java:243)
        at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:335)
        at org.jgroups.JChannel.down(JChannel.java:1194)
        at org.jgroups.JChannel.disconnect(JChannel.java:452)
      • locked <0x03007860> (a org.jgroups.JChannel)
        at org.jgroups.JChannel._close(JChannel.java:1409)
        at org.jgroups.JChannel.close(JChannel.java:474)
      • locked <0x03007860> (a org.jgroups.JChannel)
        at org.jgroups.tests.TUNNELDeadLockTest.testStress(TUNNELDeadLockTest.java:163)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at junit.textui.TestRunner.doRun(TestRunner.java:116)
        at com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:69)
        at junit.textui.TestRunner.doRun(TestRunner.java:109)
        at com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:24)
        at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118)
        at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

      "VM Thread" prio=10 tid=0x00a86a08 nid=0x648 runnable

      "VM Periodic Task Thread" prio=10 tid=0x00a96a18 nid=0x1598 waiting on condition

      Process finished with exit code 1

      Attachments

        Activity

          People

            vblagoje Vladimir Blagojevic (Inactive)
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: