No Bamboo charts produced

お困りですか?

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

コミュニティに質問

症状

Bamboo fails to generate charts and the following appears in the atlassian-bamboo.log:

2014-04-23 13:00:20,863 ERROR [http-bio-8085-exec-23] [runtime] Expression chart is undefined on line 4, column 144 in fragments/charts/reportChart.ftl.
Expression chart is undefined on line 4, column 144 in fragments/charts/reportChart.ftl.
The problematic instruction:
----------
==> ${chart.imageMapName} [on line 4, column 142 in fragments/charts/reportChart.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression chart is undefined on line 4, column 144 in fragments/charts/reportChart.ftl.
	at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
	at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
	at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
	at freemarker.core.Expression.getStringValue(Expression.java:93)
	at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
	at freemarker.core.Environment.visit(Environment.java:210)
	at freemarker.core.MixedContent.accept(MixedContent.java:92)
	at freemarker.core.Environment.visit(Environment.java:210)
	at freemarker.core.Environment.process(Environment.java:190)
	at freemarker.template.Template.process(Template.java:289)
	at freemarker.template.Template.process(Template.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)
2014-04-23 13:00:21,301 INFO [http-bio-8085-exec-11] [AccessLogFilter] 0:0:0:0:0:0:0:1 GET http://bamboo.yourcompany.com/chart?filename= 29718kb
2014-04-23 13:00:21,305 ERROR [http-bio-8085-exec-11] [FiveOhOh] 500 Exception was thrown.
javax.servlet.ServletException: Chart image not found
	at org.jfree.chart.servlet.DisplayChart.service(DisplayChart.java:149)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
	at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
	at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
	at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)

診断

Locate your Java installation path, and run the following command:

find /path/to/java/jdk1.7.0_25 -name '*.so' |xargs ldd

A list of libraries will not be found. These are among them:

libcairo.so.2 => not found
libfontconfig.so.1 => not found
libfreetype.so.6 => not found
libgcc_s.so.1 => not found
libgdk_pixbuf-2.0.so.0 => not found
libgdk-x11-2.0.so.0 => not found
libgio-2.0.so.0 => not found
libglib-2.0.so.0 => not found
libGL.so.1 => not found
libgmodule-2.0.so.0 => not found
libgobject-2.0.so.0 => not found
libgstreamer-lite.so => not found
libgthread-2.0.so.0 => not found
libgtk-x11-2.0.so.0 => not found
libmawt.so => not found
libpango-1.0.so.0 => not found
libpangocairo-1.0.so.0 => not found
libpangoft2-1.0.so.0 => not found
libstdc++.so.6 => not found
libX11.so.6 => not found
libXext.so.6 => not found
libXi.so.6 => not found
libxml2.so.2 => not found

原因

An JDK distribution was downloaded from Oracle website, not from Yum or RPM, and was installed in a headless server profile. That's why it's missing all the required dependencies.

ソリューション

All font libraries (not present on headless servers) have to be in place to render charts.

The easiest way to resolve this is to install a non-headless JRE distribution package or a packaged JDK on the server (even if it won't be used). This will put all dependencies in place. In most cases, installing a JDK from Yum EPEL repository, then updating JAVA_HOME fixes this problem.

The other option is to keep installing packages until (almost) all libraries marked as not found are available.

Last modified on Mar 30, 2016

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

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