Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-8868

Userlister plugin causes NullPointerException

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 2.5.5
    • 2.5.4
    • None
    • Confluence 2.5.4, Sun JDK 1.6, Linux/i686, Resin Professional 3

    Description

      When using the User Lister Macro to display group that doesn't exists, an unhandled null pointer exception will be raised in com.atlassian.user.search.page.PagerUtils.toList() method. Example wiki markup to trigger the bug:

      {userlister:groups=nosuchgroup}

      On the rendered wiki page, the macro is expanded to the error message:

      Error formatting macro: userlister: java.lang.NullPointerException

      Relevant parts of the stack trace:

      [15:40:13.959] 2007-07-09 15:40:13,955 ERROR [resin-tcp-connection-*:7811-13] [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: userlister
      [15:40:13.959] – url: /wiki-devel/display/SAND/Home | userName: tj | action: viewpage | page: 268
      [15:40:13.959] java.lang.NullPointerException
      [15:40:13.959] at com.atlassian.user.search.page.PagerUtils.toList(PagerUtils.java:25)
      [15:40:13.959] at com.atlassian.confluence.extra.userlister.model.UserList.getGroupUsers(UserList.java:91)
      [15:40:13.959] at com.atlassian.confluence.extra.userlister.model.UserList.build(UserList.java:39)
      [15:40:13.959] at com.atlassian.confluence.extra.userlister.UserLister.execute(UserLister.java:79)
      [15:40:13.959] at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
      [15:40:13.959] at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:340)
      [15:40:13.959] at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:241)
      [15:40:13.959] at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:130)
      [15:40:13.959] at com.atlassian.renderer.v2.components.MacroRendererComponent.handlePotentialMacro(MacroRendererComponent.java:115)
      [15:40:13.959] at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:77)
      [15:40:13.959] at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:54)
      [15:40:13.959] at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
      [ .... ]

      The method com.atlassian.user.search.page.PagerUtils.toList() should check that the Pager argument is not null before invoking methods of the object and either return null if the argument was null or throw an IllegalArgumentException (in which case the possible errors should be avoided by checking the nullness of the argument in each instances where com.atlassian.user.search.page.PagerUtils.toList() is invoked prior the invocation). See the attached patch.

      Attachments

        Activity

          People

            Unassigned Unassigned
            744135a9a5ef Tuomas Jormola
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: