SonarQube is unable to analyze file

已查看 1,732 次
跳至第一个未读帖子

amro...@gmail.com

未读,
2017年3月12日 10:18:442017/3/12
收件人 SonarQube
Hi,
Anybody can help me why I am getting this error ?
Thanks in advance :)


ERROR: Error during SonarQube Scanner execution
org.sonar.squidbridge.api.AnalysisException: SonarQube is unable to analyze file : '/DATA/agent/bamboo-agent-home/xml-data/build-dir/JFWC-DEV-JOB1/backup-parser/src/test/java/com/progressoft/jfw/backupconverter/BackupFilesConverterTest.java'
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:93)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:67)
at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:114)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:108)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:87)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
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:498)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IndexOutOfBoundsException: index (0) must be less than size (0)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:310)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:293)
at com.google.common.collect.Lists$ReverseList.reverseIndex(Lists.java:849)
at com.google.common.collect.Lists$ReverseList.get(Lists.java:886)
at org.sonar.java.se.xproc.HappyPathYield.statesAfterInvocation(HappyPathYield.java:68)
at org.sonar.java.se.ExplodedGraphWalker.lambda$executeMethodInvocation$12(ExplodedGraphWalker.java:655)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.sonar.java.se.ExplodedGraphWalker.executeMethodInvocation(ExplodedGraphWalker.java:654)
at org.sonar.java.se.ExplodedGraphWalker.visit(ExplodedGraphWalker.java:502)
at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:238)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:200)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:193)
at org.sonar.java.se.SymbolicExecutionVisitor.execute(SymbolicExecutionVisitor.java:77)
at org.sonar.java.se.SymbolicExecutionVisitor.visitNode(SymbolicExecutionVisitor.java:62)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:95)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:120)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:120)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:78)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:64)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:118)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:84)
... 34 more
ERROR: 

amro...@gmail.com

未读,
2017年3月12日 10:21:012017/3/12
收件人 SonarQube、amro...@gmail.com
sonar java plugin (latest) 4.6.0.8784
sonarqube server version: 6.2

Scott B.

未读,
2017年3月12日 16:37:002017/3/12
收件人 SonarQube、amro...@gmail.com
Hi.


By the way, no one will help you if you don't share the problematic file or a minimal reproducible example.

amro...@gmail.com

未读,
2017年3月13日 04:55:062017/3/13
收件人 SonarQube、amro...@gmail.com
Thanks for your feedback, 
Here is the class 'BackupFilesConverterTest.java' where issue occurs:


package com.progressoft.jfw.backupconverter;

import org.junit.Test;

public class BackupFilesConverterTest {

    private static final String TEST = "test";

    private String[] directories(String... values) {
        return values;
    }

    private BackupFilesConverter backupConverter(String[] directories, String destinationDirectory) {
        return new BackupFilesConverter(directories, destinationDirectory);
    }

    @Test(expected = BackupFilesConverter.InvalidBackupDirectoriesException.class)
    public void createWithNullDirectories_ShouldThrowException() {
        backupConverter(null, "");
    }

    @Test(expected = BackupFilesConverter.InvalidBackupDirectoriesException.class)
    public void createWithEmptyDirectories_ShouldThrowException() {
        backupConverter(directories(), "");
    }

    @Test(expected = BackupFilesConverter.InvalidDestinationFolderException.class)
    public void createWithNullDestinationDirectory_ShouldThrowException() {
        backupConverter(directories(TEST), null);
    }

    @Test(expected = BackupFilesConverter.InvalidDestinationFolderException.class)
    public void createWithEmptyDestinationDirectory_ShouldThrowException() {
        backupConverter(directories(TEST), "");
    }

    @Test(expected = BackupFilesConverter.InvalidDestinationFolderException.class)
    public void createWithOnlySpacesDestinationDirectory_ShouldThrowException() {
        backupConverter(directories(TEST), "   ");
    }

    @Test(expected = BackupFilesConverter.NotDirectoryException.class)
    public void givenBackupFilesConverter_WhenPassListContainsOneFileAndConvert_ShouldThrowException() {
        backupConverter(directories("./src/test/resources/files/label/labels.xml"), TEST).convert();
    }
}

Nicolas Peru

未读,
2017年3月13日 06:37:422017/3/13
收件人 amro...@gmail.com、SonarQube
Hi, 

Thanks for providing the source raising the problem. 
The failure comes from the invocation of the directories method with no argument, which is perfectly valid, but badly handled in Xprocedural symbolic execution engine. 

Ticket created to tackle the issue : https://jira.sonarsource.com/browse/SONARJAVA-2183 

Cheers, 

--
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/e03bbe2e-f1eb-45e3-bb08-6e2c6fc38929%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Nicolas PERU | SonarSource
Senior Developer
http://sonarsource.com

amro...@gmail.com

未读,
2017年3月13日 07:17:132017/3/13
收件人 SonarQube、amro...@gmail.com
Thank you Nicolas for taking this issue in consideration :)
One last thing, I have a possible code smell false positive, I'd like to share it with you, please check the attached screenshot.
I can send you the class for further investigation.
Thanks in advance :) 

G. Ann Campbell

未读,
2017年3月13日 07:55:532017/3/13
收件人 SonarQube、amro...@gmail.com
Hi,

Please start new threads for new topics.


Thx,
Ann

amro...@gmail.com

未读,
2017年3月13日 08:31:012017/3/13
收件人 SonarQube、amro...@gmail.com
Done :)
Thank you!
回复全部
回复作者
转发
0 个新帖子