Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-11741

NPE in admin console when accessing parts with old UI

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 14.5.0
    • Fix Version/s: None
    • Component/s: console
    • Labels:
    • Environment:
      CentOS 7.3 + Tomcat 8.0.45, reproduced on M13 and M15 and in Firefox and Chrome browsers
    • Support Ticket IDs:

      Description

      Bug description

      When accessing console view with configured Policy Agents or (when on several attempts luckily get into PA profile) when browsing (e.g. changing tabs like "Global", "Application", "SSO, ...) or saving changes in PA profile, NPE occurs.

      How to reproduce the issue

      Config AM with default configuration. Created a subrealm. Created 100k users, for each user there is a policy for a single resource + one policy common for all users for index.html and logout.html. Create a TomcatAgent (J2EE) profile under subrealm.

      1. Login as amAdmin
      2. Go to subrealm
      3. Go to Applications > Agents (NPE sometimes occurs here)
      4. Click any agent type tab (like J2EE / 2.2 Agents / OAuth2.0...)
      Expected behaviour

      See list of Agent profiles

      Current behaviour

      Uncaught exception appears with this in catalina.out:

      org.apache.catalina.core.ContainerBase.[Catalina].[openam.example.com].[/openam]:09/13/2017 09:57:26:243 AM EDT: Thread[http-nio-8080-exec-2,5,main]: TransactionId[25f86a92-ead7-448f-be25-7dbdf3cd1670-4130]
      ERROR: [ERROR] Uncaught application exception
      java.lang.NullPointerException
              at com.sun.identity.console.agentconfig.AgentsViewBean.createTabModel(AgentsViewBean.java:222)
              at com.sun.identity.console.agentconfig.AgentsViewBean.handleRealmNameInTabSwitch(AgentsViewBean.java:274)
              at com.sun.identity.console.base.AMPrimaryMastHeadViewBean.forwardTo(AMPrimaryMastHeadViewBean.java:112)
              at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:981)
              at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:615)
              at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:473)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:36)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.forgerock.openam.headers.SetHeadersFilter.doFilter(SetHeadersFilter.java:80)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:111)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.forgerock.openam.audit.servlet.AuditAccessServletFilter.doFilter(AuditAccessServletFilter.java:54)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.forgerock.openam.audit.context.AuditContextFilter.doFilter(AuditContextFilter.java:46)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
              at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1533)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1489)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              at java.lang.Thread.run(Thread.java:745)
      

      Work around

      • Sometimes, after several attempts, it is possible to do intended actions.
      • use REST endpoints
      • use ssoadm

      AM restart does NOT help.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                tomas.hejret Tomas Hejret
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: