commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (BCEL-129) ClassFormatException when instrumenting a Java 5 class
Date Wed, 23 Apr 2014 14:42:15 GMT

     [ https://issues.apache.org/jira/browse/BCEL-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Emmanuel Bourg updated BCEL-129:
--------------------------------

    Description: 
Hi ,

I am using BCEL to instrument Java classes  of web applications in JDK1.6 ,1.5 .We encountered
a ClassFormat exception for classes using Generics which prevented application from loading.From
https://issues.apache.org/bugzilla/show_bug.cgi?id=33549 I saw a workaround to delete "LocalVariableTypeTable".
I followed that suggestion and loop through the attributes and deleted attribute named "LocalVariableTypeTable".
Still while loading the application I get a ClassFormatException.

Example code in which I delete attribute "LocalvariableTypeTable" jc is JavaClass Object
{code}
        Method[] ma = jc.getMethods();
        for(int i = 0, x = ma.length; i < x; i++) {
            try {
                MethodGen mg = new MethodGen(ma[i],cg.getClassName(),cg.getConstantPool());
                Attribute[] atts = mg.getCodeAttributes();
                
                for (int j = 0; j < atts.length; j++) {
                    if (atts[j].getNameIndex() == mg.getConstantPool().lookupUtf8("LocalVariableTypeTable"))
{
                        mg.removeCodeAttribute(atts[j]);
                    }
                }
            } catch(Exception o1) {
                output.write("exception " + o1);   
            }
        }
{code}

Also I get other error

{code}
Caused by: java.lang.ClassFormatError: LVTT entry for 'patterns' in class file org/springframework/classname
does not match any LVT entry
{code}
and the application fails to load


  was:
Hi ,
I am using Bcel to instrument java classes  of webapplications in JDK1.6 ,1.5 .We encountered
ClassFormat exception for classes using Generics
which prevented application from loading.From https://issues.apache.org/bugzilla/show_bug.cgi?id=33549
I saw a workaround to delete "LocalVariableTypeTable".I followed that suggestion and loop
through the attributes
and deleted attribute named "LocalVariableTypeTable".Still While loading application I get
ClassFormatException.
Example code in which i delete attribute "LocalvariableTypeTable" jc is JavaClass Object
             Method[] ma = jc.getMethods();
           for(int i=0,x=ma.length;i<x;i++)
            {
            try{
                  
                MethodGen mg = new MethodGen(ma[i],cg.getClassName(),cg.getConstantPool());
                Attribute[] atts = mg.getCodeAttributes();
               
                for( int j=0; j<atts.length; j++ ) {
                 
                    if(atts[j].getNameIndex()==mg.getConstantPool().lookupUtf8("LocalVariableTypeTable"))
                    {
                      
                        mg.removeCodeAttribute(atts[j]);
                     
                    }
                    
                }
               
            }
           
                  catch(Exception o1)
                  {
                  output.write("exception "+o1);   
                  }
                }
               
       Also i get other error
      
       Caused by: java.lang.ClassFormatError: LVTT entry for 'patterns' in class file org/springframework/classname
does not match any LVT entry
and application fails to load

       Priority: Major
    Environment:     (was: Operating System: Windows XP
Platform: PC)
        Summary: ClassFormatException when instrumenting a Java 5 class  (was: problem using
bcel in jdk15)

> ClassFormatException when instrumenting a Java 5 class
> ------------------------------------------------------
>
>                 Key: BCEL-129
>                 URL: https://issues.apache.org/jira/browse/BCEL-129
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Main
>    Affects Versions: unspecified
>            Reporter: psramkumar
>            Assignee: Apache Commons Developers
>
> Hi ,
> I am using BCEL to instrument Java classes  of web applications in JDK1.6 ,1.5 .We encountered
a ClassFormat exception for classes using Generics which prevented application from loading.From
https://issues.apache.org/bugzilla/show_bug.cgi?id=33549 I saw a workaround to delete "LocalVariableTypeTable".
I followed that suggestion and loop through the attributes and deleted attribute named "LocalVariableTypeTable".
Still while loading the application I get a ClassFormatException.
> Example code in which I delete attribute "LocalvariableTypeTable" jc is JavaClass Object
> {code}
>         Method[] ma = jc.getMethods();
>         for(int i = 0, x = ma.length; i < x; i++) {
>             try {
>                 MethodGen mg = new MethodGen(ma[i],cg.getClassName(),cg.getConstantPool());
>                 Attribute[] atts = mg.getCodeAttributes();
>                 
>                 for (int j = 0; j < atts.length; j++) {
>                     if (atts[j].getNameIndex() == mg.getConstantPool().lookupUtf8("LocalVariableTypeTable"))
{
>                         mg.removeCodeAttribute(atts[j]);
>                     }
>                 }
>             } catch(Exception o1) {
>                 output.write("exception " + o1);   
>             }
>         }
> {code}
> Also I get other error
> {code}
> Caused by: java.lang.ClassFormatError: LVTT entry for 'patterns' in class file org/springframework/classname
does not match any LVT entry
> {code}
> and the application fails to load



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message