Strange behaviour with Fixed thread pool

Hi all
I am trying to learn multithreading. I have written a small snippet of code. After running for around 30 minutes, this code ends up in a deadlock. I am trying to figure out a reason. any help will be really appreciated. Thanks. Following is the code. I am using Ubuntu 10.04 and jdk 1.6.
package rollerdemo;
//Simulate a roller coaster, as in exercise 3.5 of Magee and Kramer.
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
//This thread deals with the passengers arriving at random intervals.
class TurnstileBarrier implements Runnable
     private ControlBarrier controlBarrier;
     private CyclicBarrier cyclicBarrier;
     TurnstileBarrier(ControlBarrier controlBarrier, CyclicBarrier cyclicBarrier) { 
          this.controlBarrier = controlBarrier;
          this.cyclicBarrier = cyclicBarrier;
     public void run(){ 
          try {
               controlBarrier.welcomePassenger();
               cyclicBarrier.await();
          } catch (InterruptedException e) {
               Thread.currentThread().interrupt();               
          } catch (BrokenBarrierException e) {
               Thread.currentThread().interrupt();               
          } finally {
class RollerBarrier
     public static int NUMBER_OF_PASSENGERS_PER_CAR = 20;
     public static void main(String[] args) throws InterruptedException
          final ControlBarrier controlBarrier = new ControlBarrier();
          Runnable carBarrier = new Runnable() {
               public void run(){ 
                    controlBarrier.departCar();
          CyclicBarrier barrier = new CyclicBarrier(NUMBER_OF_PASSENGERS_PER_CAR, carBarrier);
          ExecutorService pool = Executors.newFixedThreadPool(NUMBER_OF_PASSENGERS_PER_CAR);
          while(true)
               pool.execute(new TurnstileBarrier(controlBarrier,barrier));
// The Control class represents the state of the controller, and the actions
// which can be performed.
class ControlBarrier
     private long queued = 0;
     private long carsSent = 0;
     private long numberOfPassengersTravelledToday = 0;
     ControlBarrier()
          queued = 0;
          carsSent = 0;
          numberOfPassengersTravelledToday = 0;
     synchronized void welcomePassenger() {
          System.out.format("Welcoming Passenger %d%n", ++queued);
          ++numberOfPassengersTravelledToday;
     synchronized void departCar() {
          queued = queued - RollerBarrier.NUMBER_OF_PASSENGERS_PER_CAR;
          System.out.format("The car %d is going now and the number of passengers travelled so far with us is %d%n", ++carsSent, numberOfPassengersTravelledToday);
}Edited by: 858236 on May 12, 2011 2:35 AM

Thanks every one for the replies. Really very helpful. After doing the stack -l pid I have got into a confusion. It seems that there is no deadlock but why would all of a sudden the program stop to run. May be I am missing some thing. Just check the stack trace. What I read is that out of 20 threads, 3 threads are waiting on the cyclic barrier await function, while other 17 are waiting to get new tasks from the pool. Am I wrong here? Many thanks.
2011-05-11 23:42:26
Full thread dump OpenJDK Client VM (19.0-b09 mixed mode, sharing):
"Attach Listener" daemon prio=10 tid=0x088fc000 nid=0x34d4 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE
   Locked ownable synchronizers:
     - None
"DestroyJavaVM" prio=10 tid=0xb4f21c00 nid=0x2c85 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE
   Locked ownable synchronizers:
     - None
"pool-1-thread-20" prio=10 tid=0xb4f20000 nid=0x2ca0 waiting on condition [0xb49ee000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-19" prio=10 tid=0xb4f1e800 nid=0x2c9f waiting on condition [0xb4a3f000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-18" prio=10 tid=0xb4f1d000 nid=0x2c9e waiting on condition [0xb4a90000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-17" prio=10 tid=0xb4f1b800 nid=0x2c9d waiting on condition [0xb4ae1000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-16" prio=10 tid=0xb4f19c00 nid=0x2c9c waiting on condition [0xb4b32000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-15" prio=10 tid=0xb4f18400 nid=0x2c9b waiting on condition [0xb4b83000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-14" prio=10 tid=0xb4f16c00 nid=0x2c9a waiting on condition [0xb4bd4000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-13" prio=10 tid=0xb4f15400 nid=0x2c99 waiting on condition [0xb4c25000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-12" prio=10 tid=0xb4f13c00 nid=0x2c98 waiting on condition [0xb4c76000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-11" prio=10 tid=0xb4f12400 nid=0x2c97 waiting on condition [0xb4cc7000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-10" prio=10 tid=0xb4f10c00 nid=0x2c96 waiting on condition [0xb4d18000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-9" prio=10 tid=0xb4f0f400 nid=0x2c95 waiting on condition [0xb4d69000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-8" prio=10 tid=0xb4f0dc00 nid=0x2c94 waiting on condition [0xb4dba000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a380108> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
     at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
     at rollerdemo.TurnstileBarrier.run(RollerBarrier.java:25)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - <0x7a3808d8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"pool-1-thread-7" prio=10 tid=0xb4f0c800 nid=0x2c93 waiting on condition [0xb4e0b000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-6" prio=10 tid=0xb4f0b400 nid=0x2c92 waiting on condition [0xb4e5c000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-5" prio=10 tid=0xb4f09800 nid=0x2c91 waiting on condition [0xb4ead000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-4" prio=10 tid=0xb4f08400 nid=0x2c90 waiting on condition [0xb4efe000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a380108> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
     at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
     at rollerdemo.TurnstileBarrier.run(RollerBarrier.java:25)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - <0x7a382cd0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"pool-1-thread-3" prio=10 tid=0xb4f07000 nid=0x2c8f waiting on condition [0xb5053000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"pool-1-thread-2" prio=10 tid=0xb4f05800 nid=0x2c8e waiting on condition [0xb50a4000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a380108> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
     at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
     at rollerdemo.TurnstileBarrier.run(RollerBarrier.java:25)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - <0x7a382e00> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"pool-1-thread-1" prio=10 tid=0xb4f04800 nid=0x2c8d waiting on condition [0xb50f5000]
   java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  <0x7a387350> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:636)
   Locked ownable synchronizers:
     - None
"Low Memory Detector" daemon prio=10 tid=0x08938000 nid=0x2c8b runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE
   Locked ownable synchronizers:
     - None
"CompilerThread0" daemon prio=10 tid=0x08936000 nid=0x2c8a waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE
   Locked ownable synchronizers:
     - None
"Signal Dispatcher" daemon prio=10 tid=0x08934800 nid=0x2c89 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE
   Locked ownable synchronizers:
     - None
"Finalizer" daemon prio=10 tid=0x0892c800 nid=0x2c88 in Object.wait() [0xb5339000]
   java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x7a383068> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
     - locked <0x7a383068> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
   Locked ownable synchronizers:
     - None
"Reference Handler" daemon prio=10 tid=0x0892b000 nid=0x2c87 in Object.wait() [0xb538a000]
   java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x7a3830f0> (a java.lang.ref.Reference$Lock)
     at java.lang.Object.wait(Object.java:502)
     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
     - locked <0x7a3830f0> (a java.lang.ref.Reference$Lock)
   Locked ownable synchronizers:
     - None
"VM Thread" prio=10 tid=0x08929400 nid=0x2c86 runnable
"VM Periodic Task Thread" prio=10 tid=0x08943c00 nid=0x2c8c waiting on condition
JNI global references: 983

Similar Messages

  • Strange behaviour with Safari.

    Very strange behaviour with Safari this morning.   Pages loading piecemeal or partially.   The content only becomes viewable after the cursor has passed over the area.   Have cleared caches and reported it but I'm wondering if this is a local matter here in the UK.   Anyone suffering similar problems?    Firefox is responding perfectly normally.

    I see a reply has come back via a previous post.   As I am trying to get a response to this one I shan't reply there but I should point out that for me, this is an isolated problem.   I do use open DNS but with no track history of problems there , I can't blame that.
    In the last few minutes normality has returned.

  • Strange behaviour with nested overflow headers

    Hi there,
    I have a strange behaviour with nested overflow headers. I have a hierarchy with some dynamic tables an several headers for the hierarchy steps. When the table entries lead to an page overflow, I would assume, that all parent headers will be shown. But unfortunatley only the last (the deepest in the hierarchy) defined overflow header will be shown. Here you can see a quick example of it. (http://www.nemonon.de/HeaderProblem.xdp)
    Any help would be very welcome.
    Thanks and greetings,
    Joerg

    That will sure work for some requirements and thanks for the ideas. But this would fail for the second table. Perhaps my example xdp only shows the behaviour of the nested overflow headers and it´s structure is reduced to show that. The real situation is a bit different. The parent containers also contain some other content. The Problem is not the table...I've just chosen it to produce some content and another nested header. Just try to uncheck the overflow header of the table. This will lead to, that the next defined header (in this case "HeaderThree" is shown. When you go on by also disabling that header, the next one will be shown...and so on. This shows, that the headers for their own are functional, but they fail in combination.
    Greetings,
    Joerg

  • Waiting all threads in a fixed thread pool

    Hello, may I know how can I wait for all the threads in a fixed thread pool to be completed, without calling shutdownNow?
    Executor pool = Executors.newFixedThreadPool(nThreads);
    for(int i = 0; i < 10000;  i++)
        pool.execute(new StockHistoryRunnable(code));
    // blah blah blah
    // I would like to wait for all the 10000 task to be completed. There is a method named
    // awaitTermination. However, in order to use the method, I have to first call shutdownNow.
    // I do not want to do so, because I need to re-use the pool later.
    //

    You could retrieve all the "Future" instances returned by calling "submit" on your Executor and then have a Thread sequentially wait for the completion of all these individual tasks by using "get". Of course, this will require some synchronization if it is possible that new tasks get queued while you are already waiting for the original ones to be completed. But this way you can easily find out when all tasks have completed.

  • Strange behaviour with Subjective Assessments comments in SSM10 SP10

    Good day community,
    We have strange behaviour with Subjective Assessments comments in SSM10 SP10.
    We have been using this successfully for 3 quarters.
    The scenario is as follows.
    Business users capture Subjective Assessment comments successfully and these can be viewed on the scorecard overview for Q3. This can be printed to PDF successfully as well.
    A few hours later, when the user accesses the Scorecard Overview, the Q3(March 2014) comments are now replaced with the
    Q2(Dec 2013) comments. 
    This has not happened previously. We have recently deployed Internet Explorer (IE) 10 to some of the machines that previously used IE9 or IE8. Could this be a contributing factor?
    This has happened with one database on 2 contexts.  Although the database/scorecard in question has been created on SSM10, we have recently upgraded the rest of the organisation onto SSM10 from SSM7.5 but those are completely separate databases.
    We have not found a pattern yet, but there is only one assigned administrator for this database and she often has 'funny' things happen on her machine. Could it be possible that there's a virus on her machine? Or maybe there's a sequence or combination of steps that she's doing that could cause this? We have not been able to recreate the situation in our developer offices.
    Any ideas on this strange behaviour would be appreciated.
    Regards,
    Natasha

    Hi everyone,
    We have since noticed that if you go into the Administrator > Context Management > and change the "Person Responsible" and then save, once you go back to the Scorecard Overview all the Q3 comments have been overwritten with the Q2 comments.
    This happened on a different machine so it seems there could be a bug in the Administrator.
    Any thoughts on this strange behaviour would be appreciated.
    Regards,

  • Strange behaviour when using connection pooling with proxy authentication

    All
    I have developed an ASP.NET 1.1 Web application that uses ODP.NET 9.2.0.4 accessing Oracle Database 8i (which is to be upgraded to 10g in the coming months). I have enabled connection pooling and implemented proxy authentication.
    I am observing a strange behaviour in the live environment. If two users (User 1 and User 2) are executing SQL statements at the same time (concurrent threads in IIS), the following is occurring:
    * User 1 opens a new connection, executes a SELECT statement, and closes this connection. The audit log, which uses the USER function, shows User 1 executed this statement.
    * User 2 opens the same connection (before it is released to the connection pool?), excutes an INSERT statement, and closes this connection. The audit log shows User 1, not User 2, executed this statement.
    Is this a known issue when using connection pooling with proxy authentication? I appreciate your help.
    Regards,
    Chris

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • Strange behaviour with Slideshow placement since upgrade to 3.2 from 3.1

    Hello, since I upgrade from 3.1 to 3.2, I have some strange behaviours but in particular with the placement of a slideshow on a new page.  It is not displaying in the same position as I have in in Design.  It is way off and going up over my menus when I look at it in Safari or Chrome.  Does anyone know how to fix this or could it be a bug?

    Ben,
    When you upgrade, only apex_030200 will be created and that will use the tablespace you specify. It does not have to be the same one used by flows_030100.
    Scott

  • View Master mode strange behaviour with jpg files

    Hy all,
    I'm using Aperture, and I'm tweakin a lot the SW to discover all secrets ....
    I'm really concerned about a strange behaviour of the SW in view mode.
    If I open a jpg file, do not apply ANY modification, and apply the "show master" command (pressing M), there's a subtle behaviour :
    *the images get sharper !!!!*
    It behaves as if an "edge sharpening" was applied !!!!!!
    With _RAW files this thing doesn't happen at all._
    Even stranger, if I zoom to full definition (by pressing Z), and toggle between normal view and "show master" view, the immage remains the same !
    The effect is not so evident with all images, but sometimes it is !!
    Anyway, I expect not to have such kind of things with a professional SW.
    With professional cameras and good quality files it's really annoying not to beeing sure what's the REAL content of the jpg image.
    Has anyone noted this thing ? Is there a reasonable explanation ?
    The only one I tried to figure out is the following : may be Aperture applies some kind of resampling algorithm with jpg files (bicubic, bilinear, etc).
    May be this resampling is not applied with 100% magnification, as weel as with raw files.
    But it's only my guessing. Now, I'm tweaking other viewers and other SW to understand what's the real jpg image stored in the file : the blurer one form normal view or the sharper one with "show master" mode.
    I stress once again : of course, the jpg file I'm talking about have no settings at all, just imported and toggled with M button.
    Thanks in advance.
    Regards,
    Enzo

    Hy,
    I'm afraid I'm not been clear.
    The problem is this :
    1) jpg image opened in normal view mode, no zoom, (no quick preview, of course) : image with a certain amount of blour
    2) jpg image opened in show master mode, no zoom, (no quick previre, of course) : image SHARPER with respect with the previous.
    No edit applied from import, so "show master" command shouln't apply any change in rendering, should it ?
    The only thing I said on 100% view is that such difference (between normal mode e show mastermode) is not present with 100% magnification.
    That was the issue.
    Enzo

  • IPhoto: strange behaviour with preview thumbnails

    Is there a simple way in iPhoto 8 to rebuild the thumbnail database?
    I recently noticed a strange behaviour iPhoto 8 has with previews: In some of my event categories, iPhoto does not display the correct preview thumbnail of the picture, but a preview thumbnail of another event. When I click on the thumbnail, it reloads the appropriate preview and it does not happen again - with that picture. Also, if I double click an event to open it, the small thumbnail of the event's key photo that is to be displayed in the title bar (next to the All Events button) is not always correct.
    Thank you for your help!
    Stefan

    I have similar problems (lately) with iPhoto 6.0.6 -- thumbnails do not equal the images they 'thumbnail' of.
    Sometimes when it opens, it (recently) asked me to rebuild the thumbnails, but not always.
    Can I force a thumbnail rebuild using the command you gave - Apple-option while opening iPhoto? In iPhoto 6.0.6 this primarily forces a new selection of a library.

  • Strange behaviour with smart music list in iTunes

    I don't know how is the name of this list in english. In portuguese iTunes calls "Lista Inteligente". So, I eddited a list to show all musics never played up to 100 months ago. If I click on a music in this list, before it plays, the music disappear from the list as it would be played and nothing will be played. And so one, the next and etc. No date is shown in "last play" but the music isn't anymore to see in this List.
    This list works well for many years but suddenly I have this strange behaviour.
    could it be something wrong with new update? Now I have iTunes installed 11.3.0.54

    Click the gray disclosure triangle in front of the iPod touch name.
    Thus I cannot do any functions with the music on my iPod - such as delete songs, update song info, etc.
    I would suggest making any changes to songs in iTunes and then transferring the songs to the touch.
    You can create playlists and autosync on lythos playlists.
    Then add/delete from those playlists, update items in iTunes then plug in the touch to sync it.

  • KYF exhibits strange behaviour with decimals

    Hi everybody,
    a DEC-key figure (IOBJ maintenance: additional properties->BEx->decimal places: Nothing Defined) exhibits strange behaviour regarding the treatment of decimals.
    When looking at the data in the cube (InfoCube maintenance->content) the value is 2,086.
    In the query the result is 2.0900000000 (%).
    Now comes the problem: in BPS (in the buffer) the value is 2,08. The system simply truncates the figure!  This is the value which is also used in the FOX and produces the wrong result.
    I need the system to sensibly round the values correctly to 2 decimals OR work with an additional decimal place.  How can this be done?
    Thanks for any input,
    Martin

    Hi,
    In the manual planning, while designing the layout, there is a setting in data columns tab called decimals. You have to insert 2 under this. Then in the layout data will be displayed with 2 decimal places.
    Hope this helps.
    Regards,
    Isha

  • FF 4 (mac) doesn't display handcursor in all Flash websites. Also all html websites show strange behaviour with cursor. (blinking cursor in nearby div after clicking a button)

    I'm running Mac OS 10.6
    FF4 doesn't display the hand cursor or type cursor in '''all''' flash websites on links/textfieldss when it should. Highly annoying and disgracing all flashcontent.
    Also with html websites I experienced strange cursor behaviour with FF4. Although it's hard to reproduce the problem. It's very inconsistent.
    I have the feeling in general FF4 should look into it's cursor behaviour on all possible platforms. Mainly Flash.

    I replicated the typing cursor problem on the popular FB. Just click e.g. "x people like this", you'll see you get a blinking type cursor in the "close" button.

  • Strange behaviour with shorthand null check

    Today I had a strange occurance of a NPE with that code:
    SomeType type = (person.getType() != null ? TYPE1 : _ TYPE_2);
    When person is not null but person.getType() returns null, I always faced a NullPointerException. Changing the code to
    SomeType type = (person.getType() == null ? TYPE2 : _ TYPE_1);
    solved the problem and worked. I'd like to know if anyone here can explain this strange behaviour.
    Regards
    PantheraOnca
    Edited by: user4174452 on 05.07.2012 22:22

    Of course, your right. Wrote the original code in the office and just wanted to explain the "obscurity" by pseudo code.
    The original would not have been more explanatory, I think.....
    (TYPE_1 and TYPE_2 were originally enums and SomeType a suitable class)
    The point is that the check threw a NPE in the first case and worked in the second. You might reproduce this with arbitrary code. Will provide the Java-Version tomorrow....

  • Strange behaviour with firefox

    In all my flash movies I've a strange behaviour that happens
    only whit Mozilla Firefox.
    When I go over a clickable area it just doesn't work and it's
    located lower than expected,
    with Internet explorer and opera I don't have this problem.
    The clickable areas are movieclips with on(release) script
    set.
    thanks

    Are you using a percentage size of the flash object? E.g.
    height=100%?
    This is known to cause problems. You could omit those by
    setting the height of the <body> tag to 100%, too (weird, I
    know). Or delete the very first line in the html document, the one
    that sets the doctype

  • Strange behaviour with combo boxes.

    Has anyone else noticed strange behaviour of combo boxes with applets?
    What happens is that on selecting the combo drop down, the dialogue the combo is sitting on moves behind its parent window. You just end up seeing the combo list, and no dialogue. Select a combo item, and sometimes the dialogue reappears, and sometimes it is still hidden.
    I've only seen this whilst running an applet in browsers. In Eclipse I don't see the behaviour.
    The behaviour is also very intermittent.
    I'm using Java Plug-in 1.6.0_10-rc2, Using JRE version 1.6.0_10-rc2 Java HotSpot(TM) Client VM, on Windows Vista, Google Chrome browser.
    I'd raise it as a bug, it certainly seems quite serious, but I don't have a reliable test case.
    I have a work around, on all my dialogues with combo's on them, I have setAlwaysOnTop(true). Not really the correct behaviour though.

    GeoffTitmuss wrote:
    No, I believe I am just using Swing components.Ok, then I'm out of ideas

Maybe you are looking for

  • Scripts to start stop SAP HANA

    Hi Everyone, I need to call the script to stop and start sap hana via API. Does any one knows about any API that can be used to do this. I am aware of CLI but I need some API like REST API or XS which will help to do the os level triggering. Thanks,

  • Automatically create WBS from Contract Position

    I need to automatically create a WBS Element when a Contract Position is created and write the WBS number back in the Contract Position. Has anyone done this and if so how. Is this best done by an Position Output to an iDoc so there is a monitoring s

  • Laptop not turning on at all. PLEASE HELP

    Hello, last night i was on my laptop and it was working fine. I turned it off then in the morning i noticed the the hp logo on the back was on but the computer was off so I disconnected the battery then reconnected it and pressed the power button the

  • Appserver 8 and login/authentication from a standalone client

    hello, after searching for examples which show how to connect to the appserver 8 i came up with this code which doesn't fucntion... does someone have any idea how to get this code to work? i want to get the protected MEJB object an have to authentica

  • Invoice Verification Error - Enter Spread USD/EUR type M for 31.01.08

    Hi, While doing the Invoice Verification we have encountered an error message requiring the entering of Spread USD/EUR. The PO was raised in the Euro and the Invoice Verification is being done in USD. Local currency is AUD. Even though the Exchange R