Skip to main content

[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


Back to the top