High CPU due to unsafe HashMap access in TomcatInjectionContainer.getEncInjectionsForClass
Issue
- JBoss is consuming high CPU and data shows the high CPU consumers are request threads making calls like the following:
"ajp-127.0.0.1-8009-1" daemon prio=10 tid=0x00002aabe3e24000 nid=0x2e40 runnable [0x000000005fdc9000..0x000000005fdd2c10]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.get(HashMap.java:303)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:443)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:446)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:446)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:446)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:446)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForClass(TomcatInjectionContainer.java:446)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.getEncInjectionsForObject(TomcatInjectionContainer.java:435)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.processInjectors(TomcatInjectionContainer.java:355)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(TomcatInjectionContainer.java:271)
at org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:130)
Environment
- JBoss Enterprise Application Server (EAP) 5
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.