#9833 Nightly test failure (f43+) in test_idp.py::TestIDPKeycloak::test_auth_keycloak_idp
Closed: fixed by frenaud. Opened by frenaud.

The nightly test test_idp.py::TestIDPKeycloak::test_auth_keycloak_idp is failing in rawhide during the installation of the keycloak server.

The test is calling /opt/keycloak/bin/kc.sh build but the command fails with

WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.jboss.threads.JBossExecutors (file:/opt/keycloak/lib/lib/main/org.jboss.threads.jboss-threads-3.6.1.Final.jar)
WARNING: Please consider reporting this to the maintainers of class org.jboss.threads.JBossExecutors
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
ERROR: Failed to run 'build' command.
ERROR: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
    [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 23 (67) - update Byte Buddy or set net.bytebuddy.experimental as a VM property
    at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:100)
    at net.bytebuddy.pool.TypePool$Default.parse(TypePool.java:878)
    at net.bytebuddy.pool.TypePool$Default.doDescribe(TypePool.java:864)
    at net.bytebuddy.pool.TypePool$AbstractBase.describe(TypePool.java:597)
    at net.bytebuddy.pool.TypePool$AbstractBase$Hierarchical.describe(TypePool.java:680)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$TokenizedGenericType.toErasure(TypePool.java:6929)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$GenericTypeToken$Resolution$Raw$RawAnnotatedType.of(TypePool.java:3780)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$GenericTypeToken$Resolution$Raw.resolveSuperClass(TypePool.java:3648)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription.getSuperClass(TypePool.java:2796)
    at net.bytebuddy.description.type.TypeDescription$Generic$OfNonGenericType.getSuperClass(TypeDescription.java:3681)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.doAnalyze(MethodGraph.java:743)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyze(MethodGraph.java:710)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.analyzeNullable(MethodGraph.java:729)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.doAnalyze(MethodGraph.java:743)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$Default.compile(MethodGraph.java:668)
    at net.bytebuddy.dynamic.scaffold.MethodGraph$Compiler$AbstractBase.compile(MethodGraph.java:519)
    at net.bytebuddy.dynamic.scaffold.MethodRegistry$Default.prepare(MethodRegistry.java:472)
    at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.toTypeWriter(SubclassDynamicTypeBuilder.java:212)
    at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4062)
    at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3732)
    at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState.make(ByteBuddyState.java:240)
    at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState.make(ByteBuddyState.java:228)
    at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyProxyHelper.buildUnloadedProxy(ByteBuddyProxyHelper.java:80)
    at io.quarkus.hibernate.orm.deployment.ProxyBuildingHelper.buildUnloadedProxy(ProxyBuildingHelper.java:42)
    at io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor.generatedProxies(HibernateOrmProcessor.java:1577)
    at io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor.pregenProxies(HibernateOrmProcessor.java:434)
    at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:735)
    at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
    at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
    at java.base/java.lang.Thread.run(Thread.java:1474)
    at org.jboss.threads.JBossThread.run(JBossThread.java:483)

The test is using keycloak 26.1.0 from https://github.com/keycloak/keycloak/releases/download/26.1.0/keycloak-26.1.0.zip but could probably switch to a more recent version on rawhide (26.3.2 was released last week).

Logs in https://$ARTIFACTS_SERVER/idm-ci/freeipa_upstream_nightly/Nightly-rawhide/master/2025-07-26_19-30/rawhide/test_external_idp/1/


Currently the test is installing java-21 and keycloak 26.1.0 which pulls in an old version of quarkus and hits this issue:
https://github.com/quarkusio/quarkus/issues/48404 quarkus-maven-plugin not JDK 25 compatible

The above issue was marked as backport-3.24 and keycloak main branch is now using quarkus 3.24.5 (https://github.com/keycloak/keycloak/commit/6c4e813f592cf6015e85b354c96058ccd959ff0e).
When an official keycloak version with this patch is done, we can switch to it and java 25.

master:

  • ec308a0358f109bd9acb1cdb189a4019fb7c53f1 PRCI: switch testing from f41 and f42 to f42 and f43
  • 54f9e0f3e69dde43082889afe101d01edfe93fdd test_idp: use more recent keycloak server

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata