[
https://issues.jboss.org/browse/WFLY-10661?page=com.atlassian.jira.plugin...
]
Adam Krajcik commented on WFLY-10661:
-------------------------------------
[~pferraro], I just deployed the war attached to this JIRA , started server via
standalone.sh and went to
http://localhost:8080/undertow1374/. Bash commands below:
{code}
cp undertow1374.war wildfly-15.0.0.Alpha1-SNAPSHOT/standalone/deployments/
wildfly-15.0.0.Alpha1-SNAPSHOT/bin/standalone.sh
curl -L
http://localhost:8080/undertow1374
{code}
From what I could see, it fails on
{{request.getSession().invalidate()}} in the following code
{code}
<%
response.sendRedirect("/foobar");
request.getSession().invalidate();
%>
{code}
Here is the complete [^stacktrace.txt].
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
Fix For: 14.0.0.Beta2
Attachments: stacktrace.txt, 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)