[Bug 49] New: Synchronized code crashes abc -dava

From: <abc-bugs@comlab.ox.ac.uk>
Date: Fri Apr 22 2005 - 15:02:25 BST

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

           Summary: Synchronized code crashes abc -dava
           Product: abc
           Version: 1.0.2
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: AspectJ compiler
        AssignedTo: abc-bugs@comlab.ox.ac.uk
        ReportedBy: tonella@itc.it

Consider the following sample code:

public class A implements Runnable {
  private volatile boolean init = false;
  public void run() {
    synchronized(this) {
      while (!init) {
        try { wait(); } catch(InterruptedException ie) {}
      }
    }
  }
}

When I run:

abc A.java

everything works fine, but when I run:

abc -dava A.java

the error below is produced and an empty A.java file is generated inside dava/src.

Error message:

Exception in thread "main" polyglot.util.InternalCompilerError: unhandled
exception during compilation
        at abc.main.Main.run(Main.java:568)
        at abc.main.Main.main(Main.java:196)
Caused by: java.lang.NullPointerException
        at soot.AbstractUnitPrinter.local(AbstractUnitPrinter.java:74)
        at soot.dava.internal.AST.ASTTryNode.toString(ASTTryNode.java:172)
        at soot.dava.internal.AST.ASTNode.body_toString(ASTNode.java:45)
        at
soot.dava.internal.AST.ASTUnconditionalLoopNode.toString(ASTUnconditionalLoopNode.java:56)
        at soot.dava.internal.AST.ASTNode.body_toString(ASTNode.java:45)
        at soot.dava.internal.AST.ASTTryNode.toString(ASTTryNode.java:180)
        at soot.dava.internal.AST.ASTNode.body_toString(ASTNode.java:45)
        at
soot.dava.internal.AST.ASTUnconditionalLoopNode.toString(ASTUnconditionalLoopNode.java:56)
        at soot.dava.internal.AST.ASTNode.body_toString(ASTNode.java:45)
        at soot.dava.internal.AST.ASTMethodNode.toString(ASTMethodNode.java:49)
        at soot.dava.DavaPrinter.printStatementsInBody(DavaPrinter.java:151)
        at soot.dava.DavaPrinter.printTo(DavaPrinter.java:375)
        at soot.dava.DavaPrinter.printTo(DavaPrinter.java:333)
        at soot.PackManager.postProcessDAVA(PackManager.java:450)
        at soot.PackManager.writeOutput(PackManager.java:334)
        at abc.main.Main.output(Main.java:952)
        at abc.main.Main.run(Main.java:515)
        ... 1 more

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
Received on Fri Apr 22 15:02:30 2005

This archive was generated by hypermail 2.1.8 : Sat Apr 23 2005 - 02:50:05 BST