NullPointerException During Compile

24 views
Skip to first unread message

Brian Cabana

unread,
Jul 7, 2011, 10:30:54 AM7/7/11
to Google Web Toolkit
Hi members,

I recently upgraded to GWT 2.3.0 and recompiled my projects in
Eclipse. On one project I got the following error and stack:

[ERROR] An internal compiler exception occurred
com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error
during visit.
at
com.google.gwt.dev.js.ast.JsVisitor.translateException(JsVisitor.java:
459)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:445)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at
com.google.gwt.dev.js.ast.JsConditional.traverse(JsConditional.java:
87)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at
com.google.gwt.dev.js.ast.JsBinaryOperation.traverse(JsBinaryOperation.java:
114)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at com.google.gwt.dev.js.ast.JsReturn.traverse(JsReturn.java:47)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$ListContext.traverse(JsModVisitor.java:75)
at
com.google.gwt.dev.js.ast.JsModVisitor.doAcceptWithInsertRemove(JsModVisitor.java:
188)
at
com.google.gwt.dev.js.ast.JsVisitor.acceptWithInsertRemove(JsVisitor.java:
110)
at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:44)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at com.google.gwt.dev.js.ast.JsFunction.traverse(JsFunction.java:179)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at com.google.gwt.dev.js.ast.JsExprStmt.traverse(JsExprStmt.java:38)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$ListContext.traverse(JsModVisitor.java:75)
at
com.google.gwt.dev.js.ast.JsModVisitor.doAcceptWithInsertRemove(JsModVisitor.java:
188)
at
com.google.gwt.dev.js.ast.JsVisitor.acceptWithInsertRemove(JsVisitor.java:
110)
at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:44)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at
com.google.gwt.dev.js.ast.JsProgramFragment.traverse(JsProgramFragment.java:
37)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at com.google.gwt.dev.js.ast.JsProgram.traverse(JsProgram.java:128)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
at com.google.gwt.dev.js.ast.JsModVisitor
$NodeContext.traverse(JsModVisitor.java:141)
at com.google.gwt.dev.js.ast.JsModVisitor.doAccept(JsModVisitor.java:
166)
at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:97)
at com.google.gwt.dev.js.JsInliner.execImpl(JsInliner.java:1683)
at com.google.gwt.dev.js.JsInliner.exec(JsInliner.java:1625)
at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.optimizeJs(JavaToJavaScriptCompiler.java:
743)
at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:
323)
at
com.google.gwt.dev.jjs.UnifiedAst.compilePermutation(UnifiedAst.java:
136)
at com.google.gwt.dev.CompilePerms.compile(CompilePerms.java:192)
at com.google.gwt.dev.ThreadedPermutationWorkerFactory
$ThreadedPermutationWorker.compile(ThreadedPermutationWorkerFactory.java:
49)
at com.google.gwt.dev.PermutationWorkerFactory$Manager
$WorkerThread.run(PermutationWorkerFactory.java:73)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at com.google.gwt.dev.js.JsInliner
$InliningVisitor.endVisit(JsInliner.java:922)
at com.google.gwt.dev.js.ast.JsInvocation.traverse(JsInvocation.java:
68)
at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:443)
... 57 more
[ERROR] at Unknown(0): $getCategory(maybeJsoInvocation)
com.google.gwt.dev.js.ast.JsInvocation
[ERROR] at Unknown(0): maybeJsoInvocation.typeMarker$ ==
nullMethod || maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation)
com.google.gwt.dev.js.ast.JsConditional
[ERROR] at Unknown(0): maybeJsoInvocation = this$static ,
maybeJsoInvocation.typeMarker$ == nullMethod ||
maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation)
com.google.gwt.dev.js.ast.JsBinaryOperation
[ERROR] at Unknown(0): return maybeJsoInvocation = this
$static , maybeJsoInvocation.typeMarker$ == nullMethod ||
maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation)
com.google.gwt.dev.js.ast.JsReturn
[ERROR] at Unknown(0): {
var maybeJsoInvocation;
return maybeJsoInvocation = this$static ,
maybeJsoInvocation.typeMarker$ == nullMethod ||
maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation);
}

com.google.gwt.dev.js.ast.JsBlock
[ERROR] at Unknown(0): function getCategory__devirtual$(this
$static){
var maybeJsoInvocation;
return maybeJsoInvocation = this$static ,
maybeJsoInvocation.typeMarker$ == nullMethod ||
maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation);
}

com.google.gwt.dev.js.ast.JsFunction
[ERROR] at Unknown(0): function getCategory__devirtual$(this
$static){
var maybeJsoInvocation;
return maybeJsoInvocation = this$static ,
maybeJsoInvocation.typeMarker$ == nullMethod ||
maybeJsoInvocation.castableTypeMap$ && !!
maybeJsoInvocation.castableTypeMap$[1]?
maybeJsoInvocation.getCategory():$getCategory(maybeJsoInvocation);
}

com.google.gwt.dev.js.ast.JsExprStmt
[ERROR] at com.google.gwt.dev.js.ast.JsProgram(0): var _,
N8000000000000000_longLit = {l:0, m:0, h:524288}, N81_longLit = {l:
4194175, m:4194303, h:1048575}, Na_longLit = {l:4194294, m:4194303, h:
1048575}, N1_longLit = {l:4194303, m:4194303, h:1048575}, P0_longLit =
{l:0, m:0, h:0}, P5_longLit = {l:5, m:0, h:0}, P80_longLit = {l:128, m:
0, h:0}, Pfa_longLit = {l:250, m:0, h:0}, P3e8_longLit = {l:1000, m:0,
h:0}, P2ee0_longLit = {l:12000, m:0, h:0}, P240c8400_longLit = {l:
820224, m:144, h:0}, P7fffffffffffffff_longLit = {l:4194303, m:
4194303, h:524287};
function nullMethod(){
}

function $equals(this$static, other){
return this$static === other;
}

function $hashCode(this$static){
return this$static.$H || (this$static.$H = ++sNextHashId);
}

[...]

com.google.gwt.dev.js.ast.JsGlobalBlock
[ERROR] at com.google.gwt.dev.js.ast.JsProgram(0):
<JsProgramFragment>
com.google.gwt.dev.js.ast.JsProgramFragment
[ERROR] at com.google.gwt.dev.js.ast.JsProgram(0):
<JsProgram>
com.google.gwt.dev.js.ast.JsProgram
[ERROR] Unrecoverable exception, shutting down
com.google.gwt.core.ext.UnableToCompleteException: (see previous log
entries)
at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.logAndTranslateException(JavaToJavaScriptCompiler.java:
1149)
at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:
460)
at
com.google.gwt.dev.jjs.UnifiedAst.compilePermutation(UnifiedAst.java:
136)
at com.google.gwt.dev.CompilePerms.compile(CompilePerms.java:192)
at com.google.gwt.dev.ThreadedPermutationWorkerFactory
$ThreadedPermutationWorker.compile(ThreadedPermutationWorkerFactory.java:
49)
at com.google.gwt.dev.PermutationWorkerFactory$Manager
$WorkerThread.run(PermutationWorkerFactory.java:73)
at java.lang.Thread.run(Thread.java:662)


I am at a loss as two whether it is a bug in the compiler or some
change in the way the compiler works that breaks my code. If it is
caused by an incompatibility in my code, how can I track it down from
the stack?
Any help would be appreciated.

Brian

Maxwell

unread,
Jul 27, 2011, 3:00:02 AM7/27/11
to Google Web Toolkit
I' had exactly the same error. I seems Google has changed the behavior
of the compiler.
In my case I used the visitor pattern; removing it the project
compiles correctly.

I suggest you to get the sources of the gwt-dev packages and debug the
compiling process.
Reply all
Reply to author
Forward
0 new messages