Properties File Analysis exception from gradle plugin

55 views
Skip to first unread message

steve...@trustpayglobal.com

unread,
Sep 7, 2016, 6:02:40 AM9/7/16
to SonarQube
Hopefully I am posting this in the correct group, please let me know if not and I can direct is somewhere else.

We have an issue whereby when we updated our Java Properties plugin to 1.7 we started to have failures in the gradle sonar task from gradle sonarqube plugin version 2.0.1.  Files that were previously analysed without error now produce the following exception (with some paths removed):

Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarqube'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
	at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
	at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
	at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
	at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
	at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
	at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
	at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
	at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
	at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
	at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
	at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
	at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
	at org.gradle.launcher.Main.doAction(Main.java:33)
	at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.sonar.squidbridge.api.AnalysisException: Unable to analyze file: xxxxxxxx/src/main/resources/displaytag_sv.properties
	at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:127)
	at org.sonar.plugins.jproperties.JavaPropertiesSquidSensor.analyse(JavaPropertiesSquidSensor.java:86)
	at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
	at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
	at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:102)
	at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:185)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
	at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:264)
	at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:259)
	at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:257)
	at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:249)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
	at org.sonar.batch.scan.ProjectScanContainer.startComponents(ProjectScanContainer.java:127)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
	at org.sonar.batch.task.ScanTask.execute(ScanTask.java:55)
	at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
	at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:122)
	at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy53.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:240)
	at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
	at org.sonarqube.gradle.SonarQubeTask.run(SonarQubeTask.java:84)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
	... 57 more
Caused by: java.lang.IllegalArgumentException: Unable to highlight file [moduleKey=Platform:Reporting, relative=src/main/resources/displaytag_sv.properties, basedir=xxxxxxxx/Platform/Reporting] from offset 3137 to offset 3156
at org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting.highlight(DefaultHighlighting.java:85) at org.sonar.batch.source.DefaultHighlightable$DefaultHighlightingBuilder.highlight(DefaultHighlightable.java:79) at org.sonar.jproperties.ast.visitors.SyntaxHighlighterVisitor.visitNode(SyntaxHighlighterVisitor.java:91) at com.sonar.sslr.impl.ast.AstWalker.visitNode(AstWalker.java:114) at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:85) at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99) at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87) at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99) at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87) at com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:69) at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:106) ... 91 more Caused by: java.lang.IllegalArgumentException: 3156 is not a valid offset for file [moduleKey=Platform:Reporting, relative=src/main/resources/displaytag_sv.properties, basedir=xxxxxxxx/Platform/Reporting]. Max offset is 3141
at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:148) at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:267) at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:262) at org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting.highlight(DefaultHighlighting.java:83) ... 101 more


Let me know if there is any more information that would make this any easier.  I can provide the files (there is more than one) that is causing the problem directly if required.

Thanks

Steve

David Racodon

unread,
Sep 7, 2016, 6:06:18 AM9/7/16
to steve...@trustpayglobal.com, SonarQube
Hi Steve,

If you are running SonarQube 5.6 or greater, you should also upgrade to the latest version (2.2).

Regards,

David RACODON
Freelance QA Consultant

Trustpay Global Limited is an authorised Electronic Money Institution regulated by the Financial Conduct Authority registration number 900043. Company No 07427913 Registered in England and Wales with registered address 130 Wood Street, London, EC2V 6DL, United Kingdom.

For further details please visit our website at www.trustpayglobal.com.

The information in this email and any attachments are confidential and remain the property of Trustpay Global Ltd unless agreed by contract. It is intended solely for the person to whom or the entity to which it is addressed. If you are not the intended recipient you may not use, disclose, copy, distribute, print or rely on the content of this email or its attachments. If this email has been received by you in error please advise the sender and delete the email from your system. Trustpay Global Ltd does not accept any liability for any personal view expressed in this message.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/66be945a-179c-401f-b467-31f0877f6ccc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steve Price

unread,
Sep 7, 2016, 6:15:48 AM9/7/16
to David Racodon, SonarQube
Thanks for the quick reply.

We are currently running 5.4 with Java Properties version 1.7. 

Is the upgrade path the only way to fix this problem?

Thanks

Steve
--
Steve Price Head of Development
Address:   Phone: Direct: Email: 22 & 24 Frederick Sanger Road | Surrey Research Park | Guildford | Surrey | GU2 7YD 0207 871 3890 0207 871 3965 steve...@trustpayglobal.com

David Racodon

unread,
Sep 7, 2016, 6:23:45 AM9/7/16
to Steve Price, SonarQube
Hi Steve,

If your files are encoded in ISO-8859-1 as required by the Java Properties standards, you can remain on version 1.7. In this case, the issue is likely to come from "the last line of your file is missing a line ending character (LF / CR / CRLF)". I'll let you check. If it is not the case, feel free to privately send me a file and I'll investigate.

If your files are not encoded in ISO-8859-1, you have to upgrade the plugin to version 2.2 (support of other encoding formats such as UTF-8 has been added in version 2.0). In this case, you also have to upgrade to SonarQube 5.6.1+.

As a side note, I advise you to upgrade your SonarQube platform to 5.6.1 as it is the new Long Term Supported version.

Regards,

David RACODON
Freelance QA Consultant

On Wed, Sep 7, 2016 at 12:15 PM, Steve Price <steve...@trustpayglobal.com> wrote:
Thanks for the quick reply.

We are currently running 5.4 with Java Properties version 1.7. 

Is the upgrade path the only way to fix this problem?

Thanks

Steve



On 07/09/16 11:06, David Racodon wrote:
Hi Steve,

If you are running SonarQube 5.6 or greater, you should also upgrade to the latest version (2.2).

Regards,

David RACODON
Freelance QA Consultant

Steve Price

unread,
Sep 7, 2016, 7:04:09 AM9/7/16
to David Racodon, SonarQube
We will try the line endings but I think It is going to be UTF-8 that is causing the issue. 

Its upgrade time!!!

Thanks again for your help.

Steve

David Racodon

unread,
Sep 7, 2016, 12:35:10 PM9/7/16
to Steve Price, SonarQube
You're welcome!

David RACODON
Freelance QA Consultant

On Wed, Sep 7, 2016 at 1:04 PM, Steve Price <steve...@trustpayglobal.com> wrote:
We will try the line endings but I think It is going to be UTF-8 that is causing the issue. 

Its upgrade time!!!

Thanks again for your help.

Steve


On 07/09/16 11:23, David Racodon wrote:
Hi Steve,

If your files are encoded in ISO-8859-1 as required by the Java Properties standards, you can remain on version 1.7. In this case, the issue is likely to come from "the last line of your file is missing a line ending character (LF / CR / CRLF)". I'll let you check. If it is not the case, feel free to privately send me a file and I'll investigate.

If your files are not encoded in ISO-8859-1, you have to upgrade the plugin to version 2.2 (support of other encoding formats such as UTF-8 has been added in version 2.0). In this case, you also have to upgrade to SonarQube 5.6.1+.

As a side note, I advise you to upgrade your SonarQube platform to 5.6.1 as it is the new Long Term Supported version.

Regards,

David RACODON
Freelance QA Consultant

Reply all
Reply to author
Forward
0 new messages