High CPU due to Richfaces HashMap.get() infinite loop
Issue
- An application running on a 3 node cluster after running normally for some time, suddenly one node CPU spikes to 80% and stays like that.
- The threads using CPU have stack traces like the following:
"http-0.0.0.0-8080-1" daemon prio=10 tid=0x00002aaaaf78a000 nid=0x27ff runnable [0x0000000049fae000]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.get(HashMap.java:303)
at org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:965)
at org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:984)
at org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:943)
at org.ajax4jsf.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:361)
at org.ajax4jsf.component.UIDataAdaptor.iterate(UIDataAdaptor.java:1029)
at org.ajax4jsf.component.UIDataAdaptor.encodeAjaxChild(UIDataAdaptor.java:496)
...
Environment
- JBoss Enterprise Application Platform (EAP)
- Richfaces
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.