Error 500 when opening the Permissions page
Symptoms
When going to Project > Administration > Permissions, a 500 error page appears (Passed List had more than one value)
The below may be found within the atlassian-jira.log
:
2015-06-01 07:00:00,417 http-bio-443-exec-205 ERROR [500ErrorPage.jsp] Exception caught in 500 page Passed List had more than one value.
java.lang.IllegalArgumentException: Passed List had more than one value.
at org.ofbiz.core.entity.EntityUtil.getOnly(EntityUtil.java:62)
at com.atlassian.jira.projectconfig.contextproviders.ProjectPermissionContextProvider.getProjectPermissionsScheme(ProjectPermissionContextProvider.java:158)
at com.atlassian.jira.projectconfig.contextproviders.ProjectPermissionContextProvider.getContextMap(ProjectPermissionContextProvider.java:83)
at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.initContextMap(CacheableContextProviderDecorator.java:70)
Cause
There is more than one Permission Scheme associated to the project, which is causing this misbehavior.
Resolution
Keep in mind to backup your JIRA instance before proceed!
- Shutdown JIRA.
Run the following SQL query in the JIRA database to find the duplicate Permission Scheme associated to the project:
select p.pname, ps.name from project p , nodeassociation n , permissionscheme ps, n.source_node_id, n.sink_node_id where p.id = n.source_node_id and ps.id = n.sink_node_id and n.sink_node_entity='PermissionScheme';
Delete one of the duplicated associations from your database, replacing SOURCE_NODE_ID and SINK_NODE_ID by the result from the query above (the duplicated entry):
delete from nodeassociation where sink_node_entity='PermissionScheme' and source_node_id = SOURCE_NODE_ID and sink_node_id = SINK_NODE_ID;
- Restart JIRA instance.