[
https://issues.jboss.org/browse/JBSEAM-5148?page=com.atlassian.jira.plugi...
]
Marek Novotny commented on JBSEAM-5148:
---------------------------------------
[~ksuzumur] ok, replacing with JSF UI control is sometime good enough if they don't
use some special feature from Seam UI control.
High CPU due to multiple Java threads accessing HashMap in
GraphicImageStore
----------------------------------------------------------------------------
Key: JBSEAM-5148
URL:
https://issues.jboss.org/browse/JBSEAM-5148
Project: Seam 2
Issue Type: Bug
Components: Performance and Scalability
Affects Versions: 2.2.2.Final
Environment: Red Hat JBoss Enterprise Application Platform 5.1
Java 1.6.0.26
Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode)
Reporter: Suzumura Keishi
High cpu and threads consuming the CPU have HashMap access at the top of the stack trace.
top result is here:
---
top -b -n 1 -H -p8405 8405
[Thu Jul 26 14:53:11 2018] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
[Thu Jul 26 14:53:11 2018] 17181 jboss 25 0 5206m 4.3g 12m R 35.9 55.5 75:02.29
java
[Thu Jul 26 14:53:11 2018] 17165 jboss 25 0 5206m 4.3g 12m R 33.9 55.5 68:29.77
java
[Thu Jul 26 14:53:11 2018] 9854 jboss 25 0 5206m 4.3g 12m R 31.9 55.5 152:35.53
java
[Thu Jul 26 14:53:11 2018] 9988 jboss 25 0 5206m 4.3g 12m R 31.9 55.5 131:00.16
java
All PIDs have same stacks:
---
"ajp-8009-30" daemon prio=10 tid=0x00000000570bb000 nid=0x431d runnable
[0x000000004bbcb000]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at org.jboss.seam.ui.graphicImage.GraphicImageStore.put(GraphicImageStore.java:74)
at
org.jboss.seam.ui.graphicImage.GraphicImageRendererBase.doEncodeBegin(GraphicImageRendererBase.java:66)
at org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
--
"ajp-8009-17" daemon prio=10 tid=0x00000000a75d1800 nid=0x430d runnable
[0x000000004aebe000]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at org.jboss.seam.ui.graphicImage.GraphicImageStore.put(GraphicImageStore.java:74)
at
org.jboss.seam.ui.graphicImage.GraphicImageRendererBase.doEncodeBegin(GraphicImageRendererBase.java:66)
at org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
--
"ajp-8009-4" daemon prio=10 tid=0x00000000af787800 nid=0x2704 runnable
[0x00000000496a6000]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at org.jboss.seam.ui.graphicImage.GraphicImageStore.put(GraphicImageStore.java:74)
at
org.jboss.seam.ui.graphicImage.GraphicImageRendererBase.doEncodeBegin(GraphicImageRendererBase.java:66)
at org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
--
"ajp-8009-1" daemon prio=10 tid=0x00000000ac5ec800 nid=0x267e runnable
[0x0000000048999000]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at org.jboss.seam.ui.graphicImage.GraphicImageStore.put(GraphicImageStore.java:74)
at
org.jboss.seam.ui.graphicImage.GraphicImageRendererBase.doEncodeBegin(GraphicImageRendererBase.java:66)
at org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)