Closed
Description
Scenario
- JaCoCo version: 0.8.12
- Operating system: macOS 15.3.2
- Tool integration: Gradle 8.13
- Description of your use case: JaCoCo fails to analyze Java 24 class files (Unsupported class file major version 68)
Current Behaviour
When executing gradle clean build
on a project using Java 24, JaCoCo logs the following exceptions:
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 33 more
Expand for full stack trace
java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:94)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1052)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:164)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:560)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:602)
at java.base/java.lang.Class.forName(Class.java:595)
at java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:755)
at java.base/java.util.ServiceLoader$ModuleServicesLookupIterator.hasNext(ServiceLoader.java:955)
at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
at java.base/sun.util.cldr.CLDRLocaleProviderAdapter.<init>(CLDRLocaleProviderAdapter.java:75)
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:181)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:280)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:251)
at java.base/java.util.Calendar.createCalendar(Calendar.java:1692)
at java.base/java.util.Calendar.getInstance(Calendar.java:1659)
at java.base/java.text.SimpleDateFormat.initializeCalendar(SimpleDateFormat.java:680)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:624)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:603)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.getLastResortErrorLogFile(SystemApplicationClassLoaderWorker.java:137)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:105)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.io.IOException: Error while instrumenting sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:92)
... 32 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 33 more
java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/util/resources/provider/LocaleDataProvider with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:94)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1052)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:164)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:560)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:602)
at java.base/java.lang.Class.forName(Class.java:595)
at java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:755)
at java.base/java.util.ServiceLoader$ModuleServicesLookupIterator.hasNext(ServiceLoader.java:955)
at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
at java.base/sun.util.resources.Bundles.loadBundleFromProviders(Bundles.java:261)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:199)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:158)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:158)
at java.base/sun.util.resources.Bundles.loadBundleOf(Bundles.java:143)
at java.base/sun.util.resources.Bundles.of(Bundles.java:104)
at java.base/sun.util.resources.LocaleData.getBundle(LocaleData.java:179)
at java.base/sun.util.resources.LocaleData.getDateFormatData(LocaleData.java:143)
at java.base/java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:745)
at java.base/java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:151)
at java.base/sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85)
at java.base/java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:357)
at java.base/java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:347)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:626)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:603)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.getLastResortErrorLogFile(SystemApplicationClassLoaderWorker.java:137)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:105)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.io.IOException: Error while instrumenting sun/util/resources/provider/LocaleDataProvider with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:92)
... 35 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 36 more
java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_001 with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:94)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1052)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:164)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:560)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:602)
at java.base/java.lang.Class.forName(Class.java:595)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.loadResourceBundle(LocaleDataProvider.java:53)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.getBundle(LocaleDataProvider.java:39)
at java.base/sun.util.resources.Bundles.loadBundleFromProviders(Bundles.java:264)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:199)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:158)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:158)
at java.base/sun.util.resources.Bundles.loadBundleOf(Bundles.java:143)
at java.base/sun.util.resources.Bundles.of(Bundles.java:104)
at java.base/sun.util.resources.LocaleData.getBundle(LocaleData.java:179)
at java.base/sun.util.resources.LocaleData.getDateFormatData(LocaleData.java:143)
at java.base/java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:745)
at java.base/java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:151)
at java.base/sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85)
at java.base/java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:357)
at java.base/java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:347)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:626)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:603)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.getLastResortErrorLogFile(SystemApplicationClassLoaderWorker.java:137)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:105)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.io.IOException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_001 with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:92)
... 33 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 34 more
java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_150 with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:94)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1052)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:164)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:560)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:602)
at java.base/java.lang.Class.forName(Class.java:595)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.loadResourceBundle(LocaleDataProvider.java:53)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.getBundle(LocaleDataProvider.java:39)
at java.base/sun.util.resources.Bundles.loadBundleFromProviders(Bundles.java:264)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:199)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:158)
at java.base/sun.util.resources.Bundles.loadBundleOf(Bundles.java:143)
at java.base/sun.util.resources.Bundles.of(Bundles.java:104)
at java.base/sun.util.resources.LocaleData.getBundle(LocaleData.java:179)
at java.base/sun.util.resources.LocaleData.getDateFormatData(LocaleData.java:143)
at java.base/java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:745)
at java.base/java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:151)
at java.base/sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85)
at java.base/java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:357)
at java.base/java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:347)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:626)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:603)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.getLastResortErrorLogFile(SystemApplicationClassLoaderWorker.java:137)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:105)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.io.IOException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_150 with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:92)
... 32 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 33 more
java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_DE with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:94)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at java.base/java.lang.ClassLoader.defineClass2(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1052)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:164)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:560)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:602)
at java.base/java.lang.Class.forName(Class.java:595)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.loadResourceBundle(LocaleDataProvider.java:53)
at jdk.localedata/sun.util.resources.provider.LocaleDataProvider.getBundle(LocaleDataProvider.java:39)
at java.base/sun.util.resources.Bundles.loadBundleFromProviders(Bundles.java:264)
at java.base/sun.util.resources.Bundles.findBundleOf(Bundles.java:199)
at java.base/sun.util.resources.Bundles.loadBundleOf(Bundles.java:143)
at java.base/sun.util.resources.Bundles.of(Bundles.java:104)
at java.base/sun.util.resources.LocaleData.getBundle(LocaleData.java:179)
at java.base/sun.util.resources.LocaleData.getDateFormatData(LocaleData.java:143)
at java.base/java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:745)
at java.base/java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:151)
at java.base/sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85)
at java.base/java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:357)
at java.base/java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:347)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:626)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:603)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.getLastResortErrorLogFile(SystemApplicationClassLoaderWorker.java:137)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:105)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.io.IOException: Error while instrumenting sun/text/resources/cldr/ext/FormatData_en_DE with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.agent.rt.internal_aeaf9ab.CoverageTransformer.transform(CoverageTransformer.java:92)
... 31 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.agent.rt.internal_aeaf9ab.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.agent.rt.internal_aeaf9ab.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.agent.rt.internal_aeaf9ab.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 32 more
And in the end, the jacocoTestReport
task fails as well.
The following sections of build.gradle file might be relevant:
java {
toolchain {
languageVersion = JavaLanguageVersion.of(24)
}
}
// ...
jacoco {
toolVersion = '0.8.12'
}
I originally wondered if this is a problem with Gradle, but I can also reproduce the issue by using the jacococli:
java -jar jacococli.jar instrument /build/classes/java/main/com/example/application --dest .
Exception in thread "main" java.io.IOException: Error while instrumenting /build/classes/java/main/com/example/application/App.class with JaCoCo 0.8.12.202403310830/dbfb6f2.
at org.jacoco.cli.internal.core.instr.Instrumenter.instrumentError(Instrumenter.java:161)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrument(Instrumenter.java:111)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrument(Instrumenter.java:136)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrument(Instrumenter.java:156)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrumentAll(Instrumenter.java:196)
at org.jacoco.cli.internal.commands.Instrument.instrument(Instrument.java:89)
at org.jacoco.cli.internal.commands.Instrument.instrumentRecursive(Instrument.java:78)
at org.jacoco.cli.internal.commands.Instrument.instrumentRecursive(Instrument.java:74)
at org.jacoco.cli.internal.commands.Instrument.execute(Instrument.java:61)
at org.jacoco.cli.internal.Main.execute(Main.java:90)
at org.jacoco.cli.internal.Main.main(Main.java:105)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 68
at org.jacoco.cli.internal.asm.ClassReader.<init>(ClassReader.java:200)
at org.jacoco.cli.internal.asm.ClassReader.<init>(ClassReader.java:180)
at org.jacoco.cli.internal.asm.ClassReader.<init>(ClassReader.java:166)
at org.jacoco.cli.internal.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrument(Instrumenter.java:77)
at org.jacoco.cli.internal.core.instr.Instrumenter.instrument(Instrumenter.java:109)
... 9 more
The issue happens when running the above command with JAVA_HOME as either Java 23 or 24.
Wanted Behaviour
JaCoCo should support JDK 24 code bases.
Possible Workarounds
None