Analysis of some projects failing after database migration: VisitException

SonarQube version: 6.7.7.38951

Hello Team,

We performed a database migration from Postgres 9 to Postgres 11.

Almost all the projects are being processed properly. but for a very few, we are seeing the following exception. Can you give us some pointers on how to fix this exception? ( have changed the company related info with generic name as File.java)

org.sonar.server.computation.task.projectanalysis.component.VisitException: Visit failed for Component {key=com:app:master:src/main/File.java,type=FILE}  located com.file:app:master:src/main/java/files(type=DIRECTORY)->com:app:app:master(type=MODULE)->com:app:master(type=PROJECT)
	at org.sonar.server.computation.task.projectanalysis.component.VisitException.rethrowOrWrap(VisitException.java:44)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visit(PathAwareCrawler.java:52)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visit(PathAwareCrawler.java:50)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visit(PathAwareCrawler.java:50)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visit(PathAwareCrawler.java:50)
	at org.sonar.server.computation.task.projectanalysis.step.NewCoverageMeasuresStep.execute(NewCoverageMeasuresStep.java:109)
	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:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Fail to decompress and deserialize source data [id=5595671,fileUuid=AWogoWU9DBlqo1grKO7b,projectUuid=AVuKuAGtccnr5o0ggdGD]
	at org.sonar.db.source.FileSourceDto.decodeSourceData(FileSourceDto.java:101)
	at org.sonar.db.source.FileSourceDto.getSourceData(FileSourceDto.java:212)
	at org.sonar.server.computation.task.projectanalysis.scm.ScmInfoDbLoader.getScmInfoFromDb(ScmInfoDbLoader.java:65)
	at org.sonar.server.computation.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfoForComponent(ScmInfoRepositoryImpl.java:80)
	at org.sonar.server.computation.task.projectanalysis.scm.ScmInfoRepositoryImpl.initializeScmInfoForComponent(ScmInfoRepositoryImpl.java:61)
	at org.sonar.server.computation.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfo(ScmInfoRepositoryImpl.java:49)
	at org.sonar.server.computation.task.projectanalysis.step.NewCoverageMeasuresStep$NewCoverageCounter.initialize(NewCoverageMeasuresStep.java:253)
	at org.sonar.server.computation.task.projectanalysis.formula.FormulaExecutorComponentVisitor.processLeaf(FormulaExecutorComponentVisitor.java:165)
	at org.sonar.server.computation.task.projectanalysis.formula.FormulaExecutorComponentVisitor.process(FormulaExecutorComponentVisitor.java:142)
	at org.sonar.server.computation.task.projectanalysis.formula.FormulaExecutorComponentVisitor.visitFile(FormulaExecutorComponentVisitor.java:122)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitNode(PathAwareCrawler.java:105)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:73)
	at org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler.visit(PathAwareCrawler.java:50)
	... 26 more
Caused by: com.google.protobuf.InvalidProtocolBufferException: Stream ended prematurely
	at org.sonar.db.protobuf.DbFileSources$Line.<init>(DbFileSources.java:443)
	at org.sonar.db.protobuf.DbFileSources$Line.<init>(DbFileSources.java:257)
	at org.sonar.db.protobuf.DbFileSources$Line$1.parsePartialFrom(DbFileSources.java:2460)
	at org.sonar.db.protobuf.DbFileSources$Line$1.parsePartialFrom(DbFileSources.java:2454)
	at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:495)
	at org.sonar.db.protobuf.DbFileSources$Data.<init>(DbFileSources.java:2566)
	at org.sonar.db.protobuf.DbFileSources$Data.<init>(DbFileSources.java:2522)
	at org.sonar.db.protobuf.DbFileSources$Data$1.parsePartialFrom(DbFileSources.java:3143)
	at org.sonar.db.protobuf.DbFileSources$Data$1.parsePartialFrom(DbFileSources.java:3137)
	at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:192)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:210)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:215)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
	at org.sonar.db.protobuf.DbFileSources$Data.parseFrom(DbFileSources.java:2688)
	at org.sonar.db.source.FileSourceDto.decodeRegularSourceData(FileSourceDto.java:108)
	at org.sonar.db.source.FileSourceDto.decodeSourceData(FileSourceDto.java:98)
	... 38 more

Welcome to the community forum! Do you have this error repeatedly on the same set of projects?

Hello Pierre,

it was being shown for only some of the projects. Although i couldnt figure out why, but i was able to make this error go away by querying the old database for filesource table with the project key and bring that data back to the new db, and the errors disappeared.