Error "Unable to create symbol table for :..." "java.lang.IllegalArgumentException: null"

1,337 views
Skip to first unread message

xpy...@googlemail.com

unread,
Dec 14, 2016, 5:58:59 AM12/14/16
to SonarQube
Hi,

I get an error when analyzing a maven build with Sonar since an update to Java 8:

its the same error (same stack) as here (line 620): https://travis-ci.org/SonarSource/sonar-web/builds/164879018 

Do you have any idea, what causes this? I'm using Sonar 5.6.1 and Java Plugin 4.3.0.7717

Here is the stack from the jenkins build:

11:34:56 [ERROR] Unable to create symbol table for : D:\jenkins\workspace\Sonar_X4_XNSGTestProduct.4.0\XView.4.0\src\main\bc\de\aeb\xview\registry\XViewExtensionPoints.java
11:34:56 java.lang.IllegalArgumentException: null
11:34:56 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108) ~[guava-19.0.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.leastContainingTypeArgument(LeastUpperBound.java:251) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.leastContainingParameterization(LeastUpperBound.java:242) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.cachedLeastUpperBound(LeastUpperBound.java:104) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.lctaNoWildcard(LeastUpperBound.java:312) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.getNewTypeArgumentType(LeastUpperBound.java:282) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.leastContainingTypeArgument(LeastUpperBound.java:261) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.leastContainingParameterization(LeastUpperBound.java:242) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.cachedLeastUpperBound(LeastUpperBound.java:104) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.LeastUpperBound.leastUpperBound(LeastUpperBound.java:68) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeSubstitutionSolver.leastUpperBound(TypeSubstitutionSolver.java:51) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.Resolve.leastUpperBound(Resolve.java:914) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.Resolve.conditionalExpressionType(Resolve.java:950) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.visitConditionalExpression(TypeAndReferenceSolver.java:503) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.expression.ConditionalExpressionTreeImpl.accept(ConditionalExpressionTreeImpl.java:85) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.resolveAs(TypeAndReferenceSolver.java:386) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.resolveAs(TypeAndReferenceSolver.java:356) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.resolveAs(TypeAndReferenceSolver.java:349) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.visitAssignmentExpression(TypeAndReferenceSolver.java:827) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.expression.AssignmentExpressionTreeImpl.accept(AssignmentExpressionTreeImpl.java:71) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitExpressionStatement(BaseTreeVisitor.java:101) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.visitExpressionStatement(TypeAndReferenceSolver.java:762) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.statement.ExpressionStatementTreeImpl.accept(ExpressionStatementTreeImpl.java:65) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBlock(BaseTreeVisitor.java:85) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.statement.BlockTreeImpl.accept(BlockTreeImpl.java:77) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.visitMethod(TypeAndReferenceSolver.java:132) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.declaration.MethodTreeImpl.accept(MethodTreeImpl.java:218) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.TypeAndReferenceSolver.visitClass(TypeAndReferenceSolver.java:141) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:198) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:55) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.resolve.SemanticModel.createFor(SemanticModel.java:62) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:105) ~[java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:84) [java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:67) [java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:114) [java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.java.JavaSquid.scan(JavaSquid.java:108) [java-frontend-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:87) [sonar-java-plugin-4.3.0.7717.jar:na]
11:34:56 	at org.sonar.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:234) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119) [sonar-scanner-engine-shaded-5.6.1.jar:na]
11:34:56 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62) [sonar-scanner-api-batch7689520546942392100.jar:na]
11:34:56 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_92]
11:34:56 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_92]
11:34:56 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_92]
11:34:56 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_92]
11:34:56 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) [sonar-scanner-api-2.8.jar:na]
11:34:56 	at com.sun.proxy.$Proxy23.execute(Unknown Source) [na:na]
11:34:56 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233) [sonar-scanner-api-2.8.jar:na]
11:34:56 	at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151) [sonar-scanner-api-2.8.jar:na]
11:34:56 	at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:78) [sonar-maven-plugin-3.2.jar:na]
11:34:56 	at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:122) [sonar-maven-plugin-3.2.jar:na]
11:34:56 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) [maven-core-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) [maven-embedder-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) [maven-embedder-3.3.3.jar:3.3.3]
11:34:56 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) [maven-embedder-3.3.3.jar:3.3.3]
11:34:56 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_92]
11:34:56 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_92]
11:34:56 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_92]
11:34:56 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_92]
11:34:56 	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) [plexus-classworlds-2.5.2.jar:na]
11:34:56 	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) [plexus-classworlds-2.5.2.jar:na]
11:34:56 	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) [plexus-classworlds-2.5.2.jar:na]
11:34:56 	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) [plexus-classworlds-2.5.2.jar:na]

Kind regards, Robert Seidel (www.aeb.com)

Nicolas Peru

unread,
Dec 15, 2016, 11:28:24 AM12/15/16
to xpy...@googlemail.com, SonarQube
Hi, 

Just to be sure : your analysis is not failing, you just have this error in the log of the analysis  ?

This is an issue in the semantic analysis failing on a conditional expression : a ? b: c 

This should be happening in an assignement, so something like : myVar = a ? b : c ;

Would you be able to share the file XViewExtensionPoints.java ? (you can send it privately to me eventually) and if not, could you share the failing bit with relevant type information ? (there is something going on with generics here). 

Thanks.

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/fba70d56-dfaa-4b4c-951a-b9e9bdbd7a8e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Nicolas PERU | SonarSource
Senior Developer
http://sonarsource.com

Nicolas Peru

unread,
Dec 15, 2016, 11:35:56 AM12/15/16
to xpy...@googlemail.com, SonarQube
Hi, 

looking at what is going on on the web plugin, it seems indeed related but not from the same cause as what seems involved in the case of web plugin is the following class and especially the field calling Array.asList : https://github.com/SonarSource/sonar-web/blob/master/sonar-web-plugin/src/main/java/org/sonar/plugins/web/lex/PageLexer.java
So I am deeply interested by the code of your file.
Cheers, 

xpy...@googlemail.com

unread,
Dec 15, 2016, 4:03:57 PM12/15/16
to SonarQube, xpy...@googlemail.com
Hi,

your first tip was correct. It could not parse the = ? in the code below. After changing it to if else, it worked.

Thnx a lot
 
public synchronized <T extends FolderAC<?>, S extends ISheetAC> void registerSheet(Class<T> folderClass, Class<S> sheetClass, int sortOrder, ISheetLabelHandler<T, Class<S>> sheetLabelHandler, ISheetVisibleHandler<T> visibleHandler, String viewName) {
SheetRegistryEntry entry = new SheetRegistryEntry(sheetClass,viewName) ;
entry.visibleHandler = visibleHandler != null ? visibleHandler : new DefaultACSheetVisibleHandler();
entry.sheetLabelHandler = sheetLabelHandler != null ? sheetLabelHandler : new DefaultACSheetLabelHandler();
}

 
Reply all
Reply to author
Forward
0 new messages