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