Open
Description
Describe the bug
By chance I was trying to build a quarkus-integration-test with a JDK 25 (JDK 25+26) and the maven build failed due to a hibernate/bytebuddy incompatibility (which seems strange given raphw/byte-buddy#1786):
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ quarkus-integration-test-jpa ---
[INFO] skip non existing resourceDirectory /home/sgehwolf/Documents/openjdk/quarkus/quarkus-source/integration-tests/jpa/src/test/resources
[INFO]
[INFO] --- compiler:3.14.0:testCompile (default-testCompile) @ quarkus-integration-test-jpa ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 23 source files with javac [debug deprecation parameters release 17] to target/test-classes
[INFO]
[INFO] --- surefire:3.5.3:test (default-test) @ quarkus-integration-test-jpa ---
[INFO] Skipped
[INFO]
[INFO] --- quarkus:999-SNAPSHOT:build (default) @ quarkus-integration-test-jpa ---
[INFO] [quarkus-build-caching-extension] Quarkus previous configuration not found
[INFO] [quarkus-build-caching-extension] Quarkus build goal marked as not cacheable
[INFO] [quarkus-build-caching-extension] Quarkus previous configuration not found
[INFO] [quarkus-build-caching-extension] Quarkus build goal marked as not cacheable
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.013 s
[INFO] Finished at: 2025-06-16T12:19:58+02:00
[INFO] ------------------------------------------------------------------------
[INFO] Njord session closed
[INFO] 14 goals, 14 executed
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default) on project quarkus-integration-test-jpa: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor#pregenProxies threw an exception: java.lang.IllegalArgumentException: Java 25 (69) is not supported by the current version of Byte Buddy which officially supports Java 24 (68) - update Byte Buddy or set net.bytebuddy.experimental as a VM property
[ERROR] at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:120)
[ERROR] at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:95)
[ERROR] at net.bytebuddy.utility.AsmClassReader$Factory$Default.make(AsmClassReader.java:82)
[ERROR] at net.bytebuddy.pool.TypePool$Default.parse(TypePool.java:912)
[ERROR] at net.bytebuddy.pool.TypePool$Default.doDescribe(TypePool.java:898)
[ERROR] at net.bytebuddy.pool.TypePool$AbstractBase.describe(TypePool.java:599)
[ERROR] at net.bytebuddy.pool.TypePool$AbstractBase$Hierarchical.describe(TypePool.java:682)
[ERROR] at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$GenericTypeToken$ForRawType.toGenericType(TypePool.java:4456)
[ERROR] at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$TokenizedGenericType.resolve(TypePool.java:7004)
[ERROR] at net.bytebuddy.description.type.TypeDescription$Generic$LazyProjection.accept(TypeDescription.java:6301)
[ERROR] at net.bytebuddy.description.type.TypeDescription$Generic$LazyProjection$WithResolvedErasure.resolve(TypeDescription.java:6953)
[ERROR] at net.bytebuddy.description.type.TypeDescription$Generic$LazyProjection.accept(TypeDescription.java:6301)
[ERROR] at net.bytebuddy.description.type.TypeDescription$Generic$LazyProjection$WithResolvedErasure.resolve(TypeDescription.java:6953)
[ERROR] at net.bytebuddy.description.type.TypeDescription$Generic$LazyProjection.accept(TypeDescription.java:6301)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyzeNullable(MethodGraph.java:729)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.doAnalyze(MethodGraph.java:743)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyze(MethodGraph.java:710)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyzeNullable(MethodGraph.java:729)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.doAnalyze(MethodGraph.java:743)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyze(MethodGraph.java:710)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyzeNullable(MethodGraph.java:729)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.doAnalyze(MethodGraph.java:743)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.compile(MethodGraph.java:668)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$AbstractBase.compile(MethodGraph.java:519)
[ERROR] at net.bytebuddy.dynamic.scaffold.MethodRegistry$Default.prepare(MethodRegistry.java:472)
[ERROR] at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.toTypeWriter(SubclassDynamicTypeBuilder.java:222)
[ERROR] at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4092)
[ERROR] at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3762)
[ERROR] at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState.make(ByteBuddyState.java:273)
[ERROR] at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState.make(ByteBuddyState.java:263)
[ERROR] at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyProxyHelper.buildUnloadedProxy(ByteBuddyProxyHelper.java:75)
[ERROR] at io.quarkus.hibernate.orm.deployment.ProxyBuildingHelper.buildUnloadedProxy(ProxyBuildingHelper.java:42)
[ERROR] at io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor.generatedProxies(HibernateOrmProcessor.java:1367)
[ERROR] at io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor.pregenProxies(HibernateOrmProcessor.java:453)
[ERROR] at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:735)
[ERROR] at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:1474)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]
Not sure if this is supposed to work. Given that JDK 25 will GA in September (3 months), we should try to improve compatibility with it.
Steps to reproduce (on Linux) should be something like this:
export JAVA_HOME="/path/to/jdk-25+26"
export GRAALVM_HOME="/path/to/graalvm-for-jdk-25"
export PATH="$PATH:$GRAALVM_HOME/bin"
podman system service --time=0 unix:/run/user/$(id -u)/podman.sock &
export DOCKER_HOST="unix:/run/user/$(id -u)/podman.sock"
pushd integration-tests
../mvnw --fae -pl "jpa" -Dnative -Dtest-containers -Dmaven.test.failure.ignore=true -Dstart-containers -Dquarkus.native.enable-reports -Dnative.surefire.skip -Dformat.skip -Dno-descriptor-tests -Dlog.level=ALL clean verify
popd
Expected behavior
quarkus-maven-build passes
Actual behavior
quarkus-maven-build fails