Hi,

I'm using taverna-1.7.2 to execute a workflow Achille wrote. In my
latest two tests, the workflow returned successfully when running using
the taverna workbench but ended up with a deadlock when using the
executeworkflow script. I have attached the jstack output for your
information. If you need to see the workflow and its inputs I'm sure
Achille can provide them. I should note that my previous attempt using
the same executescript command line returned successfully.

Regards,
Mahmut

2010-02-17 09:35:15
Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.0-b13 mixed mode):

"Attach Listener" daemon prio=10 tid=0x00007f921c001800 nid=0x28b2 waiting on 
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Thread-19" prio=10 tid=0x00007f91dc003000 nid=0x4514 waiting for monitor entry 
[0x00007f91c2eea000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.lang.ClassLoader.checkCerts(ClassLoader.java:783)
        - waiting to lock <0x00007f924da5e0e0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:326)
        - locked <0x00007f925c051608> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.loadClass(LocalArtifactClassLoader.java:229)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:333)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924dbd0bf0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:326)
        - locked <0x00007f925c0102a0> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924dbd0bf0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at 
org.embl.ebi.escience.scuflworkers.ProcessorHelper.getTaskWorker(ProcessorHelper.java:157)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:354)
        - locked <0x00007f925bc4baf8> (a 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:282)
        at 
uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)

"Thread-8" prio=10 tid=0x00007f91dc035800 nid=0x450e waiting for monitor entry 
[0x00007f91c33f1000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:325)
        - waiting to lock <0x00007f925c051608> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924da5e0e0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:358)
        - locked <0x00007f925bc4b258> (a 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:282)
        at 
uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)

"Thread-4" prio=10 tid=0x00007f91dc022000 nid=0x450c waiting for monitor entry 
[0x00007f9244566000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:358)
        - locked <0x00007f925bc1e878> (a 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:282)
        at 
uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)

"Thread-2" prio=10 tid=0x00007f91dc001000 nid=0x4505 in Object.wait() 
[0x00007f9245f61000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f925bd5d748> (a java.util.LinkedList)
        at java.lang.Object.wait(Object.java:485)
        at 
uk.ac.soton.itinnovation.freefluo.util.event.Queue$ConsumerThread.run(Queue.java:81)
        - locked <0x00007f925bd5d748> (a java.util.LinkedList)

"WorkflowEventDispatcher NotifyThread" daemon prio=10 tid=0x00007f926041e000 
nid=0x4503 in Object.wait() [0x00007f92202ae000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f925bc05a88> (a 
org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher$NotifyThread)
        at 
org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher$NotifyThread.run(WorkflowEventDispatcher.java:255)
        - locked <0x00007f925bc05a88> (a 
org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher$NotifyThread)

"Java2D Disposer" daemon prio=10 tid=0x00007f91d002b800 nid=0x441a in 
Object.wait() [0x00007f9245686000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f924dbd0bb8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00007f924dbd0bb8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
        at sun.java2d.Disposer.run(Disposer.java:125)
        at java.lang.Thread.run(Thread.java:619)

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

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

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

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

"Finalizer" daemon prio=10 tid=0x00007f9260091800 nid=0x4402 in Object.wait() 
[0x00007f924735d000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f924d40c6a0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00007f924d40c6a0> (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=0x00007f926008f800 nid=0x4401 in 
Object.wait() [0x00007f924745e000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f924d40c6d8> (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 <0x00007f924d40c6d8> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x00007f9260008800 nid=0x43fb in Object.wait() 
[0x00007f9267e32000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f925bdd6e68> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at 
org.embl.ebi.escience.scufl.tools.WorkflowLauncher.execute(WorkflowLauncher.java:311)
        - locked <0x00007f925bdd6e68> (a java.lang.Object)
        at 
org.embl.ebi.escience.scufl.tools.WorkflowLauncher.<init>(WorkflowLauncher.java:602)
        at 
org.embl.ebi.escience.scufl.tools.WorkflowLauncher.main(WorkflowLauncher.java:667)
        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:597)
        at net.sf.taverna.tools.Bootstrap.invokeWorkbench(Bootstrap.java:188)
        at net.sf.taverna.tools.Bootstrap.main(Bootstrap.java:75)

"VM Thread" prio=10 tid=0x00007f926008b000 nid=0x4400 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f926001b800 nid=0x43fc 
runnable 

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

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

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f9260021000 nid=0x43ff 
runnable 

"VM Periodic Task Thread" prio=10 tid=0x00007f92600cf000 nid=0x4407 waiting on 
condition 

JNI global references: 994


Found one Java-level deadlock:
=============================
"Thread-19":
  waiting to lock monitor 0x00007f91e0001d08 (object 0x00007f924da5e0e0, a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader),
  which is held by "Thread-8"
"Thread-8":
  waiting to lock monitor 0x00007f91f4018400 (object 0x00007f925c051608, a 
java.lang.Object),
  which is held by "Thread-19"

Java stack information for the threads listed above:
===================================================
"Thread-19":
        at java.lang.ClassLoader.checkCerts(ClassLoader.java:783)
        - waiting to lock <0x00007f924da5e0e0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:326)
        - locked <0x00007f925c051608> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.loadClass(LocalArtifactClassLoader.java:229)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:333)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924dbd0bf0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:326)
        - locked <0x00007f925c0102a0> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924dbd0bf0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at 
org.embl.ebi.escience.scuflworkers.ProcessorHelper.getTaskWorker(ProcessorHelper.java:157)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:354)
        - locked <0x00007f925bc4baf8> (a 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:282)
        at 
uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)
"Thread-8":
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:325)
        - waiting to lock <0x00007f925c051608> (a java.lang.Object)
        at 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClassLoader.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        - locked <0x00007f924da5e0e0> (a 
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:358)
        - locked <0x00007f925bc4b258> (a 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask)
        at 
uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:282)
        at 
uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)

Found 1 deadlock.

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/taverna-mailing-lists/
Developers Guide: http://www.mygrid.org.uk/tools/developer-information

Reply via email to