Bug 43033 - Compiler crash in ajc head (post 1.1.1 rc1) on erroneous program
Summary: Compiler crash in ajc head (post 1.1.1 rc1) on erroneous program
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.1.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.1.1   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-12 13:34 EDT by Ron Bodkin CLA
Modified: 2012-04-03 16:06 EDT (History)
0 users

See Also:


Attachments
Minor fix to avoid the NPE (1.30 KB, patch)
2003-09-18 11:59 EDT, Andrew Clement CLA
aclement: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2003-09-12 13:34:02 EDT
This must be caused by the fix to concretization...

Input sources:
package base;

public abstract aspect ExceptionHandling {
    public abstract pointcut scope();
    declare soft: Exception: scope();
}

package model;

import base.ExceptionHandling;

public aspect ModelExceptionHandling extends ExceptionHandling {
    public pointcut scope() : within(*);

    protected RuntimeException convertCheckedException(Throwable t) {
        return new RuntimeException(t.getMessage(), t
}

Compiler output:
C:\eclipse\workspace\atrack>ajc -d debug @narrow.lst
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)
C:\eclipse\workspace\atrack\src\org\atrack\model\error\impl\ModelExceptionHandl
i
ng.java:0 Internal compiler error
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)


!! no source information available !!
C:\eclipse\workspace\atrack\src\org\atrack\model\error\impl\ModelExceptionHandl
i
ng.java:23 Unmatched bracket
return new RuntimeException(t.getMessage(), t
                           ^
ABORT
Exception thrown from AspectJ DEVELOPMENT

This might be logged as a bug already -- find current bugs at
  http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler

Bugs for exceptions thrown have titles File:line from the top stack,
e.g., "SomeFile.java:243"

If you don't find the exception below in a bug, please add a new bug
at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
To make the bug a priority, please include a test program
that can reproduce this exception.
null
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)


1 fail|abort, 2 errors

C:\eclipse\workspace\atrack>cd \devel\test\excHandling\c1

C:\devel\test\excHandling\c1>ajc base\ExceptionHandling.java 
model\ModelExceptio
nHandling.java
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)
C:\devel\test\excHandling\c1\model\ModelExceptionHandling.java:0 Internal 
compil
er error
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)


!! no source information available !!
C:\devel\test\excHandling\c1\model\ModelExceptionHandling.java:9 Unmatched 
brack
et
return new RuntimeException(t.getMessage(), t
                           ^
ABORT
Exception thrown from AspectJ DEVELOPMENT

This might be logged as a bug already -- find current bugs at
  http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler

Bugs for exceptions thrown have titles File:line from the top stack,
e.g., "SomeFile.java:243"

If you don't find the exception below in a bug, please add a new bug
at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
To make the bug a priority, please include a test program
that can reproduce this exception.
null
java.lang.NullPointerException
        at org.aspectj.weaver.patterns.ReferencePointcut.concretize1
(ReferencePo
intcut.java:243)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:127)
        at org.aspectj.weaver.patterns.Pointcut.concretize(Pointcut.java:110)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclare
(CrosscuttingMembers
.java:111)
        at org.aspectj.weaver.CrosscuttingMembers.addDeclares
(CrosscuttingMember
s.java:92)
        at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers
(ResolvedT
ypeX.java:332)
        at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect
(Crosscut
tingMembersSet.java:50)
        at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.buildInterTy
peAndPerClause(AspectDeclaration.java:754)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.buildIn
terTypeAndPerClause(AjLookupEnvironment.java:124)
        at 
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.complet
eTypeBindings(AjLookupEnvironment.java:91)
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile
(Compiler.ja
va:310)
        at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:324)

        at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat
ion(AjBuildManager.java:373)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuild
Manager.java:125)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild
(AjBu
ildManager.java:70)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:99)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53)
        at org.aspectj.tools.ajc.Main.run(Main.java:217)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:155)
        at org.aspectj.tools.ajc.Main.main(Main.java:72)


1 fail|abort, 2 errors
Comment 1 Andrew Clement CLA 2003-09-18 11:59:39 EDT
Created attachment 6145 [details]
Minor fix to avoid the NPE
Comment 2 Jim Hugunin CLA 2003-09-18 12:34:21 EDT
Andy seems to be on top of this one.
Comment 3 Andrew Clement CLA 2003-09-18 16:53:10 EDT
I've sent the test suite changes direct to Adrian to integrate.  They consist 
of the programs Ron provided.

- Andy.
Comment 4 Adrian Colyer CLA 2003-09-19 03:48:06 EDT
Fixed by patch and test cases contributed by Andy Clement.