Uploaded image for project: 'Red Hat build of Keycloak'
  1. Red Hat build of Keycloak
  2. RHBK-3240

Cache TLS is not available with protocol UDP after upgrading from 26.2.4 to 26.2.5 [GHI#40046]

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      Before reporting an issue

      [x] I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.

      Area

      infinispan

      Describe the bug

      Server fails to start with error: Error details:: java.lang.RuntimeException: Cache TLS is not available with protocol UDP

      full log:

      May 28 16:33:20 keycloak systemd[1]: Started keycloak.service - Keycloak Authorization Server.
      May 28 16:33:27 keycloak kc.sh[252]: 2025-05-28 16:33:27,831 INFO  [org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory] (main) Starting Infinispan embedded cache manager
      May 28 16:33:27 keycloak kc.sh[252]: 2025-05-28 16:33:27,980 INFO  [com.arjuna.ats.jbossatx] (main) ARJUNA032014: Stopping transaction recovery manager
      May 28 16:33:28 keycloak kc.sh[252]: 2025-05-28 16:33:28,002 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (production) mode
      May 28 16:33:28 keycloak kc.sh[252]: 2025-05-28 16:33:28,002 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) Error details:: java.lang.RuntimeException: Cache TLS is not available with protocol UDP
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.jgroups.JGroupsUtil.validateTlsAvailable(JGroupsUtil.java:70)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.jgroups.impl.BaseJGroupsTlsConfigurator.configure(BaseJGroupsTlsConfigurator.java:34)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.jgroups.impl.JpaJGroupsTlsConfigurator.configure(JpaJGroupsTlsConfigurator.java:52)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.jgroups.JGroupsConfigurator.lambda$configure$0(JGroupsConfigurator.java:145)
      May 28 16:33:28 keycloak kc.sh[252]:         at java.base/java.lang.Iterable.forEach(Iterable.java:75)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.jgroups.JGroupsConfigurator.configure(JGroupsConfigurator.java:145)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.startEmbeddedCacheManager(CacheManagerFactory.java:330)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.getOrCreateEmbeddedCacheManager(CacheManagerFactory.java:134)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory_Uq0wIYR2uOCznFEYZOJeeAi-Obg_Synthetic_ClientProxy.getOrCreateEmbeddedCacheManager(Unknown Source)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.storage.infinispan.QuarkusCacheManagerProvider.getEmbeddedCacheManager(QuarkusCacheManagerProvider.java:33)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.lazyInit(DefaultInfinispanConnectionProviderFactory.java:211)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:119)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:100)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.DefaultKeycloakSession.getOrCreateProvider(DefaultKeycloakSession.java:184)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:173)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.models.sessions.infinispan.InfinispanSingleUseObjectProviderFactory.getSingleUseObjectCache(InfinispanSingleUseObjectProviderFactory.java:82)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.models.sessions.infinispan.InfinispanSingleUseObjectProviderFactory.postInit(InfinispanSingleUseObjectProviderFactory.java:129)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.DefaultKeycloakSessionFactory.initializeProviders(DefaultKeycloakSessionFactory.java:168)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.DefaultKeycloakSessionFactory.initProviderFactories(DefaultKeycloakSessionFactory.java:145)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.DefaultKeycloakSessionFactory.initProviderFactories(DefaultKeycloakSessionFactory.java:126)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.integration.QuarkusKeycloakSessionFactory.init(QuarkusKeycloakSessionFactory.java:87)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.createSessionFactory(QuarkusKeycloakApplication.java:67)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:90)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.onStartupEvent(QuarkusKeycloakApplication.java:52)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication_Observer_onStartupEvent_GNZ8m5QenZ9h9VNelo7awjUZFDE.notify(Unknown Source)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:365)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:347)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:81)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:163)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:114)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runtime.Application.start(Application.java:101)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:121)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.runtime.Quarkus.run(Quarkus.java:77)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:145)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.cli.Picocli.start(Picocli.java:1002)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:49)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine.executeUserObject(CommandLine.java:2030)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine.access$1500(CommandLine.java:148)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
      May 28 16:33:28 keycloak kc.sh[252]:         at picocli.CommandLine.execute(CommandLine.java:2174)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:128)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:116)
      May 28 16:33:28 keycloak kc.sh[252]:         at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:71)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:68)
      May 28 16:33:28 keycloak kc.sh[252]:         at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
      
      

      Version

      26.2.5

      Regression

      [x] The issue is a regression

      Expected behavior

      I downgraded back to 26.2.4 and working fine again.

      Actual behavior

      Server is not starting

      How to Reproduce?

      I'm guessing it's something from my environment, but my keycloak is installed manually inside a container (LXC, Ubuntu 24.04), using postgres db (inside same container). Accessed using Nginx reverse proxy.

      Here are my environment variables:

      Environment="JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64"
      Environment="KC_DB=postgres"
      Environment="KC_DB_USERNAME=XXXXXXX"
      Environment="KC_DB_PASSWORD=XXXXXXX"
      Environment="KC_HOSTNAME=keycloak.example.com"
      Environment="KC_HTTP_ENABLED=true"
      Environment="KC_PROXY_HEADERS=xforwarded"
      

      Anything else?

      No response

              Unassigned Unassigned
              pvlha Pavel Vlha
              Keycloak SRE
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: