sbaudoin/sonar-yaml

Scan failing on Sonar version 9.4

dharanitharan-selvaraj opened this issue · 8 comments

After upgrading sonar to version 9.4 Our scans are failing with the below error
ERROR: Error during SonarScanner execution java.lang.UnsupportedOperationException: Can not add the same measure twice on ci-artifacts/elasticsearch/template.yml: DefaultMeasure[component=ci-artifacts/elasticsearch/template.yml,metric=Metric[uuid=<null>,key=ncloc_data,description=<null>,type=DATA,direction=0,domain=<null>,name=ncloc_data,qualitative=false,userManaged=false,enabled=true,worstValue=<null>,bestValue=<null>,optimizedBestValue=false,hidden=false,deleteHistoricalData=false,decimalScale=<null>],value=1=1;2=1;3=1;5=1;6=1;7=1;8=1;9=1;10=1;11=1;12=1;13=1;14=1;15=1;16=1;17=1;18=1;19=1;20=1;21=1;22=1;23=1;24=1;25=1;26=1;27=1;28=1;29=1;30=1;31=1;32=1;33=1;34=1;35=1;36=1;37=1;38=1;39=1;40=1;41=1;42=1;43=1;44=1;45=1;46=1;47=1;48=1;50=1;51=1;53=1;73=1;74=1;79=1;80=1;81=1;82=1;83=1;84=1;85=1;86=1;87=1;88=1;89=1;90=1;91=1;92=1;93=1;94=1;95=1;96=1;97=1;98=1;99=1;100=1;101=1;102=1;103=1;104=1;105=1;106=1;107=1;108=1;109=1;110=1;111=1;112=1;113=1;124=1;125=1;126=1;127=1;128=1;129=1;130=1;131=1;132=1;133=1,fromCore=false,storage=org.sonar.scanner.sensor.DefaultSensorStorage@4c212d2e,saved=false]

Able to reproduce the same issue in DEV instance, the error is not occurring if we uninstall YAML analyser plugin.

Have the same on 9.6.1 (With installed plugins: sonar-ansible-plugin-2.5.1.jar, sonar-shellcheck-plugin-2.5.0.jar, sonar-yaml-plugin-1.7.0.jar)

ERROR: Error during SonarScanner execution java.lang.UnsupportedOperationException: Can not add the same measure twice on terraform/xxx.yaml: DefaultMeasure[component=terraform/xxx.yaml,metric=Metric[uuid=<null>,key=ncloc_data,description=<null>,type=DATA,direction=0,domain=<null>,name=ncloc_data,qualitative=false,userManaged=false,enabled=true,worstValue=<null>,bestValue=<null>,optimizedBestValue=false,hidden=false,deleteHistoricalData=false,decimalScale=<null>],value=2=1;6=1;8=1;14=1;16=1;17=1;18=1;19=1;20=1;21=1;22=1;23=1;24=1;25=1;26=1;27=1;28=1;29=1;30=1;31=1;32=1;33=1;34=1;35=1;36=1;37=1;38=1;39=1;40=1;41=1;42=1;43=1;44=1;45=1;46=1;47=1;48=1;49=1;50=1;51=1;52=1;53=1;54=1;55=1;56=1;57=1;58=1;59=1;60=1;61=1;62=1;63=1;64=1;65=1;66=1;67=1;68=1;69=1;70=1;71=1;72=1;73=1;74=1;75=1;76=1;77=1;78=1;79=1;80=1;81=1;82=1;83=1;84=1;85=1;86=1;87=1;88=1;89=1;90=1;91=1;92=1;93=1;94=1;95=1;96=1;97=1;98=1;99=1;100=1;101=1;102=1;103=1;104=1;105=1;106=1;107=1;108=1;109=1;110=1;111=1;112=1;113=1;114=1;115=1;116=1;117=1;118=1;119=1;120=1;121=1;122=1;123=1;124=1;125=1;126=1;127=1;128=1;129=1;130=1;131=1;132=1;133=1;134=1;135=1;136=1;137=1;138=1;139=1;140=1;141=1;142=1;143=1;144=1;145=1;146=1;147=1;148=1;149=1;150=1;151=1;152=1;153=1;154=1;155=1;156=1;157=1;158=1;159=1;160=1;161=1;162=1;163=1;164=1;165=1;166=1;167=1;168=1;169=1;170=1;171=1;172=1;173=1;174=1;175=1;176=1;177=1;178=1;179=1;180=1;181=1;182=1;183=1;184=1;185=1;186=1;187=1;188=1;189=1;192=1;193=1;194=1;195=1;196=1;197=1;198=1;199=1;200=1;201=1;202=1;203=1;204=1;205=1;206=1;207=1;208=1;209=1;210=1;211=1;212=1;213=1;214=1;215=1;216=1;217=1;218=1;219=1;220=1;221=1;222=1;223=1;224=1;225=1;226=1;227=1;228=1;229=1;230=1,fromCore=false,storage=org.sonar.scanner.sensor.DefaultSensorStorage@661fb92c,saved=false] at org.sonar.scanner.sensor.DefaultSensorStorage.saveMeasure(DefaultSensorStorage.java:175) at org.sonar.scanner.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:135) at org.sonar.api.batch.sensor.measure.internal.DefaultMeasure.doSave(DefaultMeasure.java:96) at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:45) at org.sonar.scanner.DefaultFileLinesContext.save(DefaultFileLinesContext.java:97) at com.github.sbaudoin.sonar.plugins.yaml.linecounter.LineCounter.saveMeasures(LineCounter.java:81) at com.github.sbaudoin.sonar.plugins.yaml.linecounter.LineCounter.analyse(LineCounter.java:57) at com.github.sbaudoin.sonar.plugins.yaml.rules.YamlSensor.computeLinesMeasures(YamlSensor.java:137) at com.github.sbaudoin.sonar.plugins.yaml.rules.YamlSensor.execute(YamlSensor.java:112)

Same issue since I updated sonar to 9.6.1

e88z4 commented

Any update on this issue? We have been impacted with this bug as well. Sonarqube scanned my repo with AWS CloudFormation templates in it. Duplicates measurements were being generated from the native IaC Sonarqube plugin and sonar-yaml plugin.

Any update on this issue? We have been impacted with this bug as well. Sonarqube scanned my repo with AWS CloudFormation templates in it. Duplicates measurements were being generated from the native IaC Sonarqube plugin and sonar-yaml plugin.

Hello. We just disabled the sonar-yaml plugin as we found our version (9.6.1) now has native support for all the languages we wish to scan. CloudFormation scanning is natively included with later versions of Sonarqube.

e88z4 commented

Any update on this issue? We have been impacted with this bug as well. Sonarqube scanned my repo with AWS CloudFormation templates in it. Duplicates measurements were being generated from the native IaC Sonarqube plugin and sonar-yaml plugin.

Hello. We just disabled the sonar-yaml plugin as we found our version (9.6.1) now has native support for all the languages we wish to scan. CloudFormation scanning is natively included with later versions of Sonarqube.

Our organization has sonar-ansible plugin which has dependency on this plugin. Disabling sonar-yaml plugin is not an option.

Hello. Sorry for the late reply. Do you have a sample YAML file to reproduce the issue, please?

OK, so understood, I added some code to work this around