Article - CS421363

HashMap thread safe issue leads to 100% CPU usage in Codebeamer

Modified: 14-Nov-2024   


Applies To

  • Codebeamer 2.1

Description

  • HashMap thread safe issue leads to 100% CPU usage of Codebeamer process and Operating System.
    • The CPU usage is always high, never reduce.
  • Many threads executing below in parallel
    "catalina-exec-10" #208 daemon prio=5 os_prio=0 cpu=4703093.53ms elapsed=1187324.83s tid=0x00007f87507fe4a0 nid=0x6fc0 runnable  [0x00007f7d83cf8000]
       java.lang.Thread.State: RUNNABLE
    	at java.util.HashMap$TreeNode.putTreeVal([email protected]/HashMap.java:2168)
    	at java.util.HashMap.putVal([email protected]/HashMap.java:636)
    	at java.util.HashMap.put([email protected]/HashMap.java:610)
    	at com.intland.codebeamer.controller.support.monitoring.provider.request.SlowRequestInfoProvider$StartedSlowRequestInfoProvider.startRequest(SlowRequestInfoProvider.java:110)
    	at com.intland.codebeamer.statistic.provider.api.StatisticProviderFilter.doFilterInternal(StatisticProviderFilter.java:58)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.api.ApiServerAccessFilter.doFilterInternal(ApiServerAccessFilter.java:70)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.api.UrlThrottlingFilter.doFilterInternal(UrlThrottlingFilter.java:87)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.SecurityFilter.myInternalFilter(SecurityFilter.java:494)
    	at com.intland.codebeamer.security.SecurityFilter.doFilterInternal(SecurityFilter.java:201)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.CBCsrfFilter.doFilterInternal(CBCsrfFilter.java:82)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.servlet.perffilters.CacheControlFilter.doFilterInternal(CacheControlFilter.java:77)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.controller.admin.errorhandling.CheckInvalidHttpCharactersInUrlFilter.doFilterInternal(CheckInvalidHttpCharactersInUrlFilter.java:66)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.servlet.filters.HttpMethodOverrideHeaderFilter.doFilterInternal(HttpMethodOverrideHeaderFilter.java:60)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.installer.InstallerFilter.doFilter(InstallerFilter.java:97)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
    	at com.intland.codebeamer.servlet.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:53)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.AccessLogFilter.doFilterInternal(AccessLogFilter.java:79)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.controller.support.monitoring.provider.request.ActiveRequestFilter.doFilterInternal(ActiveRequestFilter.java:46)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.controller.admin.LogCollectorFilter.doFilterInternal(LogCollectorFilter.java:105)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.LoggingContextFilter.doFilterInternal(LoggingContextFilter.java:56)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.CodebeamerUIFilter.doFilterInternal(CodebeamerUIFilter.java:22)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at org.springframework.session.web.http.CustomSessionRepositoryFilter.doFilterInternal(CustomSessionRepositoryFilter.java:120)
    	at com.intland.codebeamer.security.SessionJdbcRepositoryFilter.doFilterInternal(SessionJdbcRepositoryFilter.java:78)
    	at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.XSSHeadersFilter.doFilterInternal(XSSHeadersFilter.java:65)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
    	at com.intland.codebeamer.security.XSSHeadersFilter.doFilterInternal(XSSHeadersFilter.java:65)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
This is a printer-friendly version of Article 421363 and may be out of date. For the latest version click CS421363