[jboss-jira] [JBoss JIRA] (WFLY-5434) HttpSession invalidate() throws IllegalStateException: Transaction is not in a valid state

Mark Wardell (JIRA) issues at jboss.org
Thu Oct 1 09:10:00 EDT 2015


    [ https://issues.jboss.org/browse/WFLY-5434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13114168#comment-13114168 ] 

Mark Wardell commented on WFLY-5434:
------------------------------------

Some additional detail.  I debugged through the problem and found out that the transaction reported in the exception was committed in the following execution path.
{code}
Thread [default task-32] (Suspended (breakpoint at line 99 in DummyTransaction))	
	DummyTransaction.commit() line: 99	
	DummyTransactionManager(DummyBaseTransactionManager).commit() line: 73	
	NewTransactionBatch(ActiveTransactionBatch).close() line: 48	
	DistributableSingleSignOn.close() line: 115	
	ServletSingleSignOnAuthenticationMechainism(SingleSignOnAuthenticationMechanism).authenticate(HttpServerExchange, SecurityContext) line: 105	
	SecurityContextImpl$AuthAttempter.transition() line: 233	
	SecurityContextImpl$AuthAttempter.transition() line: 250	
	SecurityContextImpl$AuthAttempter.access$100(SecurityContextImpl$AuthAttempter) line: 219	
	SecurityContextImpl.attemptAuthentication() line: 121	
	SecurityContextImpl.authTransition() line: 96	
	SecurityContextImpl.authenticate() line: 89	
	ServletAuthenticationCallHandler.handleRequest(HttpServerExchange) line: 55	
	DisableCacheHandler.handleRequest(HttpServerExchange) line: 33	
	PredicateHandler.handleRequest(HttpServerExchange) line: 43	
	ServletAuthenticationConstraintHandler(AuthenticationConstraintHandler).handleRequest(HttpServerExchange) line: 51	
	ServletConfidentialityConstraintHandler(AbstractConfidentialityHandler).handleRequest(HttpServerExchange) line: 46	
	ServletConfidentialityConstraintHandler.handleRequest(HttpServerExchange) line: 64	
	ServletSecurityConstraintHandler.handleRequest(HttpServerExchange) line: 56	
	AuthenticationMechanismsHandler.handleRequest(HttpServerExchange) line: 60	
	CachedAuthenticatedSessionHandler.handleRequest(HttpServerExchange) line: 72	
	NotificationReceiverHandler.handleRequest(HttpServerExchange) line: 50	
	SecurityInitialHandler(AbstractSecurityContextAssociationHandler).handleRequest(HttpServerExchange) line: 43	
	PredicateHandler.handleRequest(HttpServerExchange) line: 43	
	JACCContextIdHandler.handleRequest(HttpServerExchange) line: 61	
	PredicateHandler.handleRequest(HttpServerExchange) line: 43	
	PredicateHandler.handleRequest(HttpServerExchange) line: 43	
	ServletInitialHandler.handleFirstRequest(HttpServerExchange, ServletChain, ServletRequestContext, ServletRequest, ServletResponse) line: 284	
	ServletInitialHandler.dispatchRequest(HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 263	
	ServletInitialHandler.access$000(ServletInitialHandler, HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 81	
	ServletInitialHandler$1.handleRequest(HttpServerExchange) line: 174	
	Connectors.executeRootHandler(HttpHandler, HttpServerExchange) line: 198	
	HttpServerExchange$1.run() line: 784	
	XnioWorker$TaskPool(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1142	
	ThreadPoolExecutor$Worker.run() line: 617	
	Thread.run() line: 745	
{code}

> HttpSession invalidate() throws IllegalStateException: Transaction is not in a valid state
> ------------------------------------------------------------------------------------------
>
>                 Key: WFLY-5434
>                 URL: https://issues.jboss.org/browse/WFLY-5434
>             Project: WildFly
>          Issue Type: Bug
>    Affects Versions: 10.0.0.CR2
>            Reporter: Mark Wardell
>            Assignee: Jason Greene
>         Attachments: exception.txt
>
>
> Running standalone HA configuration with single sign on enabled in undertow configuration
> Two wars deployed each marked as distributable
> If you login thought one war, then execute sesssion.invalidate() on the other you get the following exception during the invalidate call:
> {code}
> 08:55:46,441 ERROR [io.undertow.request] (default task-35) UT005023: Exception handling request to /logoutwar/logout: java.lang.IllegalStateException: Transaction DummyTransaction {xid=DummyXid{id=96}, status=3} is not in a valid state to be invoking cache operations on.
>         at org.infinispan.interceptors.TxInterceptor.enlist(TxInterceptor.java:388)
>         at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:357)
>         at org.infinispan.interceptors.TxInterceptor.visitRemoveCommand(TxInterceptor.java:230)
> ...
>         at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.remove(CoarseSessionFactory.java:66)
>         at org.wildfly.clustering.web.infinispan.session.InfinispanSession.invalidate(InfinispanSession.java:68)
>         at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager$SchedulableSession.invalidate(InfinispanSessionManager.java:438)
>         at org.wildfly.clustering.web.undertow.session.DistributableSession.invalidate(DistributableSession.java:176)
>         at io.undertow.servlet.spec.HttpSessionImpl.invalidate(HttpSessionImpl.java:199)
>         at wf10issue.logoutwar.LogoutServlet.doGet(LogoutServlet.java:27)
> {code}
> (full stack trace attached)



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list