Cannot change Global Space Permissions if confluence-users group is deleted

XMLWordPrintable

    • 2
    • Severity 3 - Minor

      Issue Summary

      When managing our Site Administration, we can create and delete groups the way we want. Though, deleting some of the default groups, like the confluence-users, can turn up some weird issues on Confluence.

      Steps to Reproduce

      1. Delete the confluence-users group;
        • Before deleting it, make sure to create a new group, add this group with Product Access and make it the default, so you can remove the confluence-users;
      2. Go to Confluence > Settings > Space Permissions;
      3. Edit the default space permissions;
      4. Uncheck any checkbox and save it.

      Expected Results

      The changes are saved successfully.

      Actual Results

      You are redirected to an error screen saying "_Oops - an error has occurred _" and the changes are not appliable.

      Notes:

      • This error generates a 500 error on the browser console in the endpoint /wiki/admin/permissions/doeditdefaultspacepermissions.action
      • In the logs the below stack trace is shown on this event:
        java.lang.NullPointerException: 
        com.atlassian.confluence.security.administrators.AbstractEditPermissionsAdministrator.applyPermissionChanges(AbstractEditPermissionsAdministrator.java:375)
        com.atlassian.confluence.security.actions.AbstractEditPermissionAction.executeAction(AbstractEditPermissionAction.java:48)
        com.atlassian.confluence.security.actions.EditSpacePermissionDefaultsAction.execute(EditSpacePermissionDefaultsAction.java:50)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.atlassian.confluence.impl.profiling.TimingLogXWorkInterceptor.intercept(TimingLogXWorkInterceptor.java:37)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:58)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.xwork.interceptors.XsrfTokenInterceptor.intercept(XsrfTokenInterceptor.java:100)
        com.atlassian.confluence.xwork.ConfluenceXsrfTokenInterceptor.intercept(ConfluenceXsrfTokenInterceptor.java:39)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.security.interceptors.CaptchaInterceptor.intercept(CaptchaInterceptor.java:42)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.atlassian.confluence.impl.profiling.TimingLogXWorkInterceptor.intercept(TimingLogXWorkInterceptor.java:37)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.validation.MessageHolderInterceptor.intercept(MessageHolderInterceptor.java:36)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.util.LoggingContextInterceptor.intercept(LoggingContextInterceptor.java:44)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.core.CancellingInterceptor.intercept(CancellingInterceptor.java:21)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.xwork.HttpMethodValidationInterceptor.intercept(HttpMethodValidationInterceptor.java:68)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.themes.ThemeContextInterceptor.intercept(ThemeContextInterceptor.java:42)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:63)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.setup.webwork.BootstrapAwareInterceptor.intercept(BootstrapAwareInterceptor.java:21)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.user.actions.UserAwareInterceptor.intercept(UserAwareInterceptor.java:53)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.pages.actions.CommentAwareInterceptor.intercept(CommentAwareInterceptor.java:39)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:66)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:71)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.security.interceptors.ConfluenceAccessInterceptor.intercept(ConfluenceAccessInterceptor.java:31)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.xwork.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:27)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:27)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:38)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
        com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
        com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)...
      • On the site we replicate this bug, before to delete the confluence-users group we get the id, external_id, and directory_id;
      • Creating a new group with the same name doesn't seem to work;
      • Updating the id, external_id, and directory_id on the cwd_group table to the same info as the original group doesn't seem to work too.

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

            Assignee:
            KK (Inactive)
            Reporter:
            Vinicius (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: