Matthew Casperson created WFLY-7016:
---------------------------------------
Summary: Wildfly 10.1 now crashes when starting applications when getting a
session in a listener
Key: WFLY-7016
URL:
https://issues.jboss.org/browse/WFLY-7016
Project: WildFly
Issue Type: Feature Request
Components: Web (Undertow)
Affects Versions: 10.1.0.Final
Reporter: Matthew Casperson
Assignee: Stuart Douglas
We have the following code in a ServletRequestListener:
{code}
final HttpSession httpSession = httpRequest.getSession(false);
{code}
This code is the line:
{code
[Server:main-server] at
au.com.agic.settings.listener.SessionInvalidatorListener.clearSession(SessionInvalidatorListener.java:94)
{code}
in the stack trace below.
We have been running applications with this listener in WildFly 10 for months without any
issues, but when we migrated to WildFly 10.1, Infinispan started throwing exceptions. The
configuration was copied directly from WildFly 10 to WildFly 10.1, so there are no
configuration changes between the two versions.
{code}
[Server:main-server] 2016-08-26 15:03:10+1000 ERROR [[io.undertow.request]] [[default
task-32]] UT005023: Exception handling request to /app/retrieve_quote.jsp:
java.lang.IllegalStateException: Transaction TransactionImple < ac, BasicAction:
0:ffff0a1617d4:6cdfa442:57bfb3cd:31b status: ActionStatus.COMMITTED > is not in a valid
state to be invoking cache operations on.
[Server:main-server] at
org.infinispan.interceptors.TxInterceptor.enlist(TxInterceptor.java:395)
[Server:main-server] at
org.infinispan.interceptors.TxInterceptor.enlistIfNeeded(TxInterceptor.java:351)
[Server:main-server] at
org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:345)
[Server:main-server] at
org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:331)
[Server:main-server] at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
[Server:main-server] at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
[Server:main-server] at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
[Server:main-server] at
org.infinispan.statetransfer.StateTransferInterceptor.visitReadCommand(StateTransferInterceptor.java:177)
[Server:main-server] at
org.infinispan.statetransfer.StateTransferInterceptor.visitGetKeyValueCommand(StateTransferInterceptor.java:154)
[Server:main-server] at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
[Server:main-server] at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:114)
[Server:main-server] at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:83)
[Server:main-server] at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
[Server:main-server] at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
[Server:main-server] at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
[Server:main-server] at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
[Server:main-server] at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
[Server:main-server] at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:335)
[Server:main-server] at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:411)
[Server:main-server] at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:403)
[Server:main-server] at
org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:286)
[Server:main-server] at
org.wildfly.clustering.server.registry.CacheRegistry.getEntry(CacheRegistry.java:128)
[Server:main-server] at
org.wildfly.clustering.web.infinispan.session.InfinispanRouteLocator.locate(InfinispanRouteLocator.java:58)
[Server:main-server] at
org.wildfly.clustering.web.undertow.session.DistributableSessionIdentifierCodec.encode(DistributableSessionIdentifierCodec.java:48)
[Server:main-server] at
org.wildfly.extension.undertow.session.CodecSessionConfig.findSessionId(CodecSessionConfig.java:60)
[Server:main-server] at
io.undertow.servlet.spec.ServletContextImpl$ServletContextSessionConfig.findSessionId(ServletContextImpl.java:1084)
[Server:main-server] at
io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:778)
[Server:main-server] at
io.undertow.servlet.spec.HttpServletRequestImpl.getSession(HttpServletRequestImpl.java:370)
[Server:main-server] at
io.undertow.servlet.spec.HttpServletRequestImpl.getSession(HttpServletRequestImpl.java:375)
[Server:main-server] at
au.com.agic.settings.listener.SessionInvalidatorListener.clearSession(SessionInvalidatorListener.java:94)
[Server:main-server] at
au.com.agic.settings.listener.SessionInvalidatorListener.requestInitialized(SessionInvalidatorListener.java:52)
[Server:main-server] at
io.undertow.servlet.core.ApplicationListeners.requestInitialized(ApplicationListeners.java:246)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:291)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
[Server:main-server] at
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
[Server:main-server] at
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
[Server:main-server] at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
[Server:main-server] at
io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
[Server:main-server] at
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
[Server:main-server] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[Server:main-server] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[Server:main-server] at java.lang.Thread.run(Thread.java:745)
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)