Description
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
admin/ui
Describe the bug
Going to credentials tab of an orphan LDAP user crashes UI
Version
26.2.3
Regression
- The issue is a regression
Expected behavior
No crash should occur
Actual behavior
Corresponding logs contain
2025-05-14 15:34:11,813 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-154) Uncaught server error: java.lang.IllegalStateException: LDAP object not found for user
with attribute [entryUUID] and value [45d5358e-c4f9-103f-8d8e-4361b6c7dd51]
at org.keycloak.storage.ldap.LDAPStorageProvider.getCredentials(LDAPStorageProvider.java:1216)
at org.keycloak.credential.UserCredentialManager.getFederatedCredentialsStream(UserCredentialManager.java:141)
at org.keycloak.models.SubjectCredentialManager.getCredentials(SubjectCredentialManager.java:98)
at org.keycloak.services.resources.admin.UserResource.credentials(UserResource.java:814)
at org.keycloak.services.resources.admin.UserResource$quarkusrestinvoker$credentials_efd5e25da317b8d016773a5262fb00438d3e5b7c.invoke(Unknown Source)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
How to Reproduce?
Create user federation, with the option 'Remove invalid users during searches` = OFF.
Synchronize users from LDAP.
Delete a user from LDAP.
Synchronize users from LDAP (so that the deleted user will be now disabled but not removed).
Go to users, edit the orphan user, click on Credentials tab
Anything else?
Other tabs are not crashing.