Hi !
We’re using maven 3.9, JDK 17, Jenkins Cloubees CI, and the latest version of sonar-maven-plugin to audit our Java projects.
2 days ago, version 5.0.0.4389 was released in maven central. Before that, we were using 4.0.0, no issues.
I saw this thread, but it didn’t really help : SonarCloudAnalyze@2 task fails in Azure DevOps pipeline with "Failed to extract archive" - #13 by skabra
Since version 5, even if we’ve always specified JAVA_HOME=${path_to_jdk17}, it looks like the plugin always tries to use the “JRE Provisionning”.
As I can see when the debug is activated, it downloads the JDK without any issue, then it extracts the JDK (in .sonar/cache), then it tries to use the lib/server/classes.jsa, but for some reasons, this file (and only this file) is empty and the build crashes ! It’s here but size=0kb !
I tried to manually extract the tar.gz of the jdk that was downloaded, and when I check, the classes.jsa file is correct (around 10Mb).
Here’s an extract of the log :
[DEBUG] Create: /my_job_workspace/.sonar/cache
[INFO] User cache: /my_job_workspace/.sonar/cache
[DEBUG] Create: /my_job_workspace/.sonar/cache/_tmp
[DEBUG] Loaded [477] system trusted certificates
[DEBUG] --> GET https://sonar.mycompany.com/api/v2/analysis/version
[DEBUG] <-- 200 https://sonar.mycompany.com/api/v2/analysis/version (168ms, 12-byte body)
[INFO] JRE provisioning: os[linux], arch[x86_64]
[DEBUG] --> GET https://sonar.mycompany.com/api/v2/analysis/jres?os=linux&arch=x86_64
[DEBUG] <-- 200 https://sonar.mycompany.com/api/v2/analysis/jres?os=linux&arch=x86_64 (26ms, unknown-length body)
[DEBUG] Download https://sonar.mycompany.com/api/v2/analysis/jres/9fe68398-f6a1-4c70-993f-72253d2704b0 to /my_job_workspace/.sonar/cache/_tmp/fileCache16652571721628855271.tmp
[DEBUG] --> GET https://sonar.mycompany.com/api/v2/analysis/jres/9fe68398-f6a1-4c70-993f-72253d2704b0
[DEBUG] <-- 200 https://sonar.mycompany.com/api/v2/analysis/jres/9fe68398-f6a1-4c70-993f-72253d2704b0 (21ms, unknown-length body)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for myproject 1.0.0-SNAPSHOT:
[INFO]
[INFO] myproject ................... FAILURE [ 5.106 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.932 s
[INFO] Finished at: 2024-11-07T12:00:44-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar (default-cli) on project myproject: Failed to extract archive: /my_job_workspace/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/jre13963618380392733196/jdk-17.0.11+9-jre/lib/server/classes.jsa -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar (default-cli) on project n3-infonuagique-test-integration: Failed to extract archive
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:299)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:963)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:199)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to extract archive
at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:80)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:109)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:299)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:963)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:199)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.IllegalStateException: Failed to extract archive
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.extractArchive (JavaRunnerFactory.java:200)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.getJreFromServer (JavaRunnerFactory.java:145)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.createRunner (JavaRunnerFactory.java:85)
at org.sonarsource.scanner.lib.internal.ScannerEngineLauncherFactory.createLauncher (ScannerEngineLauncherFactory.java:53)
at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.bootstrap (ScannerEngineBootstrapper.java:123)
at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:69)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:109)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:299)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:963)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:199)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.nio.file.NoSuchFileException: /app/agent-complet/workspace/Produits/n3-java/ic/N3/n3-infonuagique-test-integration.main_4_4.build-bugsonar-jdk21/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/jre13963618380392733196/jdk-17.0.11+9-jre/lib/server/classes.jsa
at sun.nio.fs.UnixException.translateToIOException (UnixException.java:92)
at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:106)
at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:111)
at sun.nio.fs.UnixFileSystemProvider.newByteChannel (UnixFileSystemProvider.java:261)
at java.nio.file.spi.FileSystemProvider.newOutputStream (FileSystemProvider.java:482)
at java.nio.file.Files.newOutputStream (Files.java:227)
at java.nio.file.Files.copy (Files.java:3140)
at org.sonarsource.scanner.lib.internal.util.CompressionUtils.extractTarGz (CompressionUtils.java:146)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.extract (JavaRunnerFactory.java:234)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.extractArchive (JavaRunnerFactory.java:193)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.getJreFromServer (JavaRunnerFactory.java:145)
at org.sonarsource.scanner.lib.internal.JavaRunnerFactory.createRunner (JavaRunnerFactory.java:85)
at org.sonarsource.scanner.lib.internal.ScannerEngineLauncherFactory.createLauncher (ScannerEngineLauncherFactory.java:53)
at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.bootstrap (ScannerEngineBootstrapper.java:123)
at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:69)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:109)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:299)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:963)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:199)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
I don’t know how to deactivate the JRE Provisionning, as I said earlier, we’ve always been using JAVA_HOME=${jdk17}, I even tried JDK 21, same issue…
I don’t mind using this provisionning, but why is the classes file empty ? And if it can’t be fixed, could you add the possibility to deactivate the provisionning ?
Meanwhile, I’ve forced version 4 to fix the issue, but I can’t stay on version 4 forever.
Thank you,
Isabelle