Uploaded image for project: 'SonarQube'
  1. SonarQube
  2. SONAR-10364

Compute Engine analysis fails with error "Protocol message was too large"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.7.1
    • Fix Version/s: 7.1
    • Component/s: Compute Engine, Issues
    • Labels:

      Description

      Processing an analysis report fails in Compute Engine with error:

      org.sonar.server.computation.task.projectanalysis.component.VisitException: Visit of Component {key='xxxxxxx.java'.java,type=FILE} failed
      
      	at org.sonar.server.computation.task.projectanalysis.component.VisitException.rethrowOrWrap(VisitException.java:44)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:74)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.
      visit(VisitorsCrawler.java:72)
      	at org.sonar.server.computation.task.projectanalysis.step.ExecuteVisitorsStep.execute(ExecuteVisitorsStep.java:51)
      	at org.sonar.server.computation.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:64)
      	at org.sonar.server.computation.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:52)
      	at org.sonar.server.computation.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:73)
      	at org.sonar.ce.taskprocessor.CeWorkerImpl.executeTask(CeWorkerImpl.java:134)
      	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:97)
      	at org.sonar.ce.taskprocessor.CeWorkerImpl.withCustomizedThreadName(CeWorkerImpl.java:81)
      	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:73)
      	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:43)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.IllegalStateException: Fail to process issues of component 'xxxxxxx.java'
      	at org.sonar.server.computation.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:70)
      	at org.sonar.server.computation.task.projectanalysis.component.TypeAwareVisitorWrapper.visitAny(TypeAwareVisitorWrapper.java:82)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitNode(VisitorsCrawler.java:117)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:100)
      	at org.sonar.server.computation.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
      	... 23 more
      Caused by: org.sonar.core.util.ContextException: com.google.protobuf.InvalidProtocolBufferException: Protocol message was too large.  May be malicious.  Use CodedInputStream.setSizeLimit() to increase the size limit.
      	at org.sonar.core.util.ContextException.of(ContextException.java:118)
      	at org.sonar.core.util.Protobuf$StreamIterator.doNext(Protobuf.java:165)
      	at org.sonar.core.util.Protobuf$StreamIterator.doNext(Protobuf.java:151)
      	at org.sonar.core.util.CloseableIterator.bufferNext(CloseableIterator.java:96)
      	at org.sonar.core.util.CloseableIterator.hasNext(CloseableIterator.java:87)
      	at org.sonar.server.computation.task.projectanalysis.issue.TrackerRawInputFactory$RawLazyInput.loadIssues(TrackerRawInputFactory.java:101)
      	at org.sonar.core.issue.tracking.LazyInput.getIssues(LazyInput.java:50)
      	at org.sonar.core.issue.tracking.Tracker.track(Tracker.java:30)
      	at org.sonar.server.computation.task.projectanalysis.issue.TrackerExecution.track(TrackerExecution.java:41)
      	at org.sonar.server.computation.task.projectanalysis.issue.IssueTrackingDelegator.track(IssueTrackingDelegator.java:53)
      	at org.sonar.server.computation.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:63)
      	... 27 more
      Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message was too large.  May be malicious.  Use CodedInputStream.setSizeLimit() to increase the size limit.
      	at com.google.protobuf.InvalidProtocolBufferException.sizeLimitExceeded(InvalidProtocolBufferException.java:110)
      	at com.google.protobuf.CodedInputStream.tryRefillBuffer(CodedInputStream.java:1117)
      	at com.google.protobuf.CodedInputStream.refillBuffer(CodedInputStream.java:1067)
      	at com.google.protobuf.CodedInputStream.readRawByte(CodedInputStream.java:1135)
      	at com.google.protobuf.CodedInputStream.readRawVarint64SlowPath(CodedInputStream.java:778)
      	at com.google.protobuf.CodedInputStream.readRawVarint32(CodedInputStream.java:637)
      	at com.google.protobuf.CodedInputStream.readInt32(CodedInputStream.java:348)
      	at org.sonar.scanner.protocol.output.ScannerReport$TextRange.<init>(ScannerReport.java:18402)
      	at org.sonar.scanner.protocol.output.ScannerReport$TextRange.<init>(ScannerReport.java:18361)
      	at org.sonar.scanner.protocol.output.ScannerReport$TextRange$1.parsePartialFrom(ScannerReport.java:18879)
      	at org.sonar.scanner.protocol.output.ScannerReport$TextRange$1.parsePartialFrom(ScannerReport.java:18873)
      	at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:495)
      	at org.sonar.scanner.protocol.output.ScannerReport$IssueLocation.<init>(ScannerReport.java:13052)
      	at org.sonar.scanner.protocol.output.ScannerReport$IssueLocation.<init>(ScannerReport.java:13005)
      	at org.sonar.scanner.protocol.output.ScannerReport$IssueLocation$1.parsePartialFrom(ScannerReport.java:13684)
      	at org.sonar.scanner.protocol.output.ScannerReport$IssueLocation$1.parsePartialFrom(ScannerReport.java:13678)
      	at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:495)
      	at org.sonar.scanner.protocol.output.ScannerReport$Flow.<init>(ScannerReport.java:13783)
      	at org.sonar.scanner.protocol.output.ScannerReport$Flow.<init>(ScannerReport.java:13742)
      	at org.sonar.scanner.protocol.output.ScannerReport$Flow$1.parsePartialFrom(ScannerReport.java:14362)
      	at org.sonar.scanner.protocol.output.ScannerReport$Flow$1.parsePartialFrom(ScannerReport.java:14356)
      	at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:495)
      	at org.sonar.scanner.protocol.output.ScannerReport$Issue.<init>(ScannerReport.java:11633)
      	at org.sonar.scanner.protocol.output.ScannerReport$Issue.<init>(ScannerReport.java:11545)
      	at org.sonar.scanner.protocol.output.ScannerReport$Issue$1.parsePartialFrom(ScannerReport.java:12931)
      	at org.sonar.scanner.protocol.output.ScannerReport$Issue$1.parsePartialFrom(ScannerReport.java:12925)
      	at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:192)
      	at com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:233)
      	at com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:238)
      	at com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:49)
      	at org.sonar.core.util.Protobuf$StreamIterator.doNext(Protobuf.java:163) 
       ... 36 more 
      

      Apparently upgrading protobuf library fixes the issue: https://groups.google.com/forum/?pli=1#!topic/sonarqube/hfQxyC5yBgA

        Attachments

          Activity

            People

            Assignee:
            sebastien.lesaint Sebastien Lesaint
            Reporter:
            simon.brandhof Simon Brandhof (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Due:
              Created:
              Updated:
              Resolved: