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

ConnectionTable: thread still running

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 2.5
    • None
    • None

      When stopping the perf.Test, one thread in CT is still running (stack trace below). This is also the reason for the unit test failure in ConnectionTableTest.

      The thread calls take() on a LinkedBlockingQueue, and the stop() method calls queue.clear() to terminate the thread, but apparently that's not the case.

      Solution: find out what terminates take() and call it in stop().

      "ConnectionTable.Connection.Sender local_addr=192.168.0.5:7800 [192.168.0.5:7800 - 192.168.0.5:53444]" daemon prio=10 tid=0x00002aaacb846400 nid=0x1cd8 waiting on condition [0x0000000040a65000..0x0000000040a65c10]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x00002aaab41d4da8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1889)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at org.jgroups.blocks.BasicConnectionTable$Connection$Sender.run(BasicConnectionTable.java:696)
        at java.lang.Thread.run(Thread.java:619)

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: