Receiving error message stating 'permission.param1 should not be null!' when loading boards shared at the project level

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

When attempting to access the Boards > View All Boards screen within Jira, non-admin users are receiving an error message stating 'permission.param1 should not be null!' and the list of boards will not load.

Diagnosis

Within the atlassian-jira.log file the following exception will be present:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 2022-11-28 11:28:08,240-0500 https-jsse-nio-8443-exec-7 ERROR SPVS5001 688x788654x1 16nvm4 10.27.2.4 /rest/greenhopper/1.0/rapidviews/viewsData [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: permission.param1 should not be null! com.atlassian.jira.util.dbc.Assertions$NullArgumentException: permission.param1 should not be null! at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:25) at com.atlassian.jira.sharing.type.ProjectShareTypePermissionChecker.hasPermission(ProjectShareTypePermissionChecker.java:41) at com.atlassian.jira.sharing.DefaultShareManager.checkPermissionWithRights(DefaultShareManager.java:95) at com.atlassian.jira.sharing.DefaultShareManager.isSharedWith(DefaultShareManager.java:76) at jdk.internal.reflect.GeneratedMethodAccessor1106.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy585.isSharedWith(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor1106.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130) at com.sun.proxy.$Proxy585.isSharedWith(Unknown Source) at com.atlassian.greenhopper.service.rapid.view.RapidViewPermissionServiceImpl.canSeeRapidView(RapidViewPermissionServiceImpl.java:38) at com.atlassian.greenhopper.service.rapid.view.RapidViewServiceImpl.lambda$userSeesRapidView$0(RapidViewServiceImpl.java:229) at com.google.common.collect.Iterators$5.computeNext(Iterators.java:639) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136) at com.google.common.collect.Iterators.addAll(Iterators.java:357) at com.google.common.collect.Lists.newArrayList(Lists.java:147) at com.google.common.collect.Iterables.castOrCopyToCollection(Iterables.java:306) at com.google.common.collect.Iterables.toArray(Iterables.java:295) at com.google.common.collect.Ordering.sortedCopy(Ordering.java:851) at com.atlassian.greenhopper.service.rapid.view.RapidViewServiceImpl.getRapidViews(RapidViewServiceImpl.java:196) at com.atlassian.greenhopper.web.rapid.view.RapidViewListHelper.buildListAndConfigModel(RapidViewListHelper.java:112) at com.atlassian.greenhopper.web.rapid.view.RapidViewListResource$2.call(RapidViewListResource.java:73) at com.atlassian.greenhopper.web.rapid.view.RapidViewListResource$2.call(RapidViewListResource.java:70) at com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:38) at com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:87) at com.atlassian.greenhopper.web.AbstractResource.response(AbstractResource.java:69) at com.atlassian.greenhopper.web.rapid.view.RapidViewListResource.getViewsAndConfigModel(RapidViewListResource.java:70) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) ... 19 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:160) ... 1 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:70) ... 36 filtered at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59) ... 4 filtered at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54) ... 3 filtered at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55) ... 8 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 20 filtered at com.enhancera.auditor.common.filter.RestEventsFilter.doFilter(RestEventsFilter.java:118) ... 26 filtered at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73) ... 3 filtered at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) ... 17 filtered at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66) ... 1 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64) ... 16 filtered at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38) ... 3 filtered at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82) ... 19 filtered at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30) ... 5 filtered at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70) ... 8 filtered at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71) ... 3 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 4 filtered at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) ... 3 filtered at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36) ... 26 filtered at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25) ... 25 filtered at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829)

In addition to this exception, Jira System Administrators will still be able to view the boards as expected.

In addition, the following SQL query can be run to identify if there are any boards configured to share based on the project that have a null value for param1:

1 SELECT sp.id, sr.filtername, sr.description, sp.sharetype, sp.PARAM1 FROM sharepermissions sp inner join searchrequest sr on sp.entityid = sr.id WHERE entitytype='SearchRequest' and shareType='project' and param1 is null;

If this query returns any boards, they will need to be corrected.

Cause

This can occur when a board is configured to share based on the Project, but the column in the database which holds project ID is null.

Solution

To resolve this issue, the param1 column will need to be set within the database directly for the impacted boards.

First it is needed to identify the the project ID which should be set for the board. Based on the query below the system administrator should be able to determine the project this board should be shared with:

1 SELECT sp.id, sr.filtername, sr.description, sp.sharetype, sp.PARAM1 FROM sharepermissions sp inner join searchrequest sr on sp.entityid = sr.id WHERE entitytype='SearchRequest' and shareType='project' and param1 is null;

Be sure to note down the id field that is returned with this query as it will be needed later in the update statement. If there is more than one row return, the steps below will need to be repeated for each row.

Before running any update statements within the Jira database it is strongly recommended to have a full database backup in the unlikely event there is a need to restore.

Using the name of the Project the board should be shared with the following update statement can be run:

1 UPDATE sharepermissions set param1 = (SELECT id FROM project where pname = '<Insert Name of the Project>') where id = < sharepermission ID from the first query>;

⚠️ Be sure to replace the <Insert Name of the Project> section with the actual name of the project the board should be shared with and the < sharepermission ID from the first query> with with the ID field of the row from the first query above

Upon successfully updating all the boards with missing parameters for param1, restart the Jira instance and the issue should be resolved.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.