[seam-dev] Blocked threads

Christian Bauer christian.bauer at gmail.com
Thu Jun 5 04:41:26 EDT 2008


During load spikes in production I find plenty of BLOCKED threads with  
this stack:

java.util.Hashtable.get(Hashtable.java:335)
org.jnp.server.NamingServer.getBinding(NamingServer.java:506)
org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
org.jnp.server.NamingServer.getObject(NamingServer.java:543)
org.jnp.server.NamingServer.lookup(NamingServer.java:267)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
javax.naming.InitialContext.lookup(InitialContext.java:351)
org 
.jboss 
.seam.transaction.Transaction.getUserTransaction(Transaction.java:79)
org 
.jboss 
.seam.transaction.Transaction.createUTTransaction(Transaction.java:71)
org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java: 
44)
sun.reflect.GeneratedMethodAccessor5830.invoke(Unknown Source)
sun 
.reflect 
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 
25)
java.lang.reflect.Method.invoke(Method.java:585)
org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
org.jboss.seam.Component.callComponentMethod(Component.java:2195)
org.jboss.seam.Component.unwrap(Component.java:2221)
org.jboss.seam.Component.getInstance(Component.java:1988)
org.jboss.seam.Component.getInstance(Component.java:1951)
org.jboss.seam.Component.getInstance(Component.java:1928)
org.jboss.seam.Component.getInstance(Component.java:1923)
org.jboss.seam.transaction.Transaction.instance(Transaction.java:36)
org.jboss.seam.util.Work.workInTransaction(Work.java:28)
org 
.jboss 
.seam 
.transaction 
.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:32)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org 
.jboss 
.seam 
.core 
.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org 
.jboss 
.seam 
.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:118)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
107)
org 
.jboss 
.seam 
.intercept 
.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
org 
.jboss 
.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
org.jboss.seam.wiki.core.action.DocumentHome_$ 
$_javassist_18.getInstance(DocumentHome_$$_javassist_18.java)

Also problematic seems to be the ManagedEntityIdentityInterceptor (I  
think we really could use a "no JavaBean clustering" switch that  
disables it - need some input from Gavin who initially wrote it if  
that is feasible):

java.util.Hashtable.get(Hashtable.java:335)
org.jnp.server.NamingServer.getBinding(NamingServer.java:506)
org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
org.jnp.server.NamingServer.getObject(NamingServer.java:543)
org.jnp.server.NamingServer.lookup(NamingServer.java:296)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
org 
.jboss 
.ejb3 
.naming.SimpleMultiplexer.createMultiplexer(SimpleMultiplexer.java:53)
org 
.jboss 
.ejb3 
.naming.SimpleMultiplexer.getObjectInstance(SimpleMultiplexer.java:88)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
javax.naming.spi.NamingManager.getContext(NamingManager.java:422)
javax 
.naming 
.spi.ContinuationContext.getTargetContext(ContinuationContext.java:38)
javax 
.naming.spi.NamingManager.getContinuationContext(NamingManager.java:770)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:773)
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
javax.naming.InitialContext.lookup(InitialContext.java:351)
org 
.jboss 
.seam.transaction.Transaction.getUserTransaction(Transaction.java:79)
org 
.jboss 
.seam.transaction.Transaction.createUTTransaction(Transaction.java:71)
org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java: 
44)
sun.reflect.GeneratedMethodAccessor6220.invoke(Unknown Source)
sun 
.reflect 
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 
25)
java.lang.reflect.Method.invoke(Method.java:585)
org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
org.jboss.seam.Component.callComponentMethod(Component.java:2195)
org.jboss.seam.Component.unwrap(Component.java:2221)
org.jboss.seam.Component.getInstance(Component.java:1988)
org.jboss.seam.Component.getInstance(Component.java:1951)
org.jboss.seam.Component.getInstance(Component.java:1928)
org.jboss.seam.Component.getInstance(Component.java:1923)
org.jboss.seam.transaction.Transaction.instance(Transaction.java:36)
org 
.jboss 
.seam 
.persistence 
.ManagedEntityIdentityInterceptor 
.isTransactionRolledBackOrMarkedRolback 
(ManagedEntityIdentityInterceptor.java:62)
org 
.jboss 
.seam 
.persistence 
.ManagedEntityIdentityInterceptor 
.aroundInvoke(ManagedEntityIdentityInterceptor.java:50)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org 
.jboss 
.seam 
.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java: 
31)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org 
.jboss 
.seam 
.core 
.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
org 
.jboss 
.seam 
.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
107)
org 
.jboss 
.seam 
.intercept 
.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
org 
.jboss 
.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
org.jboss.seam.wiki.preferences.Preferences_$ 
$_javassist_21.get(Preferences_$$_javassist_21.java)

Right now our websites are basically not accessible, system load is >  
20.00 with more than 30 blocked threads.




More information about the seam-dev mailing list