[jboss-cvs] JBossAS SVN: r101719 - trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 2 10:43:56 EST 2010


Author: bstansberry at jboss.com
Date: 2010-03-02 10:43:55 -0500 (Tue, 02 Mar 2010)
New Revision: 101719

Modified:
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java
Log:
Try to avoid NCDFE in analyzing static refs

Modified: trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java	2010-03-02 15:35:26 UTC (rev 101718)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java	2010-03-02 15:43:55 UTC (rev 101719)
@@ -363,16 +363,33 @@
          {
             @SuppressWarnings("unchecked")
             Class<?> clazz = (Class) referenceHolder;
-            Field field = this.getObjectField(clazz, (int) point.getIndex());
+            Field field = null;
             String fieldName = null;
-            if (field == null)
+            try
             {
-               fieldName = "UndefinedField@" + referenceHolder;
+               field = this.getObjectField(clazz, (int) point.getIndex());
+               if (field == null)
+               {
+                  fieldName = "UndefinedField@" + referenceHolder;
+               }
+               else
+               {
+                  fieldName = field.toString();
+               }
             }
-            else
+            catch (Exception e)
             {
-               fieldName = field.toString();
+               log.warn("Cannot analyze name of static field in " + clazz + "at point " + point.getIndex(), e);
             }
+            catch (NoClassDefFoundError e)
+            {
+               log.warn("Cannot analyze name of static field in " + clazz + "at point " + point.getIndex(), e);
+            }
+            
+            if (fieldName == null)
+            {
+               fieldName = "UnanalyzableField@" + referenceHolder;                              
+            }
             sb.append("StaticFieldReference " + fieldName);
             
             // A static field reference is either a leak or a cycle, depending




More information about the jboss-cvs-commits mailing list