Bug 436531 - NPE MethodParameters.dump
Summary: NPE MethodParameters.dump
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: 1.8.1   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-03 23:38 EDT by Sergey Peretyatko CLA
Modified: 2014-06-17 18:07 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Peretyatko CLA 2014-06-03 23:38:03 EDT
java.lang.NullPointerException
	at org.aspectj.apache.bcel.classfile.MethodParameters.dump(MethodParameters.java:65)
	at org.aspectj.apache.bcel.classfile.AttributeUtils.writeAttributes(AttributeUtils.java:34)
	at org.aspectj.apache.bcel.classfile.FieldOrMethod.dump(FieldOrMethod.java:119)
	at org.aspectj.apache.bcel.classfile.JavaClass.dump(JavaClass.java:274)
	at org.aspectj.apache.bcel.classfile.JavaClass.getBytes(JavaClass.java:227)
	at org.aspectj.weaver.bcel.LazyClassGen.getJavaClassBytesIncludingReweavable(LazyClassGen.java:697)
	at org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor(BcelWeaver.java:1440)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1402)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184)
	at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363)
	at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121)
	at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
	at java.lang.ClassLoader.defineClass1(Native Method)
Comment 1 Andrew Clement CLA 2014-06-17 18:07:21 EDT
This is due to a bug in the new MethodParameters attribute (new with java8) that wasn't handling the case when it is not unpacked during weaving but instead just read as a bunch of bytes then re-written as a bunch of bytes.