Jira Data Center throws NullPointerException when creating new issues or changing project settings

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

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles 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

Symptoms

Trying to create a new issue or modify administer a project results in the following a stacktrace in atlassian-jira.log:

2012-06-16 17:34:55,886 TP-Processor9 ERROR      [500ErrorPage.jsp] Exception caught in 500 page null
java.lang.NullPointerException
	at com.atlassian.jira.issue.fields.IssueTypeSystemField.populateOptionsForProjects(IssueTypeSystemField.java:146)
	at com.atlassian.jira.issue.fields.IssueTypeSystemField.getCreateHtml(IssueTypeSystemField.java:118)
	at com.atlassian.jira.quickedit.rest.api.field.QuickFieldsFactoryImpl.createProjectAndIssueTypeFields(QuickFieldsFactoryImpl.java:188)
	at com.atlassian.jira.quickedit.rest.api.field.QuickFieldsFactoryImpl.getCreateFields(QuickFieldsFactoryImpl.java:57)
	at com.atlassian.jira.quickedit.action.QuickCreateIssue.doDefault(QuickCreateIssue.java:178)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)
	at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)

OR

java.lang.NullPointerException
at com.atlassian.jira.issue.fields.config.manager.IssueTypeSchemeManagerImpl.getIssueTypesForConfigScheme(IssueTypeSchemeManagerImpl.java:292)
at com.atlassian.jira.issue.fields.config.manager.IssueTypeSchemeManagerImpl.getSubTaskIssueTypesForProject(IssueTypeSchemeManagerImpl.java:286)
at sun.reflect.GeneratedMethodAccessor2292.invoke(Unknown Source)


Trying to move issues results in the following a stacktrace in atlassian-jira.log:

2014-07-18 12:16:42,059 catalina-ssl-exec-558 ERROR admin 736x2315550x13 1vp48y6 10.111.96.134 /secure/MoveIssue.jspa [jira.plugin.actions.Move
Ext] Exception: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: config should not be null!
com.atlassian.jira.util.dbc.Assertions$NullArgumentException: config should not be null!
at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:28)
at com.atlassian.jira.issue.fields.option.CachedOptionSetManager.getOptionsForConfig(CachedOptionSetManager.java:50)
at com.atlassian.jira.issue.fields.IssueTypeSystemField.getOptionsForConfig(IssueTypeSystemField.java:633)
at com.atlassian.jira.issue.fields.IssueTypeSystemField.getOptionsForConfig(IssueTypeSystemField.java:628)
at com.atlassian.jira.issue.fields.IssueTypeSystemField.getOptionsForIssue(IssueTypeSystemField.java:623)
at com.atlassian.jira.issue.fields.IssueTypeSystemField.validateParams(IssueTypeSystemField.java:378)
at com.atlassian.jira.web.action.issue.MoveIssue.doValidation(MoveIssue.java:171)
at webwork.action.ActionSupport.validate(ActionSupport.java:391)
at webwork.action.ActionSupport.execute(ActionSupport.java:162)
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)

Cause

  • Jira's Default Issue Type Scheme has somehow become corrupted in the database. The root cause for this is still unknown.
  • Third-party add-on causing this NPE

Diagnosis and Resolution

First, we need to get the default issue type scheme ID with this query:

SELECT ps.propertyvalue
FROM propertyentry pe
JOIN propertystring ps ON pe.id=ps.id
WHERE property_key = 'jira.scheme.default.issue.type';

Then we run all the suggested SQL Checks and Resolutions below in order to solve the problem. Remember to replace <DEFAULT_SCHEME_ID> by the actual ID from the query above (for example, 10000).

Check 1:

SELECT * FROM fieldconfiguration WHERE id =<DEFAULT_SCHEME_ID> AND fieldid = 'issuetype';

This should always return 1 row, meaning that there is a "Default Issue Type Scheme" and "Default Configuration for Issue Type" with the same id.

If this returns no rows, additional modifications must be done to the database than the ones mentioned on this documentation.

Resolution 1:

Contact Support as this documentation does not apply and the fix requires personalized assistance.
Do not continue with additional checks.

Check 2:

SELECT * FROM configurationcontext WHERE customfield = 'issuetype' AND project IS NULL AND fieldconfigscheme = <DEFAULT_SCHEME_ID>;

If it returns no rows, then this article is applicable as it indicates the default association is not present.

Resolution 2:  

Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.

INSERT INTO configurationcontext VALUES ((SELECT MAX(id)+1 FROM configurationcontext),NULL,NULL,'issuetype',<DEFAULT_SCHEME_ID>);

Continue with Check 3

Check 3:

SELECT * FROM fieldconfigschemeissuetype WHERE id = 10100 OR fieldconfigscheme IN (SELECT id FROM fieldconfiguration WHERE id = <DEFAULT_SCHEME_ID>);

If this returns no rows, then this article is applicable as it indicates there is no link between the "Default Issue Type Scheme" and "Default Configuration for Issue Type".

Resolution 3:

Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.

INSERT INTO fieldconfigschemeissuetype VALUES (10100,null,(SELECT id FROM fieldconfiguration WHERE id = <DEFAULT_SCHEME_ID> AND fieldid = 'issuetype'),(SELECT id FROM fieldconfiguration WHERE id = <DEFAULT_SCHEME_ID> AND fieldid = 'issuetype'));

JIRA must be restarted for caches to be recreated with the modified data.

Check 4:

If the queries above return results as expected, need to check the error stack trace, as this might be triggered by a third-party add-on.

p.e.:

http-nio-8080-exec-183 ERROR      [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
	at com.atlassian.jira.issue.fields.IssueTypeSystemField.populateOptionsForProjects(IssueTypeSystemField.java:166)
	at com.atlassian.jira.issue.fields.IssueTypeSystemField.getCreateHtml(IssueTypeSystemField.java:140)
	at com.atlassian.jira.issue.fields.rest.FieldHtmlFactoryImpl.createField(FieldHtmlFactoryImpl.java:116)
..
....
at com.develocenter.jira.extschemes.web.filter.DisableNewEntitiesFilter.doFilter(DisableNewEntitiesFilter.java:55)
	... 3 filtered
	at com.develocenter.jira.extschemes.web.filter.JIRALinkFilter.doFilter(JIRALinkFilter.java:70)
	... 36 filtered

In this case, the add-on "Extended Schemes for JIRA" from "Develocenter" vendor was causing the issue, after disabling the add-on, issue creation is working as expected.

Resolution 4:

Disable the add-on, if the issue is gone after disabling it, contact the add-on vendor for further information.


Last modified on Feb 24, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.