[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Number of LocalVariableTable attributes exceeds number of local variable slots 0

please raise a bug and we'll investigate:

https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ

Andy.

On 26/06/06, Gu Dake <folklayer@xxxxxxxxxxx> wrote:



The simplest aspect failed in bcel5.2 Pass2Verifier.

package mypackage;

public aspect MyAspect {

    pointcut executeMethod(): within(TestClass) && execution(* *(..));

    before(): executeMethod() {
     System.out.println("Enter "+thisJoinPointStaticPart);
    }
    after(): executeMethod() {
     System.out.println("Leave "+thisJoinPointStaticPart);
    }
}

class TestClass {

 public static void main(String[] args) {
 }

}

========================================================================================

JustIce by Enver Haase, (C) 2001-2002.
<http://bcel.sourceforge.net>
<http://jakarta.apache.org/bcel>

Now verifying: mypackage.TestClass

Pass 1:
VERIFIED_OK
Passed verification.

Pass 2:
VERIFIED_OK
Passed verification.

Pass 3a, method number 0 ['public void <init>()']:
VERIFIED_OK
Passed verification.

Pass 3b, method number 0 ['public void <init>()']:
VERIFIED_OK
Passed verification.

Pass 3a, method number 1 ['public static void main(String[] args) [(Unknown
attribute org.aspectj.weaver.MethodDeclarationLineNumber:
00 00 00 05 00 00 00 46)]']:
VERIFIED_REJECTED
Instruction invokestatic[184](3) 28 constraint violated: Return type
class/interface could not be verified successfully: 'Number of
LocalVariableTable attributes of Code attribute '<CODE>' (method 'public
static mypackage.MyAspect aspectOf() [(Unknown attribute
org.aspectj.weaver.AjSynthetic)]') exceeds number of local variable slots
'0' ('There may be no more than one LocalVariableTable attribute per local
variable in the Code attribute.').'.

Pass 3b, method number 1 ['public static void main(String[] args) [(Unknown
attribute org.aspectj.weaver.MethodDeclarationLineNumber:
00 00 00 05 00 00 00 46)]']:
VERIFIED_NOTYET
Not yet verified.

Pass 3a, method number 2 ['static void <clinit>()']:
VERIFIED_OK
Passed verification.

Pass 3b, method number 2 ['static void <clinit>()']:
VERIFIED_OK
Passed verification.

Warnings:
Pass 2: Attribute '(Unknown attribute
org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00
00 00... (truncated))' as an attribute of the ClassFile structure 'public
class mypackage.TestClass extends java.lang.Object
filename  mypackage.TestClass
compiled from  TestClass.java
compiler version 46.0
access flags  33
constant pool  69 entries
ACC_SUPER flag  true

Attribute(s):
 SourceFile(TestClass.java)
 (Unknown attribute org.aspectj.weaver.WeaverVersion: 00 03
00 00 00 00 00 00 00 00... (truncated))
 (Unknown attribute org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d
79 70... (truncated))

1 fields:
 private static final org.aspectj.lang.JoinPoint$StaticPart
ajc$tjp_0

3 methods:
 public void <init>()
 public static void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]
 static void <clinit>()
' is unknown and will therefore be ignored.
Pass 2: Attribute '(Unknown attribute org.aspectj.weaver.WeaverState: 53 00
00 00 01 00 12 6d 79 70... (truncated))' as an attribute of the ClassFile
structure 'public class mypackage.TestClass extends java.lang.Object
filename  mypackage.TestClass
compiled from  TestClass.java
compiler version 46.0
access flags  33
constant pool  69 entries
ACC_SUPER flag  true

Attribute(s):
 SourceFile(TestClass.java)
 (Unknown attribute org.aspectj.weaver.WeaverVersion: 00 03
00 00 00 00 00 00 00 00... (truncated))
 (Unknown attribute org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d
79 70... (truncated))

1 fields:
 private static final org.aspectj.lang.JoinPoint$StaticPart
ajc$tjp_0

3 methods:
 public void <init>()
 public static void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]
 static void <clinit>()
' is unknown and will therefore be ignored.
Pass 2: Attribute '<LocalVariableTable: LocalVariable(start_pc = 0, length =
5, index = 0:mypackage.TestClass this)>' as an attribute of Code attribute
'<CODE>' (method 'public void <init>()') will effectively be ignored and is
only useful for debuggers and such.
Pass 2: Attribute '<LineNumberTable: LineNumber(0, 3)>' as an attribute of
Code attribute '<CODE>' (method 'public void <init>()') will effectively be
ignored and is only useful for debuggers and such.
Pass 2: Attribute '(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)' as an attribute of Method 'public static void main(String[]
args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]' is unknown and will therefore be ignored.
Pass 2: Attribute '(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)' as an attribute of Method 'public static void main(String[]
args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]' is neither Code nor Exceptions and is therefore only of use
for debuggers and such.
Pass 2: Unknown attribute '(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)'. This attribute is not known in any context!
Pass 2: Attribute '<LocalVariableTable: LocalVariable(start_pc = 9, length =
0, index = 0:String[] args)>' as an attribute of Code attribute '<CODE>'
(method 'public static void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]') will effectively be ignored and is only useful for debuggers
and such.
Pass 2: Attribute '<LineNumberTable: LineNumber(9, 6)>' as an attribute of
Code attribute '<CODE>' (method 'public static void main(String[] args)
[(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05
00 00 00 46)]') will effectively be ignored and is only useful for debuggers
and such.
Pass 2: Class or interface initialization method 'static void <clinit>()'
has superfluous access modifier(s) set: everything but ACC_STRICT is
ignored.
Pass 2: Attribute '<LineNumberTable: LineNumber(0, 1)>' as an attribute of
Code attribute '<CODE>' (method 'static void <clinit>()') will effectively
be ignored and is only useful for debuggers and such.
Pass 2: Unknown attribute '(Unknown attribute
org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00
00 00... (truncated))'. This attribute is not known in any context!
Pass 2: Unknown attribute '(Unknown attribute
org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d 79 70...
(truncated))'. This attribute is not known in any context!



_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users