Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Problem
In a Service Desk, when going to Settings > Automation
, the screen freezes and then throws an Internal Server Error with 500 HTTP Status Code.
The following appears in the atlassian-jira.log
2015-06-22 15:48:36,787 http-bio-8435-exec-11 ERROR admin 948x1772x1 1n761vc 192.168.10.10 /rest/servicedesk/automation/1/pages/settings/automation/TST [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: java.lang.NullPointerException: null value com.atlassian.cache.CacheException: java.lang.NullPointerException: null value at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:322) at com.atlassian.servicedesk.plugins.automation.internal.configuration.ruleset.RuleSetManagerImpl.getAllActiveRuleSets(RuleSetManagerImpl.java:153) at com.atlassian.servicedesk.plugins.automation.internal.configuration.ruleset.RuleSetManagerImpl.getActiveRuleSetsByProject(RuleSetManagerImpl.java:137) at com.atlassian.servicedesk.plugins.automation.internal.configuration.ruleset.RuleSetServiceImpl.getActiveRuleSetsByProject(RuleSetServiceImpl.java:144) at com.atlassian.servicedesk.plugins.automation.internal.configuration.ruleset.RuleSetServiceImpl.getActiveRuleSetsByProject(RuleSetServiceImpl.java:152) at com.atlassian.servicedesk.plugins.automation.internal.rest.AutomationSettingsPageResource.getAutomationPage(AutomationSettingsPageResource.java:99) <+3> (NativeMethodAccessorImpl.java:57) (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) <+18> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+16> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.RedirectExternalCustomerToPortalFilter.doFilter(RedirectExternalCustomerToPortalFilter.scala:18) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.plugins.cors.CorsFilter.doFilter(CorsFilter.java:65) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+21> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:107) (AccessLogFilter.java:91) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:90) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (CommittedResponseHtmlErrorRecoveryFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+9> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractJohnsonFilter.java:71) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+10> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:56) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+40> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:45) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:61) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Cause
There is a NULL value in one or more of the Service Desk tables. In this case, since the problem is with the Automation functionality provided by JIRA Service Desk, check the tables below:
- AO_9B2E3B_EXEC_RULE_MSG_ITEM
- AO_9B2E3B_IF_CONDITION_CONFIG
- AO_9B2E3B_IF_COND_CONF_DATA
- AO_9B2E3B_IF_COND_EXECUTION
- AO_9B2E3B_IF_EXECUTION
- AO_9B2E3B_IF_THEN
- AO_9B2E3B_IF_THEN_EXECUTION
- AO_9B2E3B_PROJECT_USER_CONTEXT
- AO_9B2E3B_RSETREV_PROJ_CONTEXT
- AO_9B2E3B_RSETREV_USER_CONTEXT
- AO_9B2E3B_RULE
- AO_9B2E3B_RULESET
- AO_9B2E3B_RULESET_REVISION
- AO_9B2E3B_RULE_EXECUTION
- AO_9B2E3B_THEN_ACTION_CONFIG
- AO_9B2E3B_THEN_ACT_CONF_DATA
- AO_9B2E3B_THEN_ACT_EXECUTION
- AO_9B2E3B_THEN_EXECUTION
- AO_9B2E3B_WHEN_HANDLER_CONFIG
- AO_9B2E3B_WHEN_HAND_CONF_DATA
You can run the following SQL queries in order to find any rows with a null value.
Select * from "AO_9B2E3B_EXEC_RULE_MSG_ITEM" where "ID" is null or "RULE_EXECUTION_ID" is null or "RULE_MESSAGE_KEY" is null or "RULE_MESSAGE_VALUE" is null; Select * from "AO_9B2E3B_PROJECT_USER_CONTEXT" where "ID" is null or "PROJECT_ID" is null or "STRATEGY" is null or "USER_KEY" is null; Select * from "AO_9B2E3B_RULE_EXECUTION" where "EXECUTOR_USER_KEY" is null or "FINISH_TIME_MILLIS" is null or "ID" is null or "OUTCOME" is null or "RULE_ID" is null or "START_TIME_MILLIS" is null; Select * from "AO_9B2E3B_IF_COND_EXECUTION" where "FINISH_TIME_MILLIS" is null or "ID" is null or "IF_CONDITION_CONFIG_ID" is null or "IF_EXECUTION_ID" is null or "OUTCOME" is null or "START_TIME_MILLIS" is null; Select * from "AO_9B2E3B_IF_COND_CONF_DATA" where "CONFIG_DATA_KEY" is null or "CONFIG_DATA_VALUE" is null or "ID" is null or "IF_CONDITION_CONFIG_ID" is null; Select * from "AO_9B2E3B_IF_CONDITION_CONFIG" where "ID" is null or "IF_THEN_ID" is null or "MODULE_KEY" is null or "ORDINAL" is null; Select * from "AO_9B2E3B_IF_EXECUTION" where "FINISH_TIME_MILLIS" is null or "ID" is null or "IF_THEN_EXECUTION_ID" is null or "OUTCOME" is null or "START_TIME_MILLIS" is null; Select * from "AO_9B2E3B_RULESET_REVISION" where "CREATED_BY" is null or "CREATED_TIMESTAMP_MILLIS" is null or "DESCRIPTION" is null or "ID" is null or "NAME" is null or "RULE_SET_ID" is null or "TRIGGER_FROM_OTHER_RULES" is null; Select * from "AO_9B2E3B_WHEN_HAND_CONF_DATA" where "CONFIG_DATA_KEY" is null or "CONFIG_DATA_VALUE" is null or "ID" is null or "WHEN_HANDLER_CONFIG_ID" is null; Select * from "AO_9B2E3B_THEN_ACTION_CONFIG" where "ID" is null or "IF_THEN_ID" is null or "MODULE_KEY" is null or "ORDINAL" is null; Select * from "AO_9B2E3B_THEN_ACT_CONF_DATA" where "CONFIG_DATA_KEY" is null or "CONFIG_DATA_VALUE" is null or "ID" is null or "THEN_ACTION_CONFIG_ID" is null; Select * from "AO_9B2E3B_RULE" where "ID" is null or "ORDINAL" is null or "RULESET_REVISION_ID" is null; Select * from "AO_9B2E3B_RSETREV_PROJ_CONTEXT" where "ID" is null or "PROJECT_ID" is null or "RULESET_REVISION_ID" is null; Select * from "AO_9B2E3B_IF_THEN" where "ID" is null or "ORDINAL" is null or "RULE_ID" is null; Select * from "AO_9B2E3B_WHEN_HANDLER_CONFIG" where "ID" is null or "MODULE_KEY" is null or "ORDINAL" is null or "RULE_ID" is null; Select * from "AO_9B2E3B_RSETREV_USER_CONTEXT" where "ID" is null or "RULESET_REVISION_ID" is null or "STRATEGY" is null or "USER_KEY" is null; Select * from "AO_9B2E3B_IF_THEN_EXECUTION" where "FINISH_TIME_MILLIS" is null or "ID" is null or "IF_THEN_ID" is null or "OUTCOME" is null or "RULE_EXECUTION_ID" is null or "START_TIME_MILLIS" is null; Select * from "AO_9B2E3B_RULESET" where "ACTIVE_REVISION_ID" is null or "ID" is null; Select * from "AO_9B2E3B_THEN_EXECUTION" where "FINISH_TIME_MILLIS" is null or "ID" is null or "IF_THEN_EXECUTION_ID" is null or "OUTCOME" is null or "START_TIME_MILLIS" is null; Select * from "AO_9B2E3B_THEN_ACT_EXECUTION" where "FINISH_TIME_MILLIS" is null or "ID" is null or "OUTCOME" is null or "START_TIME_MILLIS" is null or "THEN_ACTION_CONFIG_ID" is null or "THEN_EXECUTION_ID" is null;
Workaround
- Navigate to Administration > Add-ons > Manage add-ons page
- Locate JIRA Service Desk plugin, then disable and re-enable it
- Verify whether the problem persist. If it is, proceed to Workaround #2
Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.
- Identify which table has the NULL value.
- UPDATE the table to include the value needed.
- Restart JIRA