Bug 1130411

Summary: [WildFly] IllegalStateException: UT000010: Session not found when logging out
Product: [Retired] Zanata Reporter: Sean Flanigan <sflaniga>
Component: DeploymentAssignee: Carlos Munoz <camunoz>
Status: CLOSED CURRENTRELEASE QA Contact: Ding-Yi Chen <dchen>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.5CC: camunoz, dchen, pahuang, zanata-bugs
Target Milestone: ---   
Target Release: 3.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 3.5.0-SNAPSHOT (git-jenkins-zanata-server-github-pull-requests-2082) Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Wildfly 8.1
Last Closed: 2015-01-26 23:27:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1119537    

Description Sean Flanigan 2014-08-15 07:38:41 UTC
In some cases, the functional tests, when run against WildFly 8.1.0 (with JSF 2.1 and Hibernate 4.2 modules) fail with the following error message, apparently when logging out:

Context Path:/zanata
Servlet Path:/home.seam
Path Info:null
Query String:null
Stack Trace
java.lang.IllegalStateException: UT000010: Session not found qulw3AHunfgaL5HqQ4fPgVjn
io.undertow.server.session.InMemorySessionManager$SessionImpl.getAttributeNames(InMemorySessionManager.java:329)
io.undertow.servlet.spec.HttpSessionImpl.getFilteredAttributeNames(HttpSessionImpl.java:139)
io.undertow.servlet.spec.HttpSessionImpl.getAttributeNames(HttpSessionImpl.java:134)
com.sun.faces.context.SessionMap.getKeyIterator(SessionMap.java:211)
com.sun.faces.context.BaseContextMap$KeySet.iterator(BaseContextMap.java:181)
org.jboss.seam.contexts.BasicContext.getNames(BasicContext.java:58)
org.jboss.seam.contexts.SessionContext.getNames(SessionContext.java:34)
org.jboss.seam.contexts.SessionContext.flush(SessionContext.java:47)
org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:424)
org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:164)
org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:89)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:70)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
org.zanata.seam.interceptor.MonitoringWrapper.doFilter(MonitoringWrapper.java:67)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
org.zanata.servlet.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:61)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
org.zanata.servlet.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:58)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:724)

(Reported by pahuang.)

Comment 1 Carlos Munoz 2014-08-18 05:13:56 UTC
Steps to reproduce in a local server:

1. Run server
2. Log in
3. Log out without going to any other page

After logging out and getting the stack trace (at the end of this comment), you will be able to log in again. The error will not be reproduced with the above sequence, but instead with this one:

1. Log in
2. Navigate to the 'Projects page'
3. Log out.

The stack trace in these scenarios was:

java.lang.IllegalStateException: UT000010: Session not found PHUMFuPBk1VPAJMd8ROgkFFa
io.undertow.server.session.InMemorySessionManager$SessionImpl.getAttribute(InMemorySessionManager.java:319)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler$ServletAuthenticatedSessionManager.lookupSession(CachedAuthenticatedSessionHandler.java:124)
io.undertow.security.impl.CachedAuthenticatedSessionMechanism.runCached(CachedAuthenticatedSessionMechanism.java:45)
io.undertow.security.impl.CachedAuthenticatedSessionMechanism.authenticate(CachedAuthenticatedSessionMechanism.java:38)
io.undertow.security.impl.SecurityContextImpl$AuthAttempter.transition(SecurityContextImpl.java:281)
io.undertow.security.impl.SecurityContextImpl$AuthAttempter.access$100(SecurityContextImpl.java:268)
io.undertow.security.impl.SecurityContextImpl.attemptAuthentication(SecurityContextImpl.java:131)
io.undertow.security.impl.SecurityContextImpl.authTransition(SecurityContextImpl.java:106)
io.undertow.security.impl.SecurityContextImpl.authenticate(SecurityContextImpl.java:99)
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:54)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)

Comment 2 Sean Flanigan 2014-08-27 05:25:19 UTC
Pull request: https://github.com/zanata/zanata-server/pull/564

Comment 3 Ding-Yi Chen 2014-09-02 03:29:51 UTC
https://github.com/zanata/zanata-server/pull/567

Comment 4 Ding-Yi Chen 2014-09-19 05:57:44 UTC
VERIFIED with Zanata 3.5.0-SNAPSHOT (git-jenkins-zanata-server-github-pull-requests-2082)