EAP 7.4 JSF application get stuck and causes state session timeout
Issue
EAP 7.4 deployment of JSF gets stae session timeouts caused by deadlock occurs on Session access through JSF code in EAP 7.4.10:
Thread A - getAttribute
"default task-13" #338 prio=5 os_prio=0 tid=0x0000563de8c0c800 nid=0xb975d waiting for monitor entry [0x00007f120419e000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.wildfly.clustering.web.cache.session.fine.FineSessionAttributes.getAttribute(FineSessionAttributes.java:151)
- waiting to lock <0x00000007b0407ae0> (a java.util.HashMap)
at org.wildfly.clustering.web.undertow.session.DistributableSession.getAttribute(DistributableSession.java:207)
at io.undertow.servlet.spec.HttpSessionImpl.getAttribute(HttpSessionImpl.java:122)
at com.sun.faces.context.AlwaysPuttingSessionMap.put(AlwaysPuttingSessionMap.java:32)
at com.sun.faces.context.AlwaysPuttingSessionMap.put(AlwaysPuttingSessionMap.java:23)
at com.sun.faces.application.view.ViewScopeManager.processPostConstructViewMap(ViewScopeManager.java:327)
- locked <0x00000007c3997bb0> (a java.util.Collections$SynchronizedMap)
Thread B - marshalling
"default task-10" #335 prio=5 os_prio=0 tid=0x0000563dea910000 nid=0xb975a waiting for monitor entry [0x00007f1203d5e000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.util.Collections$SynchronizedMap.writeObject(Collections.java:2693)
- waiting to lock <0x00000007c3997bb0> (a java.util.Collections$SynchronizedMap)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.marshalling.reflect.JDKSpecific$SerMethods.callWriteObject(JDKSpecific.java:206)
at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:215)
Environment
- Red Hat Enterprise Application Platform
- 7.2.x+
- JSF deployment (Mojarra is the default ref impl for EAP 7)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.