New in 9.3 (build 51899): java.lang.ArrayIndexOutOfBoundsException: Index 255 out of bounds for length 255

  • versions used: Enterprise Edition Version 9.3 (build 51899) SOnsrScanner 4.6.2.2472
  • steps to reproduce: Running
  • potential workaround: none (Downgrade Server not possible - Log4J)
org.sonar.ce.task.projectanalysis.component.VisitException: Visit of Component {key=PIACLOUD:pia-core.pia-insights.pia-dashboards:src/widgets/query.service.ts:BRANCH:PIA-967-create-basic-notification-configuration,type=FILE} failed
	at org.sonar.ce.task.projectanalysis.component.VisitException.rethrowOrWrap(VisitException.java:44)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:74)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.step.ExecuteVisitorsStep.execute(ExecuteVisitorsStep.java:51)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:81)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:72)
	at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:59)
	at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.IllegalStateException: Fail to process issues of component 'PIACLOUD:pia-core.pia-insights.pia-dashboards:src/widgets/query.service.ts:BRANCH:PIA-967-create-basic-notification-configuration'
	at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:79)
	at org.sonar.ce.task.projectanalysis.component.TypeAwareVisitorWrapper.visitAny(TypeAwareVisitorWrapper.java:77)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitNode(VisitorsCrawler.java:117)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:100)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	... 29 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 255 out of bounds for length 255
	at org.sonar.ce.task.projectanalysis.scm.GeneratedScmInfo.create(GeneratedScmInfo.java:55)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.generateAndMergeDb(ScmInfoRepositoryImpl.java:130)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfoForComponent(ScmInfoRepositoryImpl.java:75)
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfo(ScmInfoRepositoryImpl.java:66)
	at org.sonar.ce.task.projectanalysis.issue.IssueAssigner.loadScmChangesets(IssueAssigner.java:93)
	at org.sonar.ce.task.projectanalysis.issue.IssueAssigner.onIssue(IssueAssigner.java:73)
	at org.sonar.ce.task.projectanalysis.issue.IssueVisitors.onIssue(IssueVisitors.java:41)
	at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.process(IntegrateIssuesVisitor.java:129)
	at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.fillNewOpenIssues(IntegrateIssuesVisitor.java:96)
	at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:73)
	... 33 more

Hello @Jan_Hoppe ,

First of all welcome to the community!

Before we proceed I would like to know more about your project analysis setup:

  1. What New Code Period strategy are you using for scanned project?
  2. What kind of branch you were trying to analyse? PR, regular one?

Hello Jacek,

  1. New Code is by Reference of main branch (development) / and development has Setting = Previous Version
  2. The errors occurred during analyse of Feature-Branch

The error raised after upgrading from version 9.2.2 to 9.3
If the branch in sonarqube is delete the next analyse is ok.

I’m sorry, but I have to ask, are you @lockerma and @Jan_Hoppe working together? I’m unsure if the information I got is from the same issue.

Yes. We are working together.

@lockerma

I cannot reproduce that issue, it seems it is related to specific changes within a file, is there anything special within this file (src/widgets/query.service.ts)?

We are experiencing the same issue.

  1. New Code is set to reference of main branch
  2. Main branch is set to use previous version

First scan is fine, but after merging the main branch, we get the error on the next scan.
If we delete the branch and scan again, it was successful.

Hey @antonette_miller ,

Thanks for reporting that issue. Is it reproducible on your side with 9.3 each time or does it only affect branches which were created on 9.2 and then analysed again on 9.3?

I was trying to do following to reproduce with the setup you described and no luck:
On 9.3:

  1. Create feature branch from main
  2. Introduce simple changes raising issues in feature
  3. Analyse feature branch
  4. Introduce changes on main branch
  5. Merge main branch to feature
  6. Analyse feature branch
  7. No error.

Could you describe your workflow in similar way? I’m trying to find a minimal reproducer for that issue. Also it could be helpful if you could share what changes has been made on branches (main, feature).

We are running Sonarqube 9.3 with the maven plugin version 3.9.1.2184

On some sonar scans we get exceptions for files that are generated during the build and are not checked in

org.sonar.ce.task.projectanalysis.component.VisitException: Visit of Component {key=foo/target/generated-sources/annotations/foo/BarEntity_.java:BRANCH:feature/gui,type=FILE} failed
	at org.sonar.ce.task.projectanalysis.component.VisitException.rethrowOrWrap(VisitException.java:44)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:74)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.step.ExecuteVisitorsStep.execute(ExecuteVisitorsStep.java:51)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:81)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:72)
	at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:59)
	at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 94 out of bounds for length 94
	at org.sonar.ce.task.projectanalysis.scm.GeneratedScmInfo.create(GeneratedScmInfo.java:55)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.generateAndMergeDb(ScmInfoRepositoryImpl.java:130)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfoForComponent(ScmInfoRepositoryImpl.java:75)
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfo(ScmInfoRepositoryImpl.java:66)
	at org.sonar.ce.task.projectanalysis.source.LastCommitVisitor.visitFile(LastCommitVisitor.java:76)
	at org.sonar.ce.task.projectanalysis.component.PathAwareVisitorWrapper.visitFile(PathAwareVisitorWrapper.java:61)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitNode(VisitorsCrawler.java:126)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:100)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	... 32 more

Any suggestion how to fix this?

Kind regards,
Michael

@reitzmichnicht and @hwolf I’ve moved your thread to an existing thread to centralize reports of the issue and help @jacek.poreda find a reproducer.

1 Like

SonarQube Deveoloper Version 9.3
Maven Sonar Plugin Version 3.9.1.2184

We run SonarQube on a branch with name feature/BWEBCMS-147-long-name.
This analysis fails on SonarQube with

org.sonar.ce.task.projectanalysis.component.VisitException: Visit of Component {key=com.divae.baywa:baywacms:pom.xml:BRANCH:feature/BWEBCMS-147-long-name,type=FILE} failed
	at org.sonar.ce.task.projectanalysis.component.VisitException.rethrowOrWrap(VisitException.java:44)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:74)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitChildren(VisitorsCrawler.java:110)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:97)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	at org.sonar.ce.task.projectanalysis.step.ExecuteVisitorsStep.execute(ExecuteVisitorsStep.java:51)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:81)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:72)
	at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:59)
	at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1000 out of bounds for length 1000
	at org.sonar.ce.task.projectanalysis.scm.GeneratedScmInfo.create(GeneratedScmInfo.java:55)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.generateAndMergeDb(ScmInfoRepositoryImpl.java:130)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfoForComponent(ScmInfoRepositoryImpl.java:75)
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
	at org.sonar.ce.task.projectanalysis.scm.ScmInfoRepositoryImpl.getScmInfo(ScmInfoRepositoryImpl.java:66)
	at org.sonar.ce.task.projectanalysis.source.LastCommitVisitor.visitFile(LastCommitVisitor.java:76)
	at org.sonar.ce.task.projectanalysis.component.PathAwareVisitorWrapper.visitFile(PathAwareVisitorWrapper.java:61)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitNode(VisitorsCrawler.java:126)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visitImpl(VisitorsCrawler.java:100)
	at org.sonar.ce.task.projectanalysis.component.VisitorsCrawler.visit(VisitorsCrawler.java:72)
	... 23 more

If we change the branch name to feature/BWEBCMS-147 the analysis runs without error

We have the problem since we upgrade from 9.2.x to 9.3

I’ve tried also following scenarios with no luck.

On 9.2:
Create first feature branch:

  1. Create feature1 branch from main
  2. Add new line in existing file which raise an issue in feature1
  3. Analyse feature1 branch
  4. Introduce changes on main branch
  5. Merge main branch to feature1
  6. Analyse feature1 branch

Create second feature branch:

  1. Create feature2 branch from main
  2. Add new line in existing file which raise an issue in feature1
  3. Analyse feature2 branch

Migrate to 9.3 and:

Scenario 1:

  1. Analyse feature1 branch
  2. no error

Scenario 2:

  1. Analyse feature2 branch
  2. no error

Scenario 3:

  1. Merge main branch to feature2
  2. Analyse feature2 branch
  3. no error

Any additional info about what changes has been introduced within a file on which analysis is failing will be appreciated. For example if file was moved/deleted, fully edited etc.

I think here is the story behind our branch that failed:
Created long time ago from main branch, made a lot of analyses with older Sonarqube versions.
Migrated to Sonarqube 9.3 and I think we still had no issue.
Then a generated file not tracked by scm but part of the sonar analysis was moved inside the branch and now it fails with the exception above.
Creating a new branch from main with the same code does not produce the error.

Kind regards,
Michael

1 Like

The problem is found. If “git fetch --unshallow” is called before analyse the problem never occured again. I look like that the version < 9.3 has no problem with that?

Kind Regards and thank’s for help,
Martin

I add the setting “Clean before checkout” to the configuration of our Jenkins job.
This solves the problem.

Folks, thanks a lot for helping out, I was finally able to reproduce issue on our backyard, most likely we will fix it in 9.4 [SONAR-16100] Error IndexArrayOutOfBoundIndex exception during CE computation - SonarSource

1 Like

Hello, just wanted to share that me and my team are experiencing the same issue. It’s completely un-consistent though. I, for example, had no issues on Friday when all of a sudden I got an ArrayIndexOutOfBoundsException. SonarQube wasn’t analyzing my branch at all. When I tried again today (with no changes to the branch at all) it suddenly just works.

My team, on the other hand, have had issues all day with this. We’re also using version 9.3.

Is it possible to get a hotfix for 9.3 ?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.