[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] AspectJ 1.5.3: java.lang.NullPointerException at org.aspectj.apache.bcel.generic.MethodGen
|
First of all, million thanks for the reply!
I'm including one of the ajcore files generated when I get the NPE (I
get over 30 ajcore files each time I run the program in the profiler...)
Andy Clement wrote:
What exact compiler version was used to build the code
that is input
to the weaving process? (not the JVM level used for LTW). I really
need to see what is inconsistent in the bytecode to resolve this
problem.
I'm using the same JDK that for running the code, 1.5.0-9, full info on
the ajcore. I only get the error while running from the JProbe
profiler. As far as I can tell, the difference is that the profiler
changes the java.library.path and classpath and adding a
-Xbootclasspath/a:/foo/bar/jprobe/lib/jpagent.jar.
java.lang.VerifyError: Unable to pop operan
when not using -XnoInline
Are you writing annotation style aspects or code style aspects?
Yes, I'm using annotation style aspects. I'm also defining pointcuts on
annotations and pointcuts that weave into classes with parameterized
types (which I suspect is related to the StackOverflowError I reported
on a previous email... and by looking to the bugzilla entry you
indicated, they might be responsible for the NPE also).
I can provide any amount of detail about the running platform, just
please ask whatever is needed.
--
santiago aguiar
netlabs
Palmar 2548
Montevideo, Uruguay
Tel. +(598 2) 707 7687
Fax. +(598 2) 709 4866
http://www.netlabs.com.uy
|
Attachment:
ajcore.zip
Description: Zip archive
Compiled from "SMPPFragmentationStrategy.java"
public class uy.com.netlabs.dsmpp.output.fragmentation.SMPPFragmentationStrategy extends java.lang.Object implements uy.com.netlabs.dsmpp.output.fragmentation.FragmentationStrategy{
static final boolean $assertionsDisabled;
public uy.com.netlabs.dsmpp.output.fragmentation.SMPPFragmentationStrategy();
Code:
0: aload_0
1: sipush 254
4: invokespecial #1; //Method "<init>":(I)V
7: return
public uy.com.netlabs.dsmpp.output.fragmentation.SMPPFragmentationStrategy(int);
Code:
0: aload_0
1: invokespecial #2; //Method java/lang/Object."<init>":()V
4: aload_0
5: iload_1
6: putfield #3; //Field maxLength:I
9: return
public uy.com.netlabs.dsmpp.Message[] fragment(uy.com.netlabs.dsmpp.Message) throws uy.com.netlabs.dsmpp.DataCodingSchemeException, uy.com.netlabs.dsmpp.MalformedMessageException;
Code:
0: getstatic #4; //Field $assertionsDisabled:Z
3: ifne 24
6: aload_0
7: aload_1
8: invokevirtual #5; //Method isSupported:(Luy/com/netlabs/dsmpp/Message;)Z
11: ifne 24
14: new #6; //class java/lang/AssertionError
17: dup
18: ldc #7; //String Message must be supported
20: invokespecial #8; //Method java/lang/AssertionError."<init>":(Ljava/lang/Object;)V
23: athrow
24: ldc_w #9; //class uy/com/netlabs/dsmpp/sms/Sms
27: aload_1
28: invokevirtual #10; //Method java/lang/Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
31: checkcast #9; //class uy/com/netlabs/dsmpp/sms/Sms
34: astore_2
35: aload_2
36: invokevirtual #11; //Method uy/com/netlabs/dsmpp/sms/Sms.isHeaderPresent:()Z
39: ifeq 51
42: iconst_1
43: anewarray #12; //class uy/com/netlabs/dsmpp/Message
46: dup
47: iconst_0
48: aload_1
49: aastore
50: areturn
51: aload_2
52: invokevirtual #13; //Method uy/com/netlabs/dsmpp/sms/Sms.getMessage:()[B
55: astore_3
56: aload_3
57: arraylength
58: aload_0
59: getfield #3; //Field maxLength:I
62: if_icmpgt 74
65: iconst_1
66: anewarray #12; //class uy/com/netlabs/dsmpp/Message
69: dup
70: iconst_0
71: aload_1
72: aastore
73: areturn
74: getstatic #14; //Field sequence:Ljava/util/concurrent/atomic/AtomicInteger;
77: invokevirtual #15; //Method java/util/concurrent/atomic/AtomicInteger.incrementAndGet:()I
80: istore 4
82: aload_3
83: arraylength
84: aload_0
85: getfield #3; //Field maxLength:I
88: iconst_1
89: isub
90: iadd
91: aload_0
92: getfield #3; //Field maxLength:I
95: idiv
96: anewarray #9; //class uy/com/netlabs/dsmpp/sms/Sms
99: astore 5
101: iconst_0
102: istore 6
104: iload 6
106: aload 5
108: arraylength
109: if_icmpge 208
112: aload_3
113: arraylength
114: iload 6
116: aload_0
117: getfield #3; //Field maxLength:I
120: imul
121: isub
122: istore 7
124: iload 7
126: aload_0
127: getfield #3; //Field maxLength:I
130: if_icmple 139
133: aload_0
134: getfield #3; //Field maxLength:I
137: istore 7
139: aload 5
141: iload 6
143: new #9; //class uy/com/netlabs/dsmpp/sms/Sms
146: dup
147: aload_2
148: invokevirtual #16; //Method uy/com/netlabs/dsmpp/sms/Sms.getSourceAddress:()Luy/com/netlabs/dsmpp/Address;
151: aload_2
152: invokevirtual #17; //Method uy/com/netlabs/dsmpp/sms/Sms.isTrackDelivery:()Z
155: aload_2
156: invokevirtual #18; //Method uy/com/netlabs/dsmpp/sms/Sms.getRequestInfo:()Ljava/lang/String;
159: aload_2
160: invokevirtual #19; //Method uy/com/netlabs/dsmpp/sms/Sms.getDataCodingScheme:()Luy/com/netlabs/dsmpp/DataCodingScheme;
163: iconst_0
164: iload 7
166: aload_3
167: iload 6
169: aload_0
170: getfield #3; //Field maxLength:I
173: imul
174: iload 7
176: invokespecial #20; //Method uy/com/netlabs/dsmpp/sms/Sms."<init>":(Luy/com/netlabs/dsmpp/Address;ZLjava/lang/String;Luy/com/netlabs/dsmpp/DataCodingScheme;ZI[BII)V
179: aastore
180: aload 5
182: iload 6
184: aaload
185: new #21; //class uy/com/netlabs/dsmpp/FragmentInfo
188: dup
189: iload 4
191: iload 6
193: aload 5
195: arraylength
196: invokespecial #22; //Method uy/com/netlabs/dsmpp/FragmentInfo."<init>":(III)V
199: invokevirtual #23; //Method uy/com/netlabs/dsmpp/sms/Sms.setFragmentInfo:(Luy/com/netlabs/dsmpp/FragmentInfo;)V
202: iinc 6, 1
205: goto 104
208: aload 5
210: areturn
public boolean isSupported(uy.com.netlabs.dsmpp.Message);
Code:
0: ldc_w #9; //class uy/com/netlabs/dsmpp/sms/Sms
3: aload_1
4: invokevirtual #24; //Method java/lang/Class.isInstance:(Ljava/lang/Object;)Z
7: ireturn
static {};
Code:
0: ldc_w #25; //class uy/com/netlabs/dsmpp/output/fragmentation/SMPPFragmentationStrategy
3: invokevirtual #26; //Method java/lang/Class.desiredAssertionStatus:()Z
6: ifne 13
9: iconst_1
10: goto 14
13: iconst_0
14: putstatic #4; //Field $assertionsDisabled:Z
17: new #27; //class java/util/concurrent/atomic/AtomicInteger
20: dup
21: iconst_0
22: invokespecial #28; //Method java/util/concurrent/atomic/AtomicInteger."<init>":(I)V
25: putstatic #14; //Field sequence:Ljava/util/concurrent/atomic/AtomicInteger;
28: return
}
begin:vcard
fn:Santiago Aguiar
n:Aguiar;Santiago
org:;Desarrollo
adr:;;Palmar 2548;Montevideo;Montevideo;11600;Uruguay
email;internet:saguiar@xxxxxxxxxxxxxx
title:NetLabs
tel;work:+598 2 7077687
tel;fax:+598 2 7094866
tel;home:+598 2 7075079
tel;cell:+598 99 579739
x-mozilla-html:TRUE
url:http://www.netlabs.com.uy/
version:2.1
end:vcard