【问题标题】:Sonarqube 6.2 ERROR - Could not complete symbolic execution: reached limit of 16000 stepsSonarqube 6.2 错误 - 无法完成符号执行:达到 16000 步的限制
【发布时间】:2017-06-16 14:40:14
【问题描述】:

我正在使用 Sonarqube 6.2 和版本 4.4.0.8066 的声纳 java 插件,并在使用 JDK 1.8 编译的项目中遇到此错误:

[DEBUG] 22:09:01.566 Could not complete symbolic execution: 
22:09:01 org.sonar.java.se.ExplodedGraphWalker$MaximumStepsReachedException: reached limit of 16000 steps for method setData#198 in class PaymentVarianceReportFilterCriteria
22:09:01    at org.sonar.java.se.ExplodedGraphWalker.throwMaxSteps(ExplodedGraphWalker.java:260)
22:09:01    at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:211)
22:09:01    at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:186)
22:09:01    at org.sonar.java.se.SymbolicExecutionVisitor.execute(SymbolicExecutionVisitor.java:68)
22:09:01    at org.sonar.java.se.SymbolicExecutionVisitor.visitNode(SymbolicExecutionVisitor.java:57)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:95)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:120)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:120)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:78)
22:09:01    at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java

.................
........................

....................
 [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project ct: Error 500 on http://stssonar01/api/ce/submit?projectKey=com.edifecs:ct&projectName=Edifecs%20Collaborative%20Testing%20Build : {"errors":[{"msg":"An error has occurred. Please contact your administrator."}]} -> [Help 1]
22:50:07 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project ct: Error 500 on http://stssonar01/api/ce/submit?projectKey=com.edifecs:ct&projectName=Edifecs%20Collaborative%20Testing%20Build : {"errors":[{"msg":"An error has occurred. Please contact your administrator."}]}
22:50:07    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
22:50:07    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

在运行 maven 构建过程 clean install sonar:sonar 的 sonar:sonar 步骤时,我在这里遗漏了什么吗?

请帮助我摆脱困境。提前谢谢..

【问题讨论】:

  • 问题的标题和错误日志的第一部分实际上与您遇到的错误 500 导致 maven 目标失败的失败无关。更多解释请参见:stackoverflow.com/questions/34065727/…
  • 由于服务器上出现错误 500,您可能需要查看服务器日志以了解发生了什么。

标签: java maven sonarqube


【解决方案1】:

这与符号执行引入的负面测试有关。

对于两个规则(关于空指针异常的 S2259 和关于条件始终为真或假的 S2583)执行此测试。

从本质上讲,在该方法中,存在一个点,即 null/始终为真或假的所有可能性的总数迭代超过 6000。

你可以禁用这两个规则,或者重构方法使其中没有太多的 if/case 逻辑。

这对于 (https://jira.sonarsource.com/browse/SONARJAVA-1406) 应该是非侵入性的,并且仅在调试模式下呈现,但是我可以确认它仍然会使用 maven 插件停止读取。

【讨论】:

    猜你喜欢
    • 2017-08-28
    • 2016-03-08
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多