web-dev-qa-db-fra.com

Erreur de téléchargement du rapport du scanner Sonarqube 500

Lorsque je crée un nouveau projet avec les propriétés du projet SonarQube, j'obtiens cette erreur:

04:13:57.939 DEBUG: Upload report
04:14:11.533 DEBUG: POST 500 sonarserverurl/api/ce/submit?projectKey=Somename&projectName=Somename | time=13580ms
04:14:11.540 INFO: ------------------------------------------------------------------------
04:14:11.540 INFO: EXECUTION FAILURE
04:14:11.540 INFO: ------------------------------------------------------------------------
04:14:11.540 INFO: Total time: 2:25.443s
04:14:11.639 INFO: Final Memory: 56M/647M
04:14:11.639 INFO: ------------------------------------------------------------------------
04:14:11.639 ERROR: Error during SonarQube Scanner execution
org.sonarqube.ws.client.HttpException: Error 500 on sonarserver:9000/api/ce/submit?projectKey=Some name&projectName=Some name* : {"errors":[{"msg":"An error has occurred. Please contact your administrator"}]}
        at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.Java:36)
        at org.sonar.scanner.bootstrap.ScannerWsClient.failIfUnauthorized(ScannerWsClient.Java:106)
        at org.sonar.scanner.bootstrap.ScannerWsClient.call(ScannerWsClient.Java:75)
        at org.sonar.scanner.report.ReportPublisher.upload(ReportPublisher.Java:177)
        at org.sonar.scanner.report.ReportPublisher.execute(ReportPublisher.Java:131)
        at org.sonar.scanner.phases.PublishPhaseExecutor.publishReportJob(PublishPhaseExecutor.Java:71)
        at org.sonar.scanner.phases.PublishPhaseExecutor.executeOnRoot(PublishPhaseExecutor.Java:53)
        at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.Java:79)
        at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.Java:175)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:143)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:128)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.Java:262)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.Java:257)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.Java:247)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:143)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:128)
        at org.sonar.scanner.task.ScanTask.execute(ScanTask.Java:47)
        at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.Java:86)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:143)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:128)
        at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.Java:118)
        at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.Java:117)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.Java:63)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:498)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.Java:60)
        at com.Sun.proxy.$Proxy0.execute(Unknown Source)
        at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.Java:233)
        at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.Java:151)
        at org.sonarsource.scanner.cli.Main.runAnalysis(Main.Java:123)
        at org.sonarsource.scanner.cli.Main.execute(Main.Java:77)
        at org.sonarsource.scanner.cli.Main.main(Main.Java:61)
04:14:11.640 DEBUG: Execution getVersion
04:14:11.640 DEBUG: Execution stop

Mon fichier sonar-project.properties est:

sonar.Host.url=http : // sonarqube_server:9000
sonar.projectKey=sonar.org:projectname
sonar.projectName=WP_projectname
sonar.projectVersion=1.0
sonar.exclusions=bower_components/**,public_html/bower_components/**
sonar.sources=.
11
Parth Mewada

Le problème souvent est que SonarQube génère un énorme rapport puis essaie de le télécharger en une seule fois, provoquant HTTP 500, parce que MySQL refuse d'accepter un si grand corps de la demande.

La solution rapide consiste à modifier la configuration du serveur (my.ini fichier), pour augmenter la taille compressée (de 4 Mo par défaut à la taille de votre rapport):

[mysqld]
max_allowed_packet = 16M

par https://groups.google.com/forum/#!msg/sonarqube/c_DcwoN4qlg/wmnosoJkBAAJ

p.s .: vous devrez également redémarrer les services MySQL et sonar pour appliquer les modifications.

29
c69

J'ai eu le même problème. J'ai résolu ce problème au lieu de changer le fichier my.ini J'ai exclu un dossier inutile du sonar. Vous pouvez le faire à partir de l'onglet des paramètres d'administration.

1
Deepak Kumbhar

J'ai rencontré le même problème avec le message d'erreur suivant visible dans sonarqube-6.7.4/logs/web.log:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: The size of BLOB/TEXT data
inserted in one transaction is greater than 10% of redo log size.
Increase the redo log size using innodb_log_file_size.

Encore une fois, la meilleure option consiste à réduire la taille des archives de rapport à l'exclusion des dossiers ou fichiers non pertinents.

Soit dit en passant, si vous devez vraiment régler MySQL pour des rapports compressés de 30 Mio, vous pouvez créer /etc/mysql/conf.d/sonarqube.cnf sur un système Linux basé sur Debian avec du contenu:

# Work-around Sonarqube large report storage trouble
[mysqld]
innodb_log_file_size = 150994944

Référence: https://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_log_file_size

1
Yves Martin