JS-SONAR: StackOverflowError when parsing a file from parse5 lib

195 views
Skip to first unread message

daniel...@devfactory.com

unread,
Jun 24, 2016, 8:41:42 AM6/24/16
to SonarQube
I'm using the JS sonar plugin version 2.3 and I'm facing a StackOverflowError when parsing parse5\lib\tokenization\named_entity_trie.js. The source code can be seen here: https://github.com/inikulin/parse5/blob/master/lib/tokenizer/named_entity_trie.js.

Caused by: InvalidExitValueException: ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: org.sonar.squidbridge.api.AnalysisException: Unable to parse file: c:\opt\dfinstaller\sources\unit-test-quality-gate-ui\node_modules\parse5\lib\tokenization\named_entity_trie.js
at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:101)
at org.sonar.javascript.ProgressAstScanner.scanFiles(ProgressAstScanner.java:45)
at org.sonar.plugins.javascript.JavaScriptSquidSensor.analyse(JavaScriptSquidSensor.java:126)
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:79)
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:70)
at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:119)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:194)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:233)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:228)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:221)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:64)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:51)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:125)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:173)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
... 9 more
Caused by: java.lang.StackOverflowError
at java.util.HashMap.hash(HashMap.java:338)
at java.util.HashMap.containsKey(HashMap.java:595)
at com.google.common.collect.ForwardingMap.containsKey(ForwardingMap.java:91)
at com.google.common.collect.AbstractBiMap.containsValue(AbstractBiMap.java:90)
at com.google.common.collect.HashBiMap.containsValue(HashBiMap.java:38)
at org.sonar.javascript.parser.sslr.ActionParser2$GrammarBuilderInterceptor.hasMethodForRuleKey(ActionParser2.java:325)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:103)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:114)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:106)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visit(SyntaxTreeCreator.java:93)
at org.sonar.javascript.parser.sslr.SyntaxTreeCreator.visitNonTerminal(SyntaxTreeCreator.java:125)


Elena Vilchik

unread,
Jun 29, 2016, 8:59:17 AM6/29/16
to SonarQube, daniel...@devfactory.com
This is generated code, we recommend you to exclude such files from analysis (see http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus#NarrowingtheFocus-IgnoreFiles). 
Thanks for feedback!
Reply all
Reply to author
Forward
0 new messages