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

If any plugin fails to install, upgrade or "startup" it causes all SetupListeners to not be called and AM to seemingly startup successfully

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.0.0
    • Fix Version/s: 6.5.0
    • Component/s: None
    • Labels:
    • Target Version/s:
    • Needs backport:
      No
    • Support Ticket IDs:
    • Needs QA verification:
      Yes
    • Functional tests:
      No
    • Are the reproduction steps defined?:
      Yes and I used the same an in the description

      Description

      Bug description

      From seemingly unrelated commits causing OAuth2 scripting errors, it turns out that if any plugin fails to install, upgrade or start up it will cause the AMSetupServlet to not invoke any SetupListeners but seemingly start up fine. This means the AM is not in a properly configured state and results in issues and incorrect behaviour with no understandable cause. i.e. if a node does not "start up" successfully, OAuth2 script execution fails!

      How to reproduce the issue

      Build a version of AM with node startup issues. Run pyforge test: ./run-pybot.py -c perf -s oidc.oidc openam. Notice all those tests fail with

       {"error_description":"User must be authenticated to issue ID tokens.","error":"server_error"}

      and in the logs will report, "Access to String.class is prohibited"

      Expected behaviour
      If plugin install, upgrade or startup failure, prevent AM from being started up.
      
      Current behaviour
      Allow AM to continue to start up and operate in a inconsistent, broken state.
      RuntimeException reported in catalina.out, but unless you actually check there, you are unaware of any issue.
      

      Work around

      Remove or fix the bad plugins? (Maybe)

      Code analysis

      org.forgerock.$className.java
      AMSetupServlet#notifyAmStartup calls to PluginLifeCycle#initialise will throw a RuntimeException
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jay.bowers Jay Bowers
                Reporter:
                phillcunnington Phill Cunnington
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: