Wednesday, July 27, 2011

Re: NullPointerException During Compile

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.

On Jul 7, 4:30 pm, Brian Cabana <b.k.cab...@gmail.com> wrote:
> 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

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment