EAP 7.4 JSF application get stuck and causes state session timeout

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content