Bug 226209 - promotion of Array to a reference type causes these serious problems:
Summary: promotion of Array to a reference type causes these serious problems:
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows Vista
: P1 critical (vote)
Target Milestone: 1.6.0 RC1   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 226604 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-04-08 17:53 EDT by Andrew Clement CLA
Modified: 2008-04-11 12:20 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 Andrew Clement CLA 2008-04-08 17:53:56 EDT
Exception 1
-------------

java.lang.NullPointerException
	at org.aspectj.weaver.ArrayReferenceType.getTypeVariables(ArrayReferenceType.java:112)
	at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.fixUpCircularDependencies(BcelGenericSignatureToTypeXConverter.java:257)
	at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.typeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:203)
	at org.aspectj.weaver.bcel.BcelMethod.unpackGenericSignature(BcelMethod.java:475)
	at org.aspectj.weaver.bcel.BcelMethod.evictWeavingState(BcelMethod.java:497)
	at org.aspectj.weaver.bcel.BcelObjectType.evictWeavingState(BcelObjectType.java:795)
	at org.aspectj.weaver.bcel.BcelObjectType.weavingCompleted(BcelObjectType.java:806)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1397)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1206)
	at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:383)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:270)
	at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:78)
	at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)





Exception 2
--------------

java.lang.StackOverflowError
	at java.util.WeakHashMap.expungeStaleEntries(WeakHashMap.java:269)
	at java.util.WeakHashMap.getTable(WeakHashMap.java:297)
	at java.util.WeakHashMap.get(WeakHashMap.java:341)
	at java.util.Collections$SynchronizedMap.get(Collections.java:1979)
	at org.aspectj.weaver.World$TypeMap.get(World.java:976)
	at org.aspectj.weaver.World.resolve(World.java:257)
	at org.aspectj.weaver.World.resolve(World.java:198)
	at org.aspectj.weaver.UnresolvedType.resolve(UnresolvedType.java:662)
	at org.aspectj.weaver.ReferenceType.getRawType(ReferenceType.java:555)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:927)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:930)
	at org.aspectj.weaver.ResolvedMemberImpl.appendSigWithTypeVarBoundsRemoved(ResolvedMemberImpl.java:924)
Comment 1 Andrew Clement CLA 2008-04-10 19:06:50 EDT
*** Bug 226604 has been marked as a duplicate of this bug. ***
Comment 2 Andrew Clement CLA 2008-04-10 19:39:13 EDT
fixes for both problems committed and have been tested by the person who was encountering them - I still don't have a small testcase to demonstrate them.
Comment 3 Andrew Clement CLA 2008-04-11 00:53:45 EDT
fixes are in latest AspectJ dev builds and AJDT 3.3 dev builds
Comment 4 Michael Huffman CLA 2008-04-11 10:44:30 EDT
The latest AJDT build uses AspectJ 1.6.0.20081300000000 while the latest dev for AspectJ is 1.6.0.20080409221344. Will I need to manually install the latest dev version of AspectJ into the AJDT by hand to see this fixed in my Eclipse environment?
Comment 5 Andrew Clement CLA 2008-04-11 11:51:52 EDT
Nope, the latest AJDT includes the latest dev build of AspectJ. Ignore the dates, they went screwy during dev builds of AJDT and now I am stuck with increasing that 200813 number in the dev releases to ensure it can override what you already have installed.  Dates will come back into line when AJDT 1.5.2 final is shipped.
Comment 6 Andrew Clement CLA 2008-04-11 12:11:01 EDT
actually, that's not entirely true - the latest AJDT build includes AspectJ stamped 20081300000002, not 20081300000000.  And that 00002 version matches yesterdays dev build download of AJ.
Comment 7 Michael Huffman CLA 2008-04-11 12:14:43 EDT
I guess I was a version behind when I downloaded this morning. I'll give that a try. Thanks for the quick response.
Comment 8 Michael Huffman CLA 2008-04-11 12:20:07 EDT
I can confirm that this has been fixed.