INTERNAL COMPILER ERROR with 0.0-3126 advanced compilation

85 views
Skip to first unread message

Yehonathan Sharvit

unread,
Mar 25, 2015, 1:10:32 PM3/25/15
to clojur...@googlegroups.com
Applying optimizations :advanced
Compiling "public/clojurescript/prod/main.min.js" failed.
java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.

null
Node(BLOCK): /controller_run_test.js:643:80
return (function $test$controller_run_test$on_scope_render_change($scope,_){
Parent(FUNCTION ): controller_run_test.js:643:8
return (function audyx$test$controller_run_test$on_scope_render_change($scope,_){

at com.google.javascript.jscomp.NodeUtil.isNameDeclaration(NodeUtil.java:1845)
at com.google.javascript.jscomp.ReferenceCollectingCallback$Reference.isDeclarationHelper(ReferenceCollectingCallback.java:652)
at com.google.javascript.jscomp.ReferenceCollectingCallback$Reference.isDeclaration(ReferenceCollectingCallback.java:641)
at com.google.javascript.jscomp.ReferenceCollectingCallback$Reference.isInitializingDeclaration(ReferenceCollectingCallback.java:692)
at com.google.javascript.jscomp.ReferenceCollectingCallback$ReferenceCollection.getOneAndOnlyAssignment(ReferenceCollectingCallback.java:543)
at com.google.javascript.jscomp.ReferenceCollectingCallback$ReferenceCollection.isAssignedOnceInLifetime(ReferenceCollectingCallback.java:513)
at com.google.javascript.jscomp.InlineVariables$InliningBehavior.collectAliasCandidates(InlineVariables.java:179)
at com.google.javascript.jscomp.InlineVariables$InliningBehavior.afterExitScope(InlineVariables.java:159)
at com.google.javascript.jscomp.ReferenceCollectingCallback.exitScope(ReferenceCollectingCallback.java:253)
at com.google.javascript.jscomp.NodeTraversal.popScope(NodeTraversal.java:689)
at com.google.javascript.jscomp.NodeTraversal.popScope(NodeTraversal.java:680)
at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:624)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:574)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:622)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:574)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:582)
at com.google.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:318)
at com.google.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:549)
at com.google.javascript.jscomp.ReferenceCollectingCallback.process(ReferenceCollectingCallback.java:117)
at com.google.javascript.jscomp.InlineVariables.process(InlineVariables.java:86)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:285)
at com.google.javascript.jscomp.PhaseOptimizer$Loop.process(PhaseOptimizer.java:453)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:217)
at com.google.javascript.jscomp.Compiler.optimize(Compiler.java:1972)
at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:765)
at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:96)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:657)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:654)
at com.google.javascript.jscomp.Compiler$4.call(Compiler.java:701)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
... 39 more

David Nolen

unread,
Mar 25, 2015, 1:30:48 PM3/25/15
to clojur...@googlegroups.com
Looks like a Closure Compiler issue, you probably need to report this elsewhere.
--
Note that posts from new members are moderated - please be patient with your first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojurescrip...@googlegroups.com.
To post to this group, send email to clojur...@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Yehonathan Sharvit

unread,
Mar 25, 2015, 1:32:58 PM3/25/15
to clojur...@googlegroups.com
It didn't happen in earlier versions of cljs.



You received this message because you are subscribed to a topic in the Google Groups "ClojureScript" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojurescript/L_I_BXZrAK4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojurescrip...@googlegroups.com.

David Nolen

unread,
Mar 25, 2015, 2:21:07 PM3/25/15
to clojur...@googlegroups.com
We periodically upgrade the Closure Compiler and it's not feasible for us to test the world. If you don't take the time to deliver a minimal reproducer there's not much we can do. Google Closure Compiler is a normal dependency like anything else and we avoid relying on internal details as much as possible. Downgrade if you must using whatever dependency management tool you are currently leveraging.

David

David Nolen

unread,
Mar 25, 2015, 10:52:35 PM3/25/15
to clojur...@googlegroups.com
FWIW, I see there are several similar looking reports on the Google Closure Compiler GitHub issues:


David

On Wed, Mar 25, 2015 at 1:32 PM, Yehonathan Sharvit <vie...@gmail.com> wrote:

Yehonathan Sharvit

unread,
Mar 26, 2015, 3:49:50 AM3/26/15
to clojur...@googlegroups.com
Thanks David.

Their advice is to "to turn on --jscomp_error=checkVars in which case you should get a clear error instead of a crash".

How do I turn on this flag from my project.clj?

David Nolen

unread,
Mar 26, 2015, 6:49:57 AM3/26/15
to clojur...@googlegroups.com
Closure Compiler warning options are enumerated here: https://github.com/clojure/clojurescript/wiki/Compiler-Options#closure-warnings

:check-variables is exposed.

However I would surprised if this works since the stacktrace is not the same.

As I said before you'll probably have more luck if you take the time isolate the actual issue and report it to the Closure Compiler project. It may turn out that it's avoidable by doing something slightly different in ClojureScript code emission.

HTH,
David

Jonathon McKitrick

unread,
Mar 26, 2015, 8:25:17 AM3/26/15
to clojur...@googlegroups.com
I was about to submit an error report myself on a different issue, after I got all the detail together. I get a client-side error in generated code when using whitespace optimization.

I'll try to get some details together today.
Reply all
Reply to author
Forward
0 new messages