Bug 165787 - ResolvedType.java:695 ArrayIndexOutOfBoundsException, crash when refreshing externally modified file
Summary: ResolvedType.java:695 ArrayIndexOutOfBoundsException, crash when refreshing e...
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.3RC1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 1.6.2   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-24 10:09 EST by aqualoom CLA
Modified: 2008-09-30 15:37 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aqualoom CLA 2006-11-24 10:09:32 EST
I get this exception in my project when using refresh after some files were changed externally.
Afterwards I keep getting those errors until I restart eclipse,

I have not tried it in other projects. I had AJDT 1.4.0 before, and I believe it worked there.

Backtrace is:
java.lang.ArrayIndexOutOfBoundsException
at org.aspectj.weaver.ResolvedType.getMemberParameterizationMap(ResolvedType.java:695)
at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:406)
at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:65)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:352)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
at o ... .java:102)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

ArrayIndexOutOfBoundsException thrown: 0

Regards Ben
Comment 1 Matt Chapman CLA 2006-11-27 11:55:29 EST
Passing over to compiler
Comment 2 Jeremy Chone CLA 2006-12-29 23:02:42 EST
I think I have a similar bug: 
System: eclipse 3.2.1
ADJT: 1.4.1

Once in a while, if I edit a java file (from eclipse) that "use an Aspect modified object", I get the error below. It used to work with AJDT 1.4.0. If I clean the project and rebuild all, and then I am fine.  

--- error display in the "error alert dialog box" ---
java.lang.NullPointerException
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:281)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
at org.aspectj.weaver.ResolvedType.isTopmostImplementor(ResolvedType.java:1729)
at org.aspectj.weaver.ResolvedTypeMunger.matches(ResolvedTypeMunger.java:113)
at org.aspectj.weav ... pter.java:102)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

NullPointerException thrown: null
--------

---- Error displayed in the "Problems View" ---
Severity and Description	Path	Resource	Location	Creation Time	Id
Internal compiler error
java.lang.NullPointerException
	at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:281)
	at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
	at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
	at org.aspectj.weaver.ResolvedType.isTopmostImplementor(ResolvedType.java:1729)
	at org.aspectj.weaver.ResolvedTypeMunger.matches(ResolvedTypeMunger.java:113)
	at org.aspectj.weaver.ConcreteTypeMunger.matches(ConcreteTypeMunger.java:65)
	at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:630)
	at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:519)
	at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.createBinaryTypeFrom(AjLookupEnvironment.java:1060)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:480)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:190)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:111)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:43)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:53)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getMemberType(BinaryTypeBinding.java:618)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:444)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:466)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports(CompilationUnitScope.java:331)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:400)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:512)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:906)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:289)
	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:183)
	at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:102)
	at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)
	path/to/my/javafile.java	Unknown	1167449947140	428040

----
Comment 3 Andrew Clement CLA 2007-11-06 11:02:50 EST
The bug relating to getMemberParameterizationMap() is believed fixed in the dev builds (see bug 175039).  The bug reported in comment 2 looks to be a different thing.
Comment 4 Andrew Clement CLA 2008-09-30 15:37:57 EDT
Unable to recreate the comment 2 issue:

java.lang.NullPointerException
        at
org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:281)
        at
org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
        at
org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:353)
        at
org.aspectj.weaver.ResolvedType.isTopmostImplementor(ResolvedType.java:1729)
        at
org.aspectj.weaver.ResolvedTypeMunger.matches(ResolvedTypeMunger.java:113)

and the releases with which it was happening are quite old now.  Please let me know if is still a problem but I'm closing this as the primary reason it was raised (parameterization map problem) has been fixed.