JIRA throws a 500 Error when updating the user project role

XMLWordPrintable

    • 5.02
    • 20
    • Severity 3 - Minor
    • 1

      Summary

      Unable to edit project roles

      Steps to Reproduce

      1. Create 24 project roles.
      2. Create 451 projects.
      3. Open page "Administration >> Users >> Project roles (for any user)" then edit the project role.
      4. Save the changes.

      Expected Results

      Saving the changes without any error.

      Actual Results

      A 500 error page will be displayed.
      You may find either of the exceptions below in the logs:

      2013-04-25 18:34:15,707 http-bio-6523-exec-14 ERROR      [500ErrorPage.jsp] Exception caught in 500 page null
      java.lang.NullPointerException
      	at com.atlassian.jira.web.action.admin.user.EditUserProjectRoles.updateRoleActorsForProjectRole(EditUserProjectRoles.java:146)
      	at com.atlassian.jira.web.action.admin.user.EditUserProjectRoles.doExecute(EditUserProjectRoles.java:54)
      	at webwork.action.ActionSupport.execute(ActionSupport.java:165)
      	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:82)
      	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
      	at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
      	at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
      	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35)
      	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:221)
      	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:150)
      	at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:153)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:78)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	(...)
      	at java.lang.Thread.run(Thread.java:680)
      
      com.atlassian.jira.util.dbc.Assertions$NullArgumentException: parameter should not be null!
      com.atlassian.jira.util.dbc.Assertions$NullArgumentException: parameter should not be null!
          	at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:29)
          	at com.atlassian.jira.security.roles.actor.UserRoleActorFactory.createRoleActor(UserRoleActorFactory.java:71)
          	at com.atlassian.jira.security.roles.PluginDelegatingRoleActorFactory.createRoleActor(PluginDelegatingRoleActorFactory.java:38)
          	at com.atlassian.jira.bc.projectroles.DefaultProjectRoleService.createRoleActors(DefaultProjectRoleService.java:962)
          	at com.atlassian.jira.bc.projectroles.DefaultProjectRoleService.updateActorsToProjectRole(DefaultProjectRoleService.java:891)
          	at com.atlassian.jira.bc.projectroles.DefaultProjectRoleService.addActorsToProjectRole(DefaultProjectRoleService.java:1207)
          	at com.atlassian.jira.web.action.admin.user.EditUserProjectRoles.updateRoleActorsForProjectRole(EditUserProjectRoles.java:170)
          	at com.atlassian.jira.web.action.admin.user.EditUserProjectRoles.doExecute(EditUserProjectRoles.java:52)
          	at webwork.action.ActionSupport.execute(ActionSupport.java:165)
          	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:87)
          	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
          	(...)
          	at java.lang.Thread.run(Thread.java:722)
      

      Workaround

      1. Backup the server.xml file.
      2. Edit the server.xml file and add the parameter below in the Connector used for JIRA:
        maxParameterCount="-1"
        

        Example:

        <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" maxParameterCount="-1"/>
        
      3. Restart JIRA.

      Source: https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

        1. project-roles-preview.png
          118 kB
          Klaus
        2. project-roles-user.png
          128 kB
          Klaus
        3. project-roles-with-scroll.png
          1.36 MB
          Klaus

            Assignee:
            Unassigned
            Reporter:
            Yilin (Inactive)
            Votes:
            12 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated: