Hi guys, I can have pan execute my transformations smoothly, however, kitchen hangs. Below is the thread dump when it hangs, can somebody shed a light on this?

environment: Linux 2.6.18-194.el5 64bit, 64-Bit SUN VM (20.2-b06 mixed mode):

Code:
"Thread-5" prio=10 tid=0x00002aaab0bc4800 nid=0x39b0 waiting on condition [0x00000000408f3000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.pentaho.di.job.entries.special.JobEntrySpecial.execute(JobEntrySpecial.java:190)
        at org.pentaho.di.job.Job.execute(Job.java:503)
        at org.pentaho.di.job.Job.execute(Job.java:368)
        at org.pentaho.di.job.Job.run(Job.java:288)

"Timer-1" daemon prio=10 tid=0x0000000059317800 nid=0x39af in Object.wait() [0x0000000040627000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000fbdbe2b8> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00000000fbdbe2b8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"org.apache.commons.vfs.cache.SoftRefFilesCache$SoftRefReleaseThread" daemon prio=10 tid=0x00002aaab1006000 nid=0x39ad in Object.wait() [0x0000000040308000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000e0747ad0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00000000e0747ad0> (a java.lang.ref.ReferenceQueue$Lock)
        at org.apache.commons.vfs.cache.SoftRefFilesCache$SoftRefReleaseThread.run(Unknown Source)

"Low Memory Detector" daemon prio=10 tid=0x0000000058542000 nid=0x39aa runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x00002aaab006e800 nid=0x39a9 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x00002aaab006b800 nid=0x39a8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00002aaab0069800 nid=0x39a7 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00002aaab004d000 nid=0x39a6 in Object.wait() [0x000000004103c000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000e07520c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00000000e07520c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00002aaab004b000 nid=0x39a5 in Object.wait() [0x0000000040f3b000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000e0317ea8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x00000000e0317ea8> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x0000000058519000 nid=0x399b sleeping[0x0000000041ff8000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.pentaho.di.job.Job.waitUntilFinished(Job.java:733)
        at org.pentaho.di.job.Job.waitUntilFinished(Job.java:721)
        at org.pentaho.di.kitchen.Kitchen.main(Kitchen.java:378)

"VM Thread" prio=10 tid=0x00002aaab0044800 nid=0x39a4 runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x000000005852c000 nid=0x399c runnable

"GC task thread#1 (ParallelGC)" prio=10 tid=0x000000005852d800 nid=0x399d runnable

"GC task thread#2 (ParallelGC)" prio=10 tid=0x000000005852f800 nid=0x399e runnable

"GC task thread#3 (ParallelGC)" prio=10 tid=0x0000000058531800 nid=0x399f runnable
"GC task thread#4 (ParallelGC)" prio=10 tid=0x0000000058533000 nid=0x39a0 runnable

"GC task thread#5 (ParallelGC)" prio=10 tid=0x0000000058535000 nid=0x39a1 runnable

"GC task thread#6 (ParallelGC)" prio=10 tid=0x0000000058537000 nid=0x39a2 runnable

"GC task thread#7 (ParallelGC)" prio=10 tid=0x0000000058538800 nid=0x39a3 runnable

"VM Periodic Task Thread" prio=10 tid=0x000000005854c800 nid=0x39ab waiting on condition

JNI global references: 1495

Heap
 PSYoungGen      total 164480K, used 121540K [0x00000000f5560000, 0x0000000100000000, 0x0000000100000000)
  eden space 155008K, 76% used [0x00000000f5560000,0x00000000fc8893c8,0x00000000fecc0000)
  from space 9472K, 38% used [0x00000000ff640000,0x00000000ff9c8000,0x00000000fff80000)
  to   space 9728K, 0% used [0x00000000fecc0000,0x00000000fecc0000,0x00000000ff640000)
 PSOldGen        total 85888K, used 11245K [0x00000000e0000000, 0x00000000e53e0000, 0x00000000f5560000)
  object space 85888K, 13% used [0x00000000e0000000,0x00000000e0afb7f8,0x00000000e53e0000)
 PSPermGen       total 21248K, used 14072K [0x00000000dae00000, 0x00000000dc2c0000, 0x00000000e0000000)
  object space 21248K, 66% used [0x00000000dae00000,0x00000000dbbbe1f8,0x00000000dc2c0000)