You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@sling.apache.org by Markus Joschko <ma...@gmail.com> on 2011/07/13 10:47:23 UTC

Concurrent access to system session

Hi,
one of my application users has reported login problems.
To find out more about what's going on I enabled the debug logging and
found an exception multiple times printed on debug level.
I don't think that it is necessarily related to the login problem but
wanted to post it and ask whether somebody has some background
information on it:


12.07.2011 16:32:00.242 *DEBUG* [http-8080-9]
org.apache.jackrabbit.core.session.SessionState Attempt to perform
item.getPath() while another thread is concurrently reading from
session-system-2. Blocking until the other thread is finished using
this session. Please review your code to avoid concurrent use of a
session. java.lang.Exception: Stack trace of concurrent access to
session-system-2
        at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:156)
        at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
        at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:376)
        at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:737)
        at org.apache.jackrabbit.core.security.user.UserManagerImpl.internalGetAuthorizable(UserManagerImpl.java:797)
        at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:401)
        at org.apache.jackrabbit.core.security.authentication.DefaultLoginModule.getPrincipal(DefaultLoginModule.java:88)
        at org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultLoginModule.getPrincipal(PluggableDefaultLoginModule.java:104)
        at org.apache.jackrabbit.core.security.authentication.AbstractLoginModule.login(AbstractLoginModule.java:313)
        at org.apache.jackrabbit.core.security.authentication.LocalAuthContext.login(LocalAuthContext.java:86)
        at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1474)
        at org.apache.sling.jcr.base.AbstractSlingRepository.login(AbstractSlingRepository.java:214)
        at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolverInternal(JcrResourceResolverFactoryImpl.java:291)
        at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolver(JcrResourceResolverFactoryImpl.java:262)
        at org.apache.sling.auth.core.impl.SlingAuthenticator.getResolver(SlingAuthenticator.java:688)
        at org.apache.sling.auth.core.impl.SlingAuthenticator.handleSecurity(SlingAuthenticator.java:429)
        at org.apache.sling.engine.impl.SlingHttpContext.handleSecurity(SlingHttpContext.java:148)
        at org.apache.felix.http.base.internal.context.ServletContextImpl.handleSecurity(ServletContextImpl.java:224)
        at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:86)
        at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:77)
        at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at com.etc.pp.custom.server.filter.EnhancePOSTFilter.doFilter(EnhancePOSTFilter.java:114)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:68)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
        at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
        at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:55)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:275)
        at org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:130)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

Regards,
 Markus

Re: Concurrent access to system session

Posted by Carsten Ziegeler <cz...@apache.org>.
Looks like a shared session access within Jackrabbit to me - which is
not allowed....
Could you please post this on the Jackrabbit list ?

Regards
Carsten

2011/7/13 Markus Joschko <ma...@gmail.com>:
> Hi,
> one of my application users has reported login problems.
> To find out more about what's going on I enabled the debug logging and
> found an exception multiple times printed on debug level.
> I don't think that it is necessarily related to the login problem but
> wanted to post it and ask whether somebody has some background
> information on it:
>
>
> 12.07.2011 16:32:00.242 *DEBUG* [http-8080-9]
> org.apache.jackrabbit.core.session.SessionState Attempt to perform
> item.getPath() while another thread is concurrently reading from
> session-system-2. Blocking until the other thread is finished using
> this session. Please review your code to avoid concurrent use of a
> session. java.lang.Exception: Stack trace of concurrent access to
> session-system-2
>        at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:156)
>        at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
>        at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:376)
>        at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:737)
>        at org.apache.jackrabbit.core.security.user.UserManagerImpl.internalGetAuthorizable(UserManagerImpl.java:797)
>        at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:401)
>        at org.apache.jackrabbit.core.security.authentication.DefaultLoginModule.getPrincipal(DefaultLoginModule.java:88)
>        at org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultLoginModule.getPrincipal(PluggableDefaultLoginModule.java:104)
>        at org.apache.jackrabbit.core.security.authentication.AbstractLoginModule.login(AbstractLoginModule.java:313)
>        at org.apache.jackrabbit.core.security.authentication.LocalAuthContext.login(LocalAuthContext.java:86)
>        at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1474)
>        at org.apache.sling.jcr.base.AbstractSlingRepository.login(AbstractSlingRepository.java:214)
>        at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolverInternal(JcrResourceResolverFactoryImpl.java:291)
>        at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolver(JcrResourceResolverFactoryImpl.java:262)
>        at org.apache.sling.auth.core.impl.SlingAuthenticator.getResolver(SlingAuthenticator.java:688)
>        at org.apache.sling.auth.core.impl.SlingAuthenticator.handleSecurity(SlingAuthenticator.java:429)
>        at org.apache.sling.engine.impl.SlingHttpContext.handleSecurity(SlingHttpContext.java:148)
>        at org.apache.felix.http.base.internal.context.ServletContextImpl.handleSecurity(ServletContextImpl.java:224)
>        at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:86)
>        at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:77)
>        at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
>        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
>        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>        at com.etc.pp.custom.server.filter.EnhancePOSTFilter.doFilter(EnhancePOSTFilter.java:114)
>        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:80)
>        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:68)
>        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>        at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
>        at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
>        at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:55)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:275)
>        at org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:130)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> Regards,
>  Markus
>



-- 
Carsten Ziegeler
cziegeler@apache.org