Details
-
Bug
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
1.8.3
-
None
-
None
-
Production
Solaris OS, tomcat, struts 1.2, spring 3x, Hbm3x
-
Important
Description
We have a instance of stuck thread consuming high CPU memory for about a week. From the thread dump, we see 2 threads running for almost a week and trace for the both thread end up at the same commons-beanutils class.
commons-beanutils-1.8.3.jar
commons-beanutils-core-1.8.3.jar
commons-digester-1.8.jar
Thread#1
State: RUNNABLE
Total blocked: 22,215,913 Total waited: 37,773
java.lang.String.intern(Native Method)
java.lang.Class.searchMethods(Class.java:2646)
java.lang.Class.getDeclaredMethod(Class.java:1935)
org.apache.commons.beanutils.MethodUtils.getAccessibleMethodFromInterfaceNest(MethodUtils.java:885)
org.apache.commons.beanutils.MethodUtils.getAccessibleMethod(MethodUtils.java:807)
org.apache.commons.beanutils.PropertyUtilsBean.getReadMethod(PropertyUtilsBean.java:1256)
org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1325)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:770)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)
org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:880)
- locked org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@46ab45aa
Thread#2
State: RUNNABLE
Total blocked: 22,775,470 Total waited: 34,219
Stack trace:
java.lang.Class.getInterfaces(Native Method)
org.apache.commons.beanutils.MethodUtils.getAccessibleMethodFromInterfaceNest(MethodUtils.java:875)
org.apache.commons.beanutils.MethodUtils.getAccessibleMethod(MethodUtils.java:807)
org.apache.commons.beanutils.PropertyUtilsBean.getReadMethod(PropertyUtilsBean.java:1256)
org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1325)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:770)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)
org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:880)
org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:233)
- locked org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@4dea232c
We did not have any application slowness due to this high CPU though.