[keycloak-user] Server fails to start with java.lang.StackOverflowError on infinispan.initializer.InfinispanUserSessionInitializer]

Marek Posolda mposolda at redhat.com
Fri Apr 8 10:16:44 EDT 2016


There is lot of caching fixes in 1.9.1 and even more in latest master 
(or 1.9.x branch). There is high chance this StackOverflowError is 
already fixed.

So if you have opportunity to upgrade to 1.9.1 (or even better to latest 
master or 1.9.x branch, but that requires you to build keycloak) and try 
it there, it will be cool.

Are you on H2 database? If so, I think the trick to upgrade database 
might be to just copy files from one server to another. Something like:

cp -r $KEYCLOAK_190_HOME/standalone/data/keycloak.* 
$KEYCLOAK_LATEST_MASTER_HOME/standalone/data/


Marek

On 08/04/16 15:02, Gerard Laissard wrote:
>
> Thanks for the help
>
> I did change standalone/configuration/keycloak-server.json to have
>
> "userSessionPersister":
>
> { "provider": "disabled" }
>
> Server 1.9.0 now starts, but with admin UI, I cannot access to clients 
> and some users (still same error). Only one realm is affected: the 
> one, I plaid with ‘Scope Param Required’
>
> I tried to export that realm, but it fails
>
> I installed 1.9.1 but as I do not have an export of the failing realm, 
> I’m not sure will be able to reproduce.
>
> Gerard
>
> *From:*Bruno Oliveira [mailto:bruno at abstractj.org]
> *Sent:* jeudi 7 avril 2016 23:21
> *To:* Gerard Laissard; keycloak-user at lists.jboss.org
> *Subject:* Re: [keycloak-user] Server fails to start with 
> java.lang.StackOverflowError on 
> infinispan.initializer.InfinispanUserSessionInitializer]
>
> It seems related to https://issues.jboss.org/browse/KEYCLOAK-2431. Do 
> the same happens with 1.9.1.Final?
>
> On Thu, Apr 7, 2016 at 6:26 AM Gerard Laissard <glaissard at axway.com 
> <mailto:glaissard at axway.com>> wrote:
>
>     Team,
>
>     Keycloak server 1.9.0 fails to start.
>
>     Yesterday, I did try to play with client/role : Scope Param
>     Required without any success.
>
>     I got server java.lang.StackOverflowError.
>
>     I stopped the server
>
>     Today when I start server, I have :
>
>     10:51:50,948 ERROR
>     [org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer]
>     (ServerService Thread Pool -- 52) ExecutionException when computed
>     future. Errors: 1: java.util.concurrent.ExecutionException:
>     java.lang.StackOverflowError
>
>     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>
>     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>
>     at
>     org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.startLoading(InfinispanUserSessionInitializer.java:197)
>
>     at
>     org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.loadPersistentSessions(InfinispanUserSessionInitializer.java:88)
>
>     at
>     org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$2.run(InfinispanUserSessionProviderFactory.java:91)
>
>     at
>     org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:280)
>
>     at
>     org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory.loadPersistentSessions(InfinispanUserSessionProviderFactory.java:82)
>
>     at
>     org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$1.onEvent(InfinispanUserSessionProviderFactory.java:71)
>
>     at
>     org.keycloak.services.DefaultKeycloakSessionFactory.publish(DefaultKeycloakSessionFactory.java:63)
>
>     at
>     org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:141)
>
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>     Method)
>
>     at
>     sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>
>     at
>     sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>
>     at
>     org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)
>
>     at
>     org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2209)
>
>     at
>     org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:299)
>
>     at
>     org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:240)
>
>     at
>     org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
>
>     at
>     org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
>
>     at
>     io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
>
>     at
>     org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
>
>     at
>     io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
>
>     at
>     io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:231)
>
>     at
>     io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:132)
>
>     at
>     io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:526)
>
>     at
>     org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
>
>     at
>     org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
>
>     at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>
>     at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
>     at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
>     at java.lang.Thread.run(Thread.java:745)
>
>     at org.jboss.threads.JBossThread.run(JBossThread.java:320)
>
>     Caused by: java.lang.StackOverflowError
>
>     at
>     org.jboss.jca.adapters.jdbc.WrappedConnection.checkException(WrappedConnection.java:1958)
>
>     at
>     org.jboss.jca.adapters.jdbc.WrappedStatement.checkException(WrappedStatement.java:1446)
>
>     at
>     org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:509)
>
>     at
>     org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70)
>
>     at org.hibernate.loader.Loader.getResultSet(Loader.java:2116)
>
>     at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1899)
>
>     at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
>
>     at org.hibernate.loader.Loader.doQuery(Loader.java:919)
>
>     at
>     org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
>
>     at org.hibernate.loader.Loader.doList(Loader.java:2611)
>
>     at org.hibernate.loader.Loader.doList(Loader.java:2594)
>
>     at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
>
>     at org.hibernate.loader.Loader.list(Loader.java:2418)
>
>     at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501)
>
>     at
>     org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371)
>
>     at
>     org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
>
>     at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1326)
>
>     at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
>
>     at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606)
>
>     at
>     org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:483)
>
>     at
>     org.keycloak.models.jpa.ClientAdapter.getScopeMappings(ClientAdapter.java:246)
>
>     at
>     org.keycloak.models.cache.entities.CachedClient.<init>(CachedClient.java:98)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.entities.RevisionedCachedClient.<init>(RevisionedCachedClient.java:18)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getClientById(LockingCacheRealmProvider.java:456)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getClientById(RealmAdapter.java:631)
>
>     at
>     org.keycloak.models.jpa.RoleAdapter.getContainer(RoleAdapter.java:135)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getRoleById(LockingCacheRealmProvider.java:397)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getRoleById(RealmAdapter.java:543)
>
>     at
>     org.keycloak.models.jpa.ClientAdapter.getScopeMappings(ClientAdapter.java:249)
>
>     at
>     org.keycloak.models.cache.entities.CachedClient.<init>(CachedClient.java:98)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.entities.RevisionedCachedClient.<init>(RevisionedCachedClient.java:18)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getClientById(LockingCacheRealmProvider.java:456)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getClientById(RealmAdapter.java:631)
>
>     at
>     org.keycloak.models.jpa.RoleAdapter.getContainer(RoleAdapter.java:135)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getRoleById(LockingCacheRealmProvider.java:397)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getRoleById(RealmAdapter.java:543)
>
>     at
>     org.keycloak.models.jpa.ClientAdapter.getScopeMappings(ClientAdapter.java:249)
>
>     at
>     org.keycloak.models.cache.entities.CachedClient.<init>(CachedClient.java:98)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.entities.RevisionedCachedClient.<init>(RevisionedCachedClient.java:18)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getClientById(LockingCacheRealmProvider.java:456)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getClientById(RealmAdapter.java:631)
>
>     at
>     org.keycloak.models.jpa.RoleAdapter.getContainer(RoleAdapter.java:135)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getRoleById(LockingCacheRealmProvider.java:397)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getRoleById(RealmAdapter.java:543)
>
>     at
>     org.keycloak.models.jpa.ClientAdapter.getScopeMappings(ClientAdapter.java:249)
>
>     at
>     org.keycloak.models.cache.entities.CachedClient.<init>(CachedClient.java:98)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.entities.RevisionedCachedClient.<init>(RevisionedCachedClient.java:18)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getClientById(LockingCacheRealmProvider.java:456)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getClientById(RealmAdapter.java:631)
>
>     at
>     org.keycloak.models.jpa.RoleAdapter.getContainer(RoleAdapter.java:135)
>
>     at
>     org.keycloak.models.cache.infinispan.locking.LockingCacheRealmProvider.getRoleById(LockingCacheRealmProvider.java:397)
>
>     at
>     org.keycloak.models.cache.infinispan.RealmAdapter.getRoleById(RealmAdapter.java:543)
>
>     at
>     org.keycloak.models.jpa.ClientAdapter.getScopeMappings(ClientAdapter.java:249)
>
>     at
>     org.keycloak.models.cache.entities.CachedClient.<init>(CachedClient.java:98)
>
>>
>     What should I do ?
>
>     Thanks
>
>     Gerard
>
>     _______________________________________________
>     keycloak-user mailing list
>     keycloak-user at lists.jboss.org <mailto:keycloak-user at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/keycloak-user
>
>
>
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20160408/a10ed2e5/attachment-0001.html 


More information about the keycloak-user mailing list