Menu

#73 crash in generating pre-IR

open
CAst (9)
5
2012-12-05
2011-05-09
No

Try calling com.ibm.wala.cast.js.test.Util.makeHTMLCG(URL) for the file testcase/youtube/index.html in the test case at http://dl.dropbox.com/u/5134541/testcase.tgz (too big to attach). I get the following (partial) stack trace:

java.lang.AssertionError
at com.ibm.wala.cast.ir.translator.AstTranslator.leaveDeclStmt(AstTranslator.java:3113)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visit(CAstVisitor.java:529)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitChildren(CAstVisitor.java:375)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitAllChildren(CAstVisitor.java:383)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visit(CAstVisitor.java:423)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitChildren(CAstVisitor.java:375)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitAllChildren(CAstVisitor.java:383)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visit(CAstVisitor.java:431)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitChildren(CAstVisitor.java:375)
at com.ibm.wala.cast.tree.visit.CAstVisitor.visitAllChildren(CAstVisitor.java:383)

The assertion checks that a symbol is not final. It looks like code duplicated in a finally block has a final symbol, and hence when it is processed twice, it is already in the symbol table the second time and trips the assertion.

Discussion

MongoDB Logo MongoDB