[
https://issues.jboss.org/browse/WFLY-3529?page=com.atlassian.jira.plugin....
]
Shark Xu commented on WFLY-3529:
--------------------------------
I met this issue yesterday also, below is my analysis after code check hope it can help:
This issue raise in concurrency.
In same session, when 2 threads come to server concurrently 2 HttpServletRequestImpl
object & 2 HttpSessionImpl object(have same session data) created.
When HttpSessionImpl in one thread be invalidated, the state not sync to the
HttpSessionImpl in the other thread, while the session data(instance of
InMemorySessionManager.InMemorySession) be removed.
In this case when invoke HttpSessionImpl.getAttribut() in the other thread, it will throw
IllegalStateException
UT000010: Session not found
----------------------------
Key: WFLY-3529
URL:
https://issues.jboss.org/browse/WFLY-3529
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Environment: Wildfly 8.1.0.Final ,
Reporter: Youssef BIKHCHICHE
Assignee: Stuart Douglas
Attachments: WFLY-3529.tar.gz, WFLY-3529.war
After migration our AS from Woldfly 8.0.0 to 8.1.0 we get this issue that we think has
been fixed in the previous release of wildfly.
ERREOR code :
2014-06-20 12:45:21,092 ERROR [io.undertow.request] (default task-11) Blocking request
failed HttpServerExchange{ GET /xenturion/faces/public/500.xhtml}:
java.lang.RuntimeException: java.lang.IllegalStateException: UT000010: Session not found
cX6YRwOmoXcB8FFUdNY2r7Te
at io.undertow.servlet.spec.RequestDispatcherImpl.error(RequestDispatcherImpl.java:408)
at io.undertow.servlet.spec.RequestDispatcherImpl.error(RequestDispatcherImpl.java:311)
at
io.undertow.servlet.spec.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:128)
at
io.undertow.servlet.spec.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:142)
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:273)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_40]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_40]
Caused by: java.lang.IllegalStateException: UT000010: Session not found
cX6YRwOmoXcB8FFUdNY2r7Te
at
io.undertow.server.session.InMemorySessionManager$SessionImpl.getAttribute(InMemorySessionManager.java:319)
at io.undertow.servlet.spec.HttpSessionImpl.getAttribute(HttpSessionImpl.java:121)
at
org.springframework.security.web.context.HttpSessionSecurityContextRepository.readSecurityContextFromSession(HttpSessionSecurityContextRepository.java:144)
at
org.springframework.security.web.context.HttpSessionSecurityContextRepository.loadContext(HttpSessionSecurityContextRepository.java:86)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:229)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:172)
at io.undertow.servlet.spec.RequestDispatcherImpl.error(RequestDispatcherImpl.java:402)
======================================================
this issue happens after a http session invalidate action and it' not a regular
problems.
Best regards,
Youssef
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)