在sonar.log中,声纳分析失败并出现NullPointerException

时间:2015-05-29 18:24:42

标签: sonarqube sonar-runner sonarqube-5.0

我们一直在Unix系统上的 Java 1.7.0_76 下使用 Sonar 5.1 ,在一个非常大的多项目存储库(主要是Java 7, JSP,JS,XML和CSS文件)。我们最近注意到Sonar Runner的执行在某些情况下失败了。请参阅下面的SonarQube日志中的错误。一些信息:

  • 这种情况发生在不同项目中的不同文件中 - 有时是.java文件,有时是.js文件 - 但似乎在每次运行时都与同一文件一致。
  • 它似乎要求的文件确实存在于我们的存储库中。
  • 所有项目都由同一用户进行分析,该用户具有“查看源代码”权限(实际上,任何人都有此权限)。

您能告诉我们可能导致这些失败的原因,以及我们如何预防这些失败?谢谢!

在服务器端(在sonar.log中)

2015.05.26 02:58:56 ERROR web[o.s.s.w.WebServiceEngine] Fail to process request http://sonar.era.nih.gov/api/sources/hash?key=PRACS%3Asrc%2Fjava%2Fgov%2Fnih%2Fera%2Fpracs%2Fbeans%2FUploadedDocument.java
java.lang.NullPointerException: null
                at com.google.common.io.CharStreams.copy(CharStreams.java:202) ~[guava-10.0.1.jar:na]
                at org.sonar.server.source.ws.HashAction$HashFunction.apply(HashAction.java:99) ~[sonar-server-5.1.jar:na]
                at org.sonar.server.source.ws.HashAction$HashFunction.apply(HashAction.java:84) ~[sonar-server-5.1.jar:na]
                at org.sonar.core.source.db.FileSourceDao.readLineHashesStream(FileSourceDao.java:94) ~[sonar-core-5.1.jar:na]
                at org.sonar.server.source.ws.HashAction.handle(HashAction.java:74) ~[sonar-server-5.1.jar:na]
                at org.sonar.server.ws.WebServiceEngine.execute(WebServiceEngine.java:84) ~[sonar-server-5.1.jar:na]
                at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) ~[na:na]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_76]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_76]
                at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:425) [jruby-complete-1.7.9.jar:na]
                at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:292) [jruby-complete-1.7.9.jar:na]
                at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:44) [jruby-complete-1.7.9.jar:na]
                at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70) [jruby-complete-1.7.9.jar:na]
                at rubyjit.Api::JavaWsController$$index_18AF0797CD66B4E310384A14E2B9EE369902E67F103261525.__file__(/home/sonarqube/apps/sonarqube/sonarqube-5.1/web/WEB-INF/app/controllers/api/java_ws_controller.rb:30) [jruby-complete-1.7.9.jar:na]
                at rubyjit.Api::JavaWsController$$index_18AF0797CD66B4E310384A14E2B9EE369902E67F103261525.__file__(/home/sonarqube/apps/sonarqube/sonarqube-5.1/web/WEB-INF/app/controllers/api/java_ws_controller.rb) [jruby-complete-1.7.9.jar:na]
                at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:161) [jruby-complete-1.7.9.jar:na]
                at org.jruby.RubyClass.finvoke(RubyClass.java:527) [jruby-complete-1.7.9.jar:na]
                at org.jruby.RubyBasicObject.send(RubyBasicObject.java:2590) [jruby-complete-1.7.9.jar:na]
                at org.jruby.RubyKernel.send(RubyKernel.java:2223) [jruby-complete-1.7.9.jar:na]
                at org.jruby.RubyKernel$INVOKER$s$send.call(RubyKernel$INVOKER$s$send.gen) [jruby-complete-1.7.9.jar:na]
                at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350) [jruby-complete-1.7.9.jar:na]
                at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) [jruby-complete-1.7.9.jar:na]
                at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) [jruby-complete-1.7.9.jar:na]
                at rubyjit.ActionController::Base$$perform_action_DA0FC0A901DD1257EC969DB0C482DD8514B8F04B103261525.__file__(/home/sonarqube/apps/sonarqube/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:1333) [jruby-complete-1.7.9.jar:na]
                at rubyjit.ActionController::Base$$perform_action_DA0FC0A901DD1257EC969DB0C482DD8514B8F04B103261525.__file__(/home/sonarqube/apps/sonarqube/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb) [jruby-complete-1.7.9.jar:na]
                at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:141) [jruby-complete-1.7.9.jar:na]
                at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:185) [jruby-complete-1.7.9.jar:na]
                at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:56) [jruby-complete-1.7.9.jar:na]
                at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) [jruby-complete-1.7.9.jar:na]
                at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) [jruby-complete-1.7.9.jar:na]
                at …

在客户端(声纳 - 跑步者)

结果错误从声纳 - 跑步者输出以下几行(如果你需要,我会发送完整的东西,但似乎真正的问题是NPE):

[sonar-runner] INFO: EXECUTION FAILURE
[sonar-runner] INFO: ------------------------------------------------------------------------
[sonar-runner] Total time: 2:50.798s
[sonar-runner] ERROR: Error during Sonar runner execution [sonar-runner] org.sonar.runner.impl.RunnerException: Unable to execute Sonar [sonar-runner]     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
…
[sonar-runner] Caused by: org.sonar.api.utils.SonarException: Fail to decorate 'org.sonar.api.resources.File@1a89552[key=src/java/gov/nih/era/pracs/beans/UploadedDocument.java,path=src/java/gov/nih/era/pracs/beans/UploadedDocument.java,filename=UploadedDocument.java,language=Java]'
[sonar-runner]     at org.sonar.batch.phases.DecoratorsExecutor.executeDecorator(DecoratorsExecutor.java:104)
…
[sonar-runner] Caused by: java.lang.IllegalStateException: Fail to execute request [code=500, url=http://sonar.era.nih.gov/api/sources/hash?key=PRACS%3Asrc%2Fjava%2Fgov%2Fnih%2Fera%2Fpracs%2Fbeans%2FUploadedDocument.java]
[sonar-runner]     at org.sonar.batch.bootstrap.ServerClient.handleHttpException(ServerClient.java:139)
…
[sonar-runner] Caused by: org.sonar.api.utils.HttpDownloader$HttpException: Fail to download [http://sonar.era.nih.gov/api/sources/hash?key=PRACS%3Asrc%2Fjava%2Fgov%2Fnih%2Fera%2Fpracs%2Fbeans%2FUploadedDocument.java]. Response code: 500 [sonar-runner]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:305)

0 个答案:

没有答案