Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Support JDK 24 #1858

Copy link
Copy link
Closed
Closed
Copy link
@danishnawab

Description

@danishnawab
Issue body actions

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.