Plan Failing to Load with 500 error

Still need help?

The Atlassian Community is here for you.

Ask the community


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

     

Summary


When attempting to load a plan, user gets a 500 error:

Environment

Advanced Roadmaps for Jira (Data Center/Server)

Diagnosis

In the application-jira.log, it shows the errors:

2022-02-25 01:02:17,456+0000 http-nio-8080-exec-80 url: /internal-error ERROR      [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=7a29f4f0-bd97-47e3-b236-01b2eafeb06e, interpretedMsg=, cause=java.lang.NullPointerException, stacktrace=java.lang.NullPointerException
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877) [guava-26.0-jre.jar:?]
        at com.google.common.collect.SingletonImmutableSet.<init>(SingletonImmutableSet.java:44) [guava-26.0-jre.jar:?]
        at com.google.common.collect.ImmutableSet.of(ImmutableSet.java:85) [guava-26.0-jre.jar:?]
        at com.google.common.collect.ImmutableSet.construct(ImmutableSet.java:171) [guava-26.0-jre.jar:?]
        at com.google.common.collect.ImmutableSet.copyOf(ImmutableSet.java:212) [guava-26.0-jre.jar:?]
        at com.google.common.collect.ImmutableSet.copyOf(ImmutableSet.java:229) [guava-26.0-jre.jar:?]
        at com.atlassian.rm.jpo.core.plan.data.DefaultDeepPlan.create(DefaultDeepPlan.java:107) [?:?]
        at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.createDeepPlanFromTuple(QueryDslPlanPersistence.java:974) [?:?]
        at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.lambda$get$18(QueryDslPlanPersistence.java:839) [?:?]
        at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.lambda$run$0(DefaultDatabaseProvider.java:24) [?:?]
        at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.lambda$execute$0(JiraDatabaseProvider.java:34) [?:?]
        at com.atlassian.rm.common.bridges.jira.persistence.JiraDatabaseProviderBridgeImpl.execute(JiraDatabaseProviderBridgeImpl.java:59) [?:?]
        at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute(JiraDatabaseProvider.java:34) [?:?]
        at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run(DefaultDatabaseProvider.java:24) [?:?]
        at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.get(QueryDslPlanPersistence.java:716) [?:?]
        at com.atlassian.rm.jpo.core.plan.DefaultPlanService.getPlan(DefaultPlanService.java:396) [?:?]
        at com.atlassian.rm.jpo.core.plan.DefaultPlanService.getPlan(DefaultPlanService.java:404) [?:?]
        at com.atlassian.rm.jpo.plugin.views.plan.common.CachedPlanInformationComponent.load(CachedPlanInformationComponent.java:71) [?:?]
        at com.atlassian.rm.jpo.plugin.views.plan.view.standard.PlanView.execute(PlanView.java:127) [?:?]
        at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39) [webwork-1.4-atlassian-30.jar:?]
        at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31) [webwork-1.4-atlassian-30.jar:?]
        at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16) [webwork-1.4-atlassian-30.jar:?]
        at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35) [webwork-1.4-atlassian-30.jar:?]
        at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225) [webwork-1.4-atlassian-30.jar:?]
        at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154) [webwork-1.4-atlassian-30.jar:?]
        at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:139) [classes/:?]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?]

In the HAR file, the HTTP response shows:

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Es ist ein Fehler aufgetreten</title><script type="text/javascript">contextPath = "";</script><link type='text/css' rel='stylesheet' href='/static-assets/metal-all.css' media='all'><script src='/static-assets/jquery-min.js'></script><script src='/static-assetsx" contentEditable readonly><h2>Technische Details</h2><p x: <strong id="log-referral-id">41094378-f0f0-430f-8019-cba00f4dbcc9</strong></p><div class="info-section" id="causePanel"><h2>Ursache</h2><p>Verweiser-URL: <b>BASEURL?permissionViolation=true&os_destination=%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D14%26sid%3D14&page_caps=&user_role=</b></p><pre>java.lang.NullPointerException</pre><blockquote id="stacktrace" style="overflow-x: auto;"><pre>java.lang.NullPointerException
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:903) [guava-32.1.1-jre.jar:?]
	at com.google.common.collect.SingletonImmutableSet.<init>(SingletonImmutableSet.java:40) [guava-32.1.1-jre.jar:?]
...
	at com.atlassian.rm.jpo.core.plan.data.DefaultDeepPlan.create(DefaultDeepPlan.java:107) [?:?]
	at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.createDeepPlanFromTuple(QueryDslPlanPersistence.java:974) [?:?]
	at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.lambda$get$18(QueryDslPlanPersistence.java:839) [?:?]
	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.lambda$run$0(DefaultDatabaseProvider.java:24) [?:?]
	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.lambda$execute$0(JiraDatabaseProvider.java:34) [?:?]
	at com.atlassian.rm.common.bridges.jira.persistence.JiraDatabaseProviderBridgeImpl.execute(JiraDatabaseProviderBridgeImpl.java:59) [?:?]
	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute(JiraDatabaseProvider.java:34) [?:?]
	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run(DefaultDatabaseProvider.java:24) [?:?]
	at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.get(QueryDslPlanPersistence.java:716) [?:?]


Cause

The database table, AO_D9132D_EXCLUDED_STATUSES, is missing data in the STATUS column. Example:

ID | PLAN_ID | STATUS
------------------
1 | 3 | 10001
2 | 6 | 10100
3 | 9 |
  • Accessing plan 9 will result in error

After a migration from Atlassian Cloud, the column STATUS_ID instead of STATUS. The same database table may look something like this:

ID | PLAN_ID | STATUS_ID | STATUS
---------------------------------
1 | 3 | 10001 |
2 | 6 | 10100 |
3 | 9 | 10300 |
  • In this case, STATUS column is empty and instead we see data in STATUS_ID
  • All plans listed will result in error until the data is moved to the correct column.

Solution

  1. Update the database and set and ID into the STATUS column.
    1. Any existing ID for status is fine as this will later be fixed via the GUI.
  2. Access the Plan Exclusion Rules via https://BASEURL/secure/PortfolioPlanView.jspa?id=PLAN_ID#settings/setExclusionRules
    1. Replace BASEURL to your Jira Base URL.
    2. Replace PLAN_ID in the URL to the plan id that has the problem before copy and paste it in the web browser. 
      1. To find the plan id, check the Plan URL that get the errors. For example, https://BASEURL/jira/secure/PortfolioPlanView.jspa?id=9&sid=20 (9 is the plan id)
  3. In the "Excluded Statuses" section, update the statuses to exclude the proper statuses
    1. Take a screenshot of the existing exclusion rules for you to take note and reconfigure later.
    2. Remove all the existing rules.
    3. Update the statuses to exclude the proper statuses.
    4. Refresh the page.
    5. Try access the plan again.
  • This should be updated to show:

    ID | PLAN_ID | STATUS_ID | STATUS
    ---------------------------------
    1 | 3 | 10001 | 10001
    2 | 6 | 10100 | 10100
    3 | 9 | 10300 | 10300


Last modified on May 31, 2024

Was this helpful?

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