All Workflows are missing in Workflow section under 'Issues' tab from Jira Administration
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
Navigate to Administration → 'Issue' tab → Workflow shows blank page as shown in the screenshot below.

Diagnosis
Navigate to Jira Administration → 'Issues' tab → Workflow, page shows blank with no workflow displayed. Below error is observed in atlassian-jira.log.
1
2
3
4
5
6
7
8
9
10
11
12
2020-07-07 06:19:04,859 http-nio-8090-exec-153 ERROR thanos 379x4700054x1 1cr8dym 52.172.206.158,172.21.65.241 /secure/admin/workflows/ListWorkflows.jspa [webwork.util.ValueStack] query="activeWorkflows/empty" {[id="activeWorkflows" type="8" values=""]} {[id="empty" type="8" values=""]}
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
...
...
Caused by: com.atlassian.cache.CacheException: java.lang.RuntimeException: com.opensymphony.workflow.FactoryException: Error converting XML to workflow descriptor.: root cause: Attribute "name" is required and must be specified for element type "step". (line:307 col:18)
at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:217)
at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:168)
at com.atlassian.jira.workflow.CachingWorkflowDescriptorStore.getWorkflow(CachingWorkflowDescriptorStore.java:64)
Cause
In Jira database, details of the workflow are stored in table: 'jiraworkflows'.
1
2
3
4
5
6
7
8
9
10
11
XXXX=# \d jiraworkflows;
Table "public.jiraworkflows"
Column | Type | Collation | Nullable | Default
--------------+------------------------+-----------+----------+---------
id | numeric(18,0) | | not null |
workflowname | character varying(255) | | |
creatorname | character varying(255) | | |
descriptor | text | | |
islocked | character varying(60) | | |
Indexes:
"pk_jiraworkflows" PRIMARY KEY, btree (id)
jiraworkflows table has a column called 'descriptor' which stores the Workflow in XML format. When User (with administrator permission) tries to access the Workflow from 'Issue' tab in administration section, XML data present in 'descriptor' column of each workflow is processed and the list of Workflows is displayed on the page. If the XML data present in 'descriptor' column has missing entry or is incomplete or corrupted then Jira fails to load the list of Workflows and due to this, no workflow is displayed on ListWorkflows.jspa page. The cause of XML data corruption could be due to
XML Restore from a Corrupt XML backup
XML Restore completed with Error
Importing a corrupt Workflow
Solution
Find the corrupt workflow from the jiraworkflow table and delete the respective row from the table
Enable SQL DEBUG in Jira and reproduce the issue by navigating to Administration → 'Issue' tab → Workflow
SQL DEBUG will capture SQL queries executed against Database by Jira. Search for the lines having following keywords
/secure/admin/views/workflow/listworkflows.jsp
SELECT ID, workflowname, creatorname
The line will have the 'Problematic' Workflow name in WHERE condition.
In Linux, 'Problematic' Workflow can be found in atlassian-jira-sql.log using below script:
1 2
cd <jira_home>/log/ grep -i "/secure/admin/views/workflow/listworkflows.jsp" atlassian-jira-sql.log |less |grep -i "SELECT ID, workflowname, creatorname" atlassian-jira-sql.log | awk -F"WHERE" '{ print $2 }' | sort --unique
Example
1 2
XXXX@multiverse log % grep -i "/secure/admin/views/workflow/listworkflows.jsp" atlassian-jira-sql.log.1 |less |grep -i "SELECT ID, workflowname, creatorname" atlassian-jira-sql.log.1 | awk -F"WHERE" '{ print $2 }' | sort --unique workflowname='classic default workflow'"
Take a backup of Jira Database
Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.
Stop Jira service
Run following DB query to delete the workflow from database
1
DELETE FROM jiraworkflows WHERE workflowname='<name of the workflow>';
Example
1
DELETE FROM jiraworkflows WHERE workflowname='classic default workflow'
Start Jira service
If the deleted workflow is used by Projects, then either import the same workflow from Jira backup or manually create the Workflow to ensure the Projects using workflow are not impacted.
Was this helpful?