Details

    • Type: Technical Task
    • Status: Closed
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Performance
    • Labels:
      None

      Description

      Our customer experiences that from time to time one instance, suddenly uses 100% of the CPU resources.

      After analyzing their thread dumps we managed to find out that com.liferay.portal.security.permission.ResourceActionsImpl forces HashMap#get() into an endless loop, when it is accessed from multiple threads.

      Excerpt from the customer's thread dump:

      ajp-bio-8009-exec-59" daemon prio=10 tid=0x00007f346c064000 nid=0xe5c1 runnable [0x00007f33743d1000]
         java.lang.Thread.State: RUNNABLE
          at java.util.HashMap.get(HashMap.java:303)
          at com.liferay.portal.security.permission.ResourceActionsImpl.getActions(ResourceActionsImpl.java:724)
          at com.liferay.portal.security.permission.ResourceActionsImpl.getPortletResourceGuestUnsupportedActions(ResourceActionsImpl.java:421)
          at com.liferay.portal.security.permission.ResourceActionsUtil.getPortletResourceGuestUnsupportedActions(ResourceActionsUtil.java:199)
          at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermission(AdvancedPermissionChecker.java:905)
          at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionImpl(AdvancedPermissionChecker.java:963)
          at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(AdvancedPermissionChecker.java:603)
          at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:289)
          at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:213)
          at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:195)
          at com.liferay.portal.service.permission.PortletPermissionImpl.hasAccessPermission(PortletPermissionImpl.java:425)
          at com.liferay.portal.service.permission.PortletPermissionUtil.hasAccessPermission(PortletPermissionUtil.java:264)
          at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:600)
          at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      

        Attachments

          Activity

            People

            • Assignee:
              laszlo.csontos Laszlo Csontos (Inactive)
              Reporter:
              laszlo.csontos Laszlo Csontos (Inactive)
              Recent user:
              Laszlo Csontos (Inactive)
              Participants of an Issue:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                4 years, 22 weeks, 6 days ago

                Packages

                Version Package