Bug 169600 - NPE in ResolvedType.collectInterTypeMungers
Summary: NPE in ResolvedType.collectInterTypeMungers
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 1.6.0   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-04 17:26 EST by Dustin Sallings CLA
Modified: 2008-03-20 21:45 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dustin Sallings CLA 2007-01-04 17:26:34 EST
Sorry, no test code.  This occurs whenever I save any file in this project after it gets into a broken state.

Seems to center around a test case that, as far as I can tell does not have any aspects applied.  If I do not change this test class things go well.

[from the Problems tab]

Severity and Description	Path	Resource	Location	Creation Time	Id
Internal compiler error
java.lang.NullPointerException
	at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)
	at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)
	at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1135)
	at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1202)
	at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:643)
	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.Scope.findMemberType(Scope.java:928)
	at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding(BlockScope.java:449)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType(QualifiedNameReference.java:903)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:326)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:326)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:829)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:422)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:178)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:400)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1088)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1137)
	at org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:305)
	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:519)
	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)
	teneros-noc-ui/src/test/com/teneros/noc/ui/server	ConvertersTestCase.java	Unknown	1167948750140	112503

[from the bug popup window]

java.lang.NullPointerException
at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)
at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)
at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1135)
at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1202)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInt ... Adapter.java:102)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

NullPointerException thrown: null
Comment 1 Andrew Clement CLA 2007-01-10 06:57:19 EST
can you at least describe your type hierarchy?  what ITDs are being made?  And what is the hierarchy for the type being affected by the ITDs? are you using generics? 
Comment 2 Peter Koch CLA 2007-01-29 08:52:39 EST
We see the same exception on Windows (AJDT 1.4.1, AspectJ 1.5.3). We use generics.
Comment 3 Keith Kowalczykowski CLA 2007-02-05 18:03:45 EST
For us, this error occurs once we are in a broken state from bug 169605.
Comment 4 Eclipse Webmaster CLA 2007-07-29 09:21:24 EDT
Changing OS from Mac OS to Mac OS X as per bug 185991
Comment 5 Andrew Clement CLA 2008-03-20 21:45:23 EDT
put in a guard for the NPE that produces more detailed diagnostics when this situation occurs - that's all i plan to do right now (so the NPE can no longer happen).  hopefully next time this situation happens I'll learn more about the problematic type hierarchy.