]
Stuart Douglas reassigned WFLY-10661:
-------------------------------------
Assignee: Paul Ferraro (was: Stuart Douglas)
IllegalMonitorStateException if session invalidated after redirect
------------------------------------------------------------------
Key: WFLY-10661
URL:
https://issues.jboss.org/browse/WFLY-10661
Project: WildFly
Issue Type: Bug
Components: Clustering
Environment: EAP 7.1.3
Reporter: Aaron Ogburn
Assignee: Paul Ferraro
Attachments: undertow1374.war
response.sendRedirect unlocks the session. So attempting session.invalidate after any
sendRedirect throws an IllegalMonitorStateException when it attempts to unlock it again:
{code}
16:35:11,267 INFO [stdout] (default task-1)
--------------------------->StampedLock.unlock
java.util.concurrent.locks.StampedLock@2a03fe4a[Unlocked] 257
16:35:11,267 INFO [stdout] (default task-1)
java.util.concurrent.locks.StampedLock.unlock(StampedLock.java:603)
16:35:11,267 INFO [stdout] (default task-1)
org.wildfly.clustering.web.undertow.session.DistributableSessionManager.lambda$getSessionCloseTask$1(DistributableSessionManager.java:103)
16:35:11,267 INFO [stdout] (default task-1)
org.wildfly.clustering.web.undertow.session.DistributableSession.requestDone(DistributableSession.java:96)
16:35:11,267 INFO [stdout] (default task-1)
io.undertow.servlet.spec.ServletContextImpl.updateSessionAccessTime(ServletContextImpl.java:860)
16:35:11,267 INFO [stdout] (default task-1)
io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:572)
16:35:11,267 INFO [stdout] (default task-1)
io.undertow.servlet.spec.HttpServletResponseImpl.sendRedirect(HttpServletResponseImpl.java:203)
16:35:11,267 INFO [stdout] (default task-1)
org.apache.jsp.hi_jsp._jspService(hi_jsp.java:136)
...
Caused by: java.lang.IllegalMonitorStateException
at java.util.concurrent.locks.StampedLock.unlock(StampedLock.java:609)
at
org.wildfly.clustering.web.undertow.session.DistributableSessionManager.lambda$getSessionCloseTask$1(DistributableSessionManager.java:103)
at
org.wildfly.clustering.web.undertow.session.DistributableSession.invalidate(DistributableSession.java:218)
at io.undertow.servlet.spec.HttpSessionImpl.invalidate(HttpSessionImpl.java:198)
at org.apache.jsp.hi_jsp._jspService(hi_jsp.java:137)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
{code}