Bitbucket pipelines started failing after todays updates in "Sonar way" quality profiles

Today all our Bitbucket pipelines started failing due to Sonar.
We run builds on some old branches and they started failing also.
We can see that global “Sonar way” quality profile rules were updated today, therefore we suspect this error is due to some updates made in Sonar today.

Caused by: SonarQube is unable to analyze file : 'platform/backend-service/src/main/java/net/sympower/platform/backend/service/data/model/'

Caused by: java.lang.ArrayIndexOutOfBoundsException: -1

Hi @Fred_Puistaja and welcome to the community !

We deployed an update to our Java analyzer today, and that included the following ticket: where we dropped support for importing the jacoco.exec coverage reports.

The following reason is given:

We know that the .exec file is not an exchange format. This is an internal format used by JaCoCo developers. It is not at all recommended to use it for integration purpose.
Because of that, we want to get rid of the support of the .exec file format and rely only on the XML one.

This feature has been deprecated for quite some time, and warnings should have been reported in the SonarCloud UI.

Switching to the Jacoco XML format should fix your issues.


We are not using Jacoco.

Hi @Fred_Puistaja,

Would it be possible to share the code in service/src/main/java/net/sympower/platform/backend/service/data/model/ so that we can reproduce this error? You can share it through a private message if it contains sensitive information.


1 Like

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

public enum AnalogWireLevelType {

  LEVEL_TYPE_VOLTS((byte) 1),

  @Getter private byte value;

  public static AnalogWireLevelType getLevel(Byte value) {
      .filter(levelType -> ((Byte) levelType.value).equals(value))
      .orElseThrow(() -> new IllegalArgumentException("Unknown type: " + value));

Thanks, I was able to reproduce the error. I will follow-up once we found the cause.


Hi, we have a similar failure since today.
The file with the problem also uses

  1. lombok @AllArgsConstructor
  2. is enum
  3. has byte field initialized in enum values constructors.
1 Like

Workaround found: removing @AllArgsConstructor (replacing it by an explicit private constructor) solves the issue


Hello @lrozenblyum & @Fred_Puistaja,

We are working currently working on a fix and will deploy the changes as soon as possible.


Hey @Fred_Puistaja & @lrozenblyum,

Thanks a lot for your pretty accurate feedback, and thanks @TomVanBraband for the follow up. Fix is on it’s way in our SonarJava master. This is due to a case we missed during our migration to our new frontend. I created the following ticket to describe the issue: SONARJAVA-3269

We are going to release a bugfix version of SonarJava (6.0.1) between today and Monday to fix the issue. The bugfix version will be deployed on SonarCloud just after the release.


1 Like

SonarJava 6.0.1 hasn’t been released yet?

Hi @Fred_Puistaja,

SonarJava 6.0.1 is not available yet on SonarCloud, but it will be soon.
I will update you in this thread when it is available.

@Fred_Puistaja @lrozenblyum

SonarJava 6.0.1 is now available on SonarCloud!

1 Like

Thanks @TomVanBraband! I confirm the fix works for us.