Layer 7 Policy Manager crashes when accessing Manage Roles task

Document ID : KB000057605
Last Modified Date : 14/02/2018
Show Technical Document Details

Solution

Background

The Layer 7 Policy Manager may crash or disconnect when attempting to view or modify the role assignment of users via the Manage Roles task. This issue may be caused by inconsistencies or incompatibilities between the version of Java used by the Gateway, the version of Java used by the Policy Manager, and the version of Java used by the workstation using the Policy Manager.

Presentation

The Policy Manager log may contain the following stack trace:
java.lang.NoSuchMethodError:?java.lang.Boolean.compare(ZZ)
at?com.l7tech.gateway.common.security.rbac.Role.compareTo(Unknown Source)?
at?com.l7tech.gateway.common.security.rbac.Role.compareTo(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.mergeSort(Unknown Source)?
at java.util.Arrays.sort(Unknown Source)?
at com.l7tech.console.security.rbac.RoleManagementDialog.populateList(Unknown Source)?
at com.l7tech.console.security.rbac.RoleManagementDialog.initialize(Unknown Source)?
at com.l7tech.console.security.rbac.RoleManagementDialog.<init>(Unknown Source)?
at com.l7tech.console.action.ManageRolesAction.performAction(Unknown Source)?
at com.l7tech.console.action.BaseAction.performAction(Unknown Source)?
at com.l7tech.console.action.BaseAction.actionPerformed(Unknown Source)?
at com.l7tech.console.action.SecureAction.actionPerformed(Unknown Source)?
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)?
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)?
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)?
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)?
at javax.swing.AbstractButton.doClick(Unknown Source)?
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)?
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)?
at java.awt.Component.processMouseEvent(Unknown Source)?
at javax.swing.JComponent.processMouseEvent(Unknown Source)?
at java.awt.Component.processEvent(Unknown Source)?
at java.awt.Container.processEvent(Unknown Source)?
at java.awt.Component.dispatchEventImpl(Unknown Source)?
at java.awt.Container.dispatchEventImpl(Unknown Source)?
at java.awt.Component.dispatchEvent(Unknown Source)?
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)?
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)?
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)?
at java.awt.Container.dispatchEventImpl(Unknown Source)?
at java.awt.Component.dispatchEvent(Unknown Source)?
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)?
at java.awt.EventQueue.access$400(Unknown Source)?
at java.awt.EventQueue$2.run(Unknown Source)?
at java.awt.EventQueue$2.run(Unknown Source)?
at java.security.AccessController.doPrivileged(Native Method)?
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)?
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)?
at java.awt.EventQueue$3.run(Unknown Source)?
at java.awt.EventQueue$3.run(Unknown Source)?
at java.security.AccessController.doPrivileged(Native Method)?
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)?
at java.awt.EventQueue.dispatchEvent(Unknown Source)?
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)?
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)?
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)?
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)?
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)?
at java.awt.EventDispatchThread.run(Unknown Source)

Resolution

This issue is caused by an incompatibility between the version of Java used in the 7-series of the Layer 7 Policy Manager and the version of Java used by the workstation used on the system accessing the Policy Manager. Traditionally, this issue occurs when the workstation is using Java 6 while the Policy Manager requires Java 7. Please ensure that you review the Release Notes and Readme for the applicable version of the Gateway and Policy Manager to ensure the correct versions of Java are in use. If you need assistance with determining the correct Java version then please open a new request with Layer 7 Support.