View All Projects return 500 error (com.google.template.soy.tofu.SoyTofuException: In template aui.avatar.avatar: In 'print' tag, expression "$avatarImageUrl" evaluates to undefined.)

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

When clicking on Projects > View All Projects, you run into 500 error with the following details

Technical details
Log's referral number: 574d389e-84a3-4013-aaa3-2bd7a6200434
Cause
Referer URL: http://localhost:8080/6381/secure/admin/IndexAdmin.jspa
com.google.template.soy.tofu.SoyTofuException: In template aui.avatar.avatar: In 'print' tag, expression "$avatarImageUrl" evaluates to undefined.
	com.google.template.soy.tofu.SoyTofuException: In template aui.avatar.avatar: In 'print' tag, expression "$avatarImageUrl" evaluates to undefined.
		at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:341)
		at com.google.template.soy.tofu.internal.BaseTofu.renderMain(BaseTofu.java:300)
		at com.google.template.soy.tofu.internal.BaseTofu.access$100(BaseTofu.java:56)
		at com.google.template.soy.tofu.internal.BaseTofu$RendererImpl.render(BaseTofu.java:427)
		at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:117)
		at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:52)
		at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:45)
		at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:38)
		at com.atlassian.jira.web.tags.SoyTemplateTag.doEndTag(SoyTemplateTag.java:114)
		at org.apache.jsp.secure.views.browser.browseprojects_jsp._jspService(browseprojects_jsp.java:862)
		at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
		at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

原因

Database inconsistencies in the Project table where Avatar of one of the projects is not valid is causing this. However, the cause of the inconsistencies is unknown.

ソリューション

(info) This requires direct database modification so always perform this in a test instance first to make sure everything is working fine before performing it in your production instance
  • Jira を停止します。
  • Run the following query against your database

    select * from project where avatar not in (select id from avatar)
    

    This query checks if there are any projects whose avatar value does not exist in the database

  • If there are any results returned, run the following query

    update project set avatar = 10011 where id = <ID>;
    

    where <ID> is the ID of the project returned from the previour query. For example

    update project set avatar = 10011 where id = 10000;
    

    This changes the avatar value in the database to be the default rocket avatar 

  • Jira を起動します。
  • Perform a re-index if needed

(info) 10011 is the default rocket icon for JIRA 6.3.8. It might differ depending on your JIRA version. To find which is the icon, run the following query

select * from avatar;
Last modified on Mar 30, 2016

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.