[Bug 82] New: Internal Compiler Error

From: <abc-bugs@comlab.ox.ac.uk>
Date: Wed Jan 31 2007 - 01:38:02 GMT

http://abc.comlab.ox.ac.uk/cgi-bin/bugzilla/show_bug.cgi?id=82

           Summary: Internal Compiler Error
           Product: abc
           Version: 1.2.1
          Platform: PC
        OS/Version: Windows 2000
            Status: NEW
          Severity: major
          Priority: P2
         Component: AspectJ compiler
        AssignedTo: abc-bugs@comlab.ox.ac.uk
        ReportedBy: jan.rupar@gmail.com

Compilation of an aspect into a java base causes the following dump:

D:\sabs\local\benchmarks\proguard3.7\src>abc -O1 -argfile src.txt
Exception in thread "main" polyglot.util.InternalCompilerError: Exception while
processing <proguard.obfuscate.Utf8UsageMarker: void visitConstantElementValue(p
roguard.classfile.ClassFile,proguard.classfile.attribute.annotation.Annotation,p
roguard.classfile.attribute.annotation.ConstantElementValue)>
        at abc.main.Main.weave(Main.java:992)
        at abc.main.Main.run(Main.java:538)
        at abc.main.Main.main(Main.java:210)
Caused by: java.lang.ClassCastException: java.lang.Character
        at soot.javaToJimple.JimpleBodyBuilder.getConstant(JimpleBodyBuilder.jav
a:2719)
        at soot.javaToJimple.JimpleBodyBuilder.createConstant(JimpleBodyBuilder.
java:2039)
        at soot.javaToJimple.JimpleBodyBuilder.createAggressiveExpr(JimpleBodyBu
ilder.java:2112)
        at soot.javaToJimple.AccessFieldJBB.createAggressiveExpr(AccessFieldJBB.
java:182)
        at soot.javaToJimple.JimpleBodyBuilder.getBinaryLocal2(JimpleBodyBuilder
.java:3098)
        at soot.javaToJimple.JimpleBodyBuilder.createAggressiveExpr(JimpleBodyBu
ilder.java:2124)
        at soot.javaToJimple.AccessFieldJBB.createAggressiveExpr(AccessFieldJBB.
java:182)
        at soot.javaToJimple.JimpleBodyBuilder.createBranchingExpr(JimpleBodyBui
lder.java:754)
        at soot.javaToJimple.JimpleBodyBuilder.createIf2(JimpleBodyBuilder.java:
699)
        at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java
:556)
        at soot.javaToJimple.JimpleBodyBuilder.createBlock(JimpleBodyBuilder.jav
a:347)
        at soot.javaToJimple.JimpleBodyBuilder.createJimpleBody(JimpleBodyBuilde
r.java:137)
        at soot.javaToJimple.AbstractJimpleBodyBuilder.createJimpleBody(Abstract
JimpleBodyBuilder.java:54)
        at soot.javaToJimple.PolyglotMethodSource.getBody(PolyglotMethodSource.j
ava:51)
        at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
        at soot.SootMethod.retrieveActiveBody(SootMethod.java:328)
        at abc.main.Main.weave(Main.java:988)
        ... 2 more

to reproduce:

1. download ProGuard v3.7 from http://proguard.sourceforge.net/

2. unpack and add the file ObfuscateStats.aj to the src/proguard folder

package proguard;

public aspect ObfuscateStats {
        pointcut log(): call (* *.obfuscate(..));

        before(): log() {
                System.out.println("Entering obs");
        }
        
        after() returning: log() {
                System.out.println("Exiting Obs");
        }
}

3. from a command prompt in the src directory, create sourcelist with "dir /s /b
*.java *.aj > src.txt"

4. edit src.txt and remove any lines that refer to files with the ant directory
or the wtk directory

5. again from the src directory, execute "abc -argfile src.txt"

The same steps copleted successfully when using ajc 1.5.3

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
Received on Wed Jan 31 01:38:04 2007

This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:50 GMT