Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-69608

NullArgumentException Assertion thrown when navigating to shared dashboard via link when not logged in

    XMLWordPrintable

Details

    Description

      Issue Summary

      Issue is with the introduction gadget on the dashboard for all users who are not yet logged in.
      Clicking on the links from the gadget (links to internal dashboards added to the introduction gadgets) would redirect user to login page, and then reverted him back to linked page. But instead an error 500 is thrown out and the following gets logged in the log:

      2019-05-16 20:56:26,683 http-nio-8080-exec-13 ERROR      [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=45ace43d-bd08-4e1f-9892-beba8d017a96, interpretedMsg=, cause=com.atlassian.jira.util.dbc.Assertions$NullArgumentException: ctx.user should not be null!, stacktrace=com.atlassian.jira.util.dbc.Assertions$NullArgumentException: ctx.user should not be null!
          	at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:25) [jira-api-7.12.3.jar:?]
          	at com.atlassian.jira.sharing.type.ProjectShareTypeValidator.checkSharePermission(ProjectShareTypeValidator.java:45) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.isValidSharePermission(DefaultShareTypeValidatorUtils.java:73) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.hasValidSharePermissions(DefaultShareTypeValidatorUtils.java:54) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.isValidSharePermission(DefaultShareTypeValidatorUtils.java:33) [classes/:?]
          	at com.atlassian.jira.bc.portal.DefaultPortalPageService.checkOwnerShipAndExistenceAndSharePermissions(DefaultPortalPageService.java:561) [classes/:?]
          	at com.atlassian.jira.bc.portal.DefaultPortalPageService.validateForUpdate(DefaultPortalPageService.java:312) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraPermissionService.isWritableBy(JiraPermissionService.java:61) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraPermissionService.isWritableBy(JiraPermissionService.java:69) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraGadgetPermissionManager.filterGadgets(JiraGadgetPermissionManager.java:123) [classes/:?]
      

      Steps to Reproduce

      1. Share a dashboard with a group set as an editor on the dashboard
      2. Copy link to this dashboard into the introduction gadget visible to non logged users
      3. Log out of JIRA
      4. Clic on the link from the introduction gadget navigate

      Expected Results

      User should be redirected to the login page

      Actual Results

      The below exception is thrown in the Jira log file and an error appears on the Web UI:

      2019-05-16 20:56:26,683 http-nio-8080-exec-13 ERROR      [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=45ace43d-bd08-4e1f-9892-beba8d017a96, interpretedMsg=, cause=com.atlassian.jira.util.dbc.Assertions$NullArgumentException: ctx.user should not be null!, stacktrace=com.atlassian.jira.util.dbc.Assertions$NullArgumentException: ctx.user should not be null!
          	at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:25) [jira-api-7.12.3.jar:?]
          	at com.atlassian.jira.sharing.type.ProjectShareTypeValidator.checkSharePermission(ProjectShareTypeValidator.java:45) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.isValidSharePermission(DefaultShareTypeValidatorUtils.java:73) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.hasValidSharePermissions(DefaultShareTypeValidatorUtils.java:54) [classes/:?]
          	at com.atlassian.jira.sharing.DefaultShareTypeValidatorUtils.isValidSharePermission(DefaultShareTypeValidatorUtils.java:33) [classes/:?]
          	at com.atlassian.jira.bc.portal.DefaultPortalPageService.checkOwnerShipAndExistenceAndSharePermissions(DefaultPortalPageService.java:561) [classes/:?]
          	at com.atlassian.jira.bc.portal.DefaultPortalPageService.validateForUpdate(DefaultPortalPageService.java:312) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraPermissionService.isWritableBy(JiraPermissionService.java:61) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraPermissionService.isWritableBy(JiraPermissionService.java:69) [classes/:?]
          	at com.atlassian.jira.dashboard.permission.JiraGadgetPermissionManager.filterGadgets(JiraGadgetPermissionManager.java:123) [classes/:?]
      

      Workaround

      Remove the project group from the shared editor on the dash and update this, the problem goes away and you can navigate to the dashboard anonymously.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tmarchionni@atlassian.com Tiziana Marchionni
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: