8000 Authentication request can fail with `unknown_error` · Issue #38970 · keycloak/keycloak · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Authentication request can fail with unknown_error #38970
Closed
@gjvoosten

Description

@gjvoosten

Before reporting an issue

  • 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

authentication

Describe the bug

When sending authentication requests like this one to Keycloak 26.2.0 in rapid succession:

    // Fetch a bearer token for the user
    const authResponse = await fetch(
      `${keycloakBaseUrl}/realms/${keycloakRealm}/protocol/openid-connect/token`,
      {
        method: "POST",
        body: `client_id=${keycloakClientId}&username=${username}&password=${password}&grant_type=password`,
        headers: {
          "Content-Type": "application/x-www-form-urlencoded"
        }
      }
    )

they can fail with a response like:

{
    "error": "unknown_error",
    "error_description": "For more on this error consult the server log."
}

This happens to us on a GitHub Action runner (with limited CPU power) with Keycloak 26.2.0 running in a Docker container. On Keycloak 26.1.5 and earlier this does not happen. It looks related to #38313 which adds a VERSION column to the database.

Logs from the Docker container with docker logs are:

2025-04-14T15:35:26.0658030Z Updating the configuration and installing your custom providers, if any. Please wait.
2025-04-14T15:35:26.0659544Z 2025-04-14 15:33:19,258 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 13604ms
2025-04-14T15:35:26.0660803Z Running the server in development mode. DO NOT use this configuration in production.
2025-04-14T15:35:26.0662671Z 2025-04-14 15:33:29,247 INFO  [org.keycloak.quarkus.runtime.storage.database.liquibase.QuarkusJpaUpdaterProvider] (main) Initializing database schema. Using changelog META-INF/jpa-changelog-master.xml
2025-04-14T15:35:26.0664769Z 2025-04-14 15:33:33,883 INFO  [org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory] (main) Starting Infinispan embedded cache manager
2025-04-14T15:35:26.0666504Z 2025-04-14 15:33:33,953 INFO  [org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory] (main) JGroups JDBC_PING discovery enabled.
2025-04-14T15:35:26.0667806Z 2025-04-14 15:33:34,099 INFO  [org.infinispan.CONTAINER] (main) Virtual threads support enabled
2025-04-14T15:35:26.0669206Z 2025-04-14 15:33:34,357 INFO  [org.infinispan.CONTAINER] (main) ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
2025-04-14T15:35:26.0671115Z 2025-04-14 15:33:34,801 INFO  [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (main) Node name: node_258595, Site name: null
2025-04-14T15:35:26.0673010Z 2025-04-14 15:33:35,222 INFO  [org.keycloak.exportimport.dir.DirImportProvider] (main) Importing from directory /opt/keycloak/bin/../data/import
2025-04-14T15:35:26.0674330Z 2025-04-14 15:33:35,232 INFO  [org.keycloak.services] (main) KC-SERVICES0050: Initializing master realm
2025-04-14T15:35:26.0675527Z 2025-04-14 15:33:38,091 INFO  [org.keycloak.services] (main) KC-SERVICES0030: Full model import requested. Strategy: IGNORE_EXISTING
2025-04-14T15:35:26.0676713Z 2025-04-14 15:33:42,439 INFO  [org.keycloak.exportimport.util.ImportUtils] (main) Realm 'TEST' imported
2025-04-14T15:35:26.0677738Z 2025-04-14 15:33:42,524 INFO  [org.keycloak.services] (main) KC-SERVICES0032: Import finished successfully
2025-04-14T15:35:26.0678895Z 2025-04-14 15:33:42,528 WARN  [org.keycloak.services] (main) KC-SERVICES0110: Environment variable 'KEYCLOAK_ADMIN' is deprecated, use 'KC_BOOTSTRAP_ADMIN_USERNAME' instead
2025-04-14T15:35:26.0679907Z 2025-04-14 15:33:42,528 WARN  [org.keycloak.services] (main) KC-SERVICES0110: Environment variable 'KEYCLOAK_ADMIN_PASSWORD' is deprecated, use 'KC_BOOTSTRAP_ADMIN_PASSWORD' instead
2025-04-14T15:35:26.0680770Z 2025-04-14 15:33:42,730 INFO  [org.keycloak.services] (main) KC-SERVICES0077: Created temporary admin user with username admin
2025-04-14T15:35:26.0681847Z 2025-04-14 15:33:43,187 INFO  [io.quarkus] (main) Keycloak 26.2.0 on JVM (powered by Quarkus 3.20.0) started in 23.639s. Listening on: http://0.0.0.0:8080
2025-04-14T15:35:26.0682477Z 2025-04-14 15:33:43,187 INFO  [io.quarkus] (main) Profile dev activated. 
2025-04-14T15:35:26.0683333Z 2025-04-14 15:33:43,188 INFO  [io.quarkus] (main) Installed features: [agroal, cdi, hibernate-orm, jdbc-h2, keycloak, narayana-jta, opentelemetry, reactive-routes, rest, rest-jackson, smallrye-context-propagation, vertx]
2025-04-14T15:35:26.0684683Z 2025-04-14 15:35:18,641 INFO  [org.hibernate.orm.jdbc.batch] (executor-thread-2) HHH100503: On release of batch it still contained JDBC statements
2025-04-14T15:35:26.0687178Z 2025-04-14 15:35:18,647 WARN  [com.arjuna.ats.arjuna] (executor-thread-2) ARJUNA012125: TwoPhaseCoordinator.beforeCompletion - failed for SynchronizationImple< 0:ffffac110003:aadd:67fd2ac6:2cf, org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization@364de21a >: jakarta.persistence.OptimisticLockException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update CREDENTIAL set CREATED_DATE=?,CREDENTIAL_DATA=?,PRIORITY=?,SALT=?,SECRET_DATA=?,TYPE=?,USER_ID=?,USER_LABEL=?,VERSION=? where ID=? and VERSION=?
2025-04-14T15:35:26.0689747Z 	at org.hibernate.internal.ExceptionConverterImpl.wrapStaleStateException(ExceptionConverterImpl.java:221)
2025-04-14T15:35:26.0690637Z 	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:95)
2025-04-14T15:35:26.0691977Z 	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:167)
2025-04-14T15:35:26.0693096Z 	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:173)
2025-04-14T15:35:26.0694061Z 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1433)
2025-04-14T15:35:26.0694847Z 	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:491)
2025-04-14T15:35:26.0695635Z 	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2354)
2025-04-14T15:35:26.0696321Z 	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:1978)
2025-04-14T15:35:26.0697089Z 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:439)
2025-04-14T15:35:26.0698098Z 	at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:336)
2025-04-14T15:35:26.0699547Z 	at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
2025-04-14T15:35:26.0701034Z 	at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
2025-04-14T15:35:26.0702269Z 	at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:52)
2025-04-14T15:35:26.0703099Z 	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:348)
2025-04-14T15:35:26.0703787Z 	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:66)
2025-04-14T15:35:26.0704330Z 	at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:135)
2025-04-14T15:35:26.0705029Z 	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1307)
2025-04-14T15:35:26.0705864Z 	at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:104)
2025-04-14T15:35:26.0706625Z 	at io.quarkus.narayana.jta.runtime.NotifyingTransactionManager.commit(NotifyingTransactionManager.java:70)
2025-04-14T15:35:26.0707328Z 	at org.keycloak.transaction.JtaTransactionWrapper.commit(JtaTransactionWrapper.java:102)
2025-04-14T15:35:26.0708136Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.lambda$commitWithTracing$0(DefaultKeycloakTransactionManager.java:169)
2025-04-14T15:35:26.0708899Z 	at org.keycloak.tracing.NoopTracingProvider.trace(NoopTracingProvider.java:59)
2025-04-14T15:35:26.0709444Z 	at org.keycloak.tracing.NoopTracingProvider.trace(NoopTracingProvider.java:69)
2025-04-14T15:35:26.0710171Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.commitWithTracing(DefaultKeycloakTransactionManager.java:168)
2025-04-14T15:35:26.0711217Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:136)
2025-04-14T15:35:26.0712210Z 	at org.keycloak.services.DefaultKeycloakSession.closeTransactionManager(DefaultKeycloakSession.java:396)
2025-04-14T15:35:26.0712903Z 	at org.keycloak.services.DefaultKeycloakSession.close(DefaultKeycloakSession.java:361)
2025-04-14T15:35:26.0713700Z 	at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.close(Unknown Source)
2025-04-14T15:35:26.0714798Z 	at org.keycloak.quarkus.runtime.transaction.TransactionalSessionHandler.close(TransactionalSessionHandler.java:60)
2025-04-14T15:35:26.0715628Z 	at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.closeSession(CloseSessionFilter.java:67)
2025-04-14T15:35:26.0716408Z 	at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.filter(CloseSessionFilter.java:63)
2025-04-14T15:35:26.0717249Z 	at org.jboss.resteasy.reactive.server.handlers.ResourceResponseFilterHandler.handle(ResourceResponseFilterHandler.java:25)
2025-04-14T15:35:26.0718289Z 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:150)
2025-04-14T15:35:26.0719310Z 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2025-04-14T15:35:26.0720051Z 	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
2025-04-14T15:35:26.0720663Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
2025-04-14T15:35:26.0721258Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
2025-04-14T15:35:26.0722123Z 	at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
2025-04-14T15:35:26.0722751Z 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
2025-04-14T15:35:26.0723309Z 	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
2025-04-14T15:35:26.0723873Z 	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
2025-04-14T15:35:26.0724503Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2025-04-14T15:35:26.0724981Z 	at java.base/java.lang.Thread.run(Thread.java:1583)
2025-04-14T15:35:26.0726086Z Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update CREDENTIAL set CREATED_DATE=?,CREDENTIAL_DATA=?,PRIORITY=?,SALT=?,SECRET_DATA=?,TYPE=?,USER_ID=?,USER_LABEL=?,VERSION=? where ID=? and VERSION=?
2025-04-14T15:35:26.0727267Z 	at org.hibernate.jdbc.Expectations.checkBatched(Expectations.java:80)
2025-04-14T15:35:26.0727764Z 	at org.hibernate.jdbc.Expectation$RowCount.verifyOutcome(Expectation.java:174)
2025-04-14T15:35:26.0728415Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.checkRowCounts(BatchImpl.java:319)
2025-04-14T15:35:26.0729066Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:285)
2025-04-14T15:35:26.0729964Z 	at org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:67)
2025-04-14T15:35:26.0730833Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
2025-04-14T15:35:26.0731612Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
2025-04-14T15:35:26.0732303Z 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
2025-04-14T15:35:26.0732929Z 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:674)
2025-04-14T15:35:26.0733451Z 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:511)
2025-04-14T15:35:26.0734308Z 	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:414)
2025-04-14T15:35:26.0735126Z 	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:41)
2025-04-14T15:35:26.0735939Z 	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
2025-04-14T15:35:26.0736628Z 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1429)
2025-04-14T15:35:26.0736978Z 	... 38 more
2025-04-14T15:35:26.0737200Z 
2025-04-14T15:35:26.0737763Z 2025-04-14 15:35:18,682 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-2) Uncaught server error: org.keycloak.models.ModelException: Database operation failed
2025-04-14T15:35:26.0738762Z 	at org.keycloak.connections.jpa.PersistenceExceptionConverter.convert(PersistenceExceptionConverter.java:106)
2025-04-14T15:35:26.0739501Z 	at org.keycloak.connections.jpa.JpaExceptionConverter.convert(JpaExceptionConverter.java:31)
2025-04-14T15:35:26.0740210Z 	at org.keycloak.transaction.JtaTransactionWrapper.lambda$handleException$0(JtaTransactionWrapper.java:77)
2025-04-14T15:35:26.0740876Z 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
2025-04-14T15:35:26.0741615Z 	at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1787)
2025-04-14T15:35:26.0742294Z 	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
2025-04-14T15:35:26.0742878Z 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
2025-04-14T15:35:26.0743486Z 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
2025-04-14T15:35:26.0744100Z 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
2025-04-14T15:35:26.0744689Z 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2025-04-14T15:35:26.0745244Z 	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
2025-04-14T15:35:26.0745877Z 	at org.keycloak.transaction.JtaTransactionWrapper.handleException(JtaTransactionWrapper.java:79)
2025-04-14T15:35:26.0746543Z 	at org.keycloak.transaction.JtaTransactionWrapper.commit(JtaTransactionWrapper.java:104)
2025-04-14T15:35:26.0747335Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.lambda$commitWithTracing$0(DefaultKeycloakTransactionManager.java:169)
2025-04-14T15:35:26.0748085Z 	at org.keycloak.tracing.NoopTracingProvider.trace(NoopTracingProvider.java:59)
2025-04-14T15:35:26.0748634Z 	at org.keycloak.tracing.NoopTracingProvider.trace(NoopTracingProvider.java:69)
2025-04-14T15:35:26.0749361Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.commitWithTracing(DefaultKeycloakTransactionManager.java:168)
2025-04-14T15:35:26.0750224Z 	at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:136)
2025-04-14T15:35:26.0751013Z 	at org.keycloak.services.DefaultKeycloakSession.closeTransactionManager(DefaultKeycloakSession.java:396)
2025-04-14T15:35:26.0751929Z 	at org.keycloak.services.DefaultKeycloakSession.close(DefaultKeycloakSession.java:361)
2025-04-14T15:35:26.0752727Z 	at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.close(Unknown Source)
2025-04-14T15:35:26.0753652Z 	at org.keycloak.quarkus.runtime.transaction.TransactionalSessionHandler.close(TransactionalSessionHandler.java:60)
2025-04-14T15:35:26.0754479Z 	at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.closeSession(CloseSessionFilter.java:67)
2025-04-14T15:35:26.0755259Z 	at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.filter(CloseSessionFilter.java:63)
2025-04-14T15:35:26.0756096Z 	at org.jboss.resteasy.reactive.server.handlers.ResourceResponseFilterHandler.handle(ResourceResponseFilterHandler.java:25)
2025-04-14T15:35:26.0757280Z 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:150)
2025-04-14T15:35:26.0758312Z 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2025-04-14T15:35:26.0759054Z 	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
2025-04-14T15:35:26.0759658Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
2025-04-14T15:35:26.0760253Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
2025-04-14T15:35:26.0760964Z 	at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
2025-04-14T15:35:26.0761794Z 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
2025-04-14T15:35:26.0762356Z 	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
2025-04-14T15:35:26.0762922Z 	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
2025-04-14T15:35:26.0763561Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2025-04-14T15:35:26.0764045Z 	at java.base/java.lang.Thread.run(Thread.java:1583)
2025-04-14T15:35:26.0765145Z Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update CREDENTIAL set CREATED_DATE=?,CREDENTIAL_DATA=?,PRIORITY=?,SALT=?,SECRET_DATA=?,TYPE=?,USER_ID=?,USER_LABEL=?,VERSION=? where ID=? and VERSION=?
2025-04-14T15:35:26.0766320Z 	at org.hibernate.jdbc.Expectations.checkBatched(Expectations.java:80)
2025-04-14T15:35:26.0766820Z 	at org.hibernate.jdbc.Expectation$RowCount.verifyOutcome(Expectation.java:174)
2025-04-14T15:35:26.0767394Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.checkRowCounts(BatchImpl.java:319)
2025-04-14T15:35:26.0768039Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:285)
2025-04-14T15:35:26.0768939Z 	at org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:67)
2025-04-14T15:35:26.0769811Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
2025-04-14T15:35:26.0770416Z 	at org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
2025-04-14T15:35:26.0771061Z 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
2025-04-14T15:35:26.0771798Z 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:674)
2025-04-14T15:35:26.0772320Z 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:511)
2025-04-14T15:35:26.0773037Z 	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:414)
2025-04-14T15:35:26.0773847Z 	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:41)
2025-04-14T15:35:26.0774669Z 	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
2025-04-14T15:35:26.0775358Z 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1429)
2025-04-14T15:35:26.0775835Z 	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:491)
2025-04-14T15:35:26.0776423Z 	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2354)
2025-04-14T15:35:26.0777078Z 	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:1978)
2025-04-14T15:35:26.0777831Z 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:439)
2025-04-14T15:35:26.0779031Z 	at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:336)
2025-04-14T15:35:26.0780615Z 	at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
2025-04-14T15:35:26.0782207Z 	at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
2025-04-14T15:35:26.0783276Z 	at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:52)
2025-04-14T15:35:26.0784097Z 	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:348)
2025-04-14T15:35:26.0784912Z 	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:66)
2025-04-14T15:35:26.0785464Z 	at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:135)
2025-04-14T15:35:26.0786142Z 	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1307)
2025-04-14T15:35:26.0786980Z 	at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:104)
2025-04-14T15:35:26.0787745Z 	at io.quarkus.narayana.jta.runtime.NotifyingTransactionManager.commit(NotifyingTransactionManager.java:70)
2025-04-14T15:35:26.0788448Z 	at org.keycloak.transaction.JtaTransactionWrapper.commit(JtaTransactionWrapper.java:102)
2025-04-14T15:35:26.0788879Z 	... 23 more
2025-04-14T15:35:26.0788989Z 

(and many more of the same stacktraces)

Version

26.2.0

Regression

  • The issue is a regression

Expected behavior

Authentication requests should succeed and return a valid JSON response.

Actual behavior

Authentication requests can return an error like:

{
    "error": "unknown_error",
    "error_description": "For more on this error consult the server log."
}

How to Reproduce?

See above. It's hard to reproduce on a fast system, but consistently happened for us when running on a GitHub Actions VM (with limited resources).
[EDIT: I managed to trigger the issue locally as well, by running the Keycloak Docker container with just one CPU core (--cpuset).]

Anything else?

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0