[
https://issues.jboss.org/browse/WFLY-10661?page=com.atlassian.jira.plugin...
]
Paul Ferraro commented on WFLY-10661:
-------------------------------------
To clarify, the lifecycle of an Undertow session does not extend beyond commitment of the
response (which closes the session), hence the exception.
We should detect this condition, and throw an ISE containing a more descriptive message
instead.
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
Priority: Minor
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}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)