google / google/closure-compiler

Internal Compiler Error - Unexpected variable

Open
#811 12 comments 0 reactions 0 assignees View on GitHub
bug P3
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

I have a JS project with much automatically generated code. It's working since many versions of my code and of closure compiler, but now I get an 'Internal Compiler Error' (in Line 741, see the end of this post).

The JS code defines many global string constants, and one of it, called $_$, seems to trigger the issue. Curiously the same string constant is used several times above line 741 without errors.

``` javascript
...
var $_$ = "";
...
function fnSetupGenRealtimeReference()
{
fnSetupGenGroupBegin($_$); // Line 741
...
}
```

(How can I attach the complete JS code to this issue?)

I'm using this compiler: http://dl.google.com/closure-compiler/compiler-20150126.zip. When I go back to this version, the code compiles again without errors: http://dl.google.com/closure-compiler/compiler-20140110.zip. All newer releases I found in the wiki at https://github.com/google/closure-compiler/wiki/Binary-Downloads show the same internal compiler error.

Here is the compiler-20150126's console output:

``` code
>java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js setup_10.js --js_output_file setup.js
java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.

Unexpected variable $_$
Node(NAME $_$): setup\generated\setup_10.js:741:22
fnSetupGenGroupBegin($_$);
Parent(CALL): setup\generated\setup_10.js:741:1
fnSetupGenGroupBegin($_$);

at com.google.javascript.jscomp.VarCheck.visit(VarCheck.java:198)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:588)
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.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.traverseRoots(NodeTraversal.java:318)
at com.google.javascript.jscomp.VarCheck.process(VarCheck.java:140)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:285)
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(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Unexpected variable $_$
... 23 more
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.